11 2013 档案
摘要:软件的自动更新一般都与Splash界面绑定在一起, 由于需要维护的软件界面很复杂, 一个Activity中嵌入ViewPager, 并且逻辑比较复杂, 索性重新写一个Activity, 现在的软件都很流行使用Splash界面, 正好与自动更新配套在一起;
在这个自动更新Splash中, 使用到了 动画设置 ,SharedPerference ,pull解析 ,dialog对话框 ,http网络编程 ,handler 等.
阅读全文
摘要:ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,
原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,
要改变这种情况,只需要调用
阅读全文
摘要:使用一些浏览器或者输入法应用时会有一些手势操作,还可以自定义手势。这些神奇的操作是怎么做的呢?这一篇重点记录手势的识别和创建。这篇的内容使用到的是android.gesture包,具体的例子参考的是Sample中GestureBuilder程序。
阅读全文
摘要:目前很多应用已经实现了摇一摇功能,这里通过讲解该功能的原理及实现回顾一下加速度传感器的使用:
阅读全文
摘要:有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮播器里的图片使用Button而不用ImageView?等等……对于这些问题,我并没有给出非常详细的回答,因为我知道如果想要彻底搞明白这些问题,掌握Android事件分发机制是必不可少的,而Android事件分发机制绝对不是三言两语就能说得清的。
阅读全文
摘要:Android API 3时引进了AsyncTask,也叫异步任务。使用它可以很方便的更新主线程中的UI,使用它比Handler、Thread更简单。由于AsyncTask是抽象类,要使用它首先要创建子类继承它。创建子类时需要三个泛型参数
Params 调用execute时传入的参数,
Progress 需要显示的进度信息
Result 任务执行完毕后doInBackground的返回值
看下使用AsyncTask控制进度条的效果
阅读全文
摘要:// 1.设置幕后item的缓存数目
viewPager.setOffscreenPageLimit(3);
// 2.设置页与页之间的间距
viewPager.setPageMargin(10);
// 3.将父类的touch事件分发至viewPgaer,否则只能滑动中间的一个view对象
container.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return viewPager.dispatchTouchEvent(event);
}
});
阅读全文
摘要:现在Fragment的应用真的是越来越广泛了,之前Android的3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到Fragment了,今天我们就来学习其中一个特别棒的应用技巧。
阅读全文
摘要:Android系统下有四种数据的存在形式,分别是SQLite,SharePreference,File,ContentProvider。
一:特性介绍:
SQLite:对于大多数开发者而言,这应该是大家非常熟悉的数据存储方式了吧。我就不多做介绍了。
在Android中使用SQLite进行数据存取也不复杂:与以前我们做的java不同的是,Android中需要一个处理类SQLiteOpenHelper。
下面我们通过一个简单的事例代码来说明。
阅读全文
摘要:Android系统支持几种图片(.png (preferred), .jpg (acceptable), .gif (discouraged)), 其中Bitmap位图#ffffffff,包括图片透明度Alpha和RGB,图片质量很好,每一个像素位占4个字节,如果图片很大将会占据很大的内存空间。存储在SDCard的image很小,加载进内存可能就会很大。因此,对bitmap图像进行操作,应该特别小心,可能出现内存溢出问题。为此对于大图片,应该引入该图片的二次采样生成缩略图。
阅读全文
摘要:Google为Android平台开发Web Service客户端提供了ksoap2-android项目,在这个网址下载开发包http://code.google.com/p/ksoap2-android/source/browse/m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/3.1.0/ksoap2-android-assembly-3.1.0-jar-with-dependencies.jar
使用 kspoap2-android调用webserice操作的步骤如下:
1、创建HttpTransportSE传输对象 传入webservice服务器地址
final HttpTransportSE httpSE = new HttpTransportSE(SERVER_URL);
2、 创建SoapObject对象,创建该对象时需要传入所要调用Wb Service的命名空间、Web Service方法名;如果有参数要传给Web Service服务器,调用SoapObject对
阅读全文
摘要:Google为Android平台开发Web Service客户端提供了ksoap2-android项目,在这个网址下载开发包http://code.google.com/p/ksoap2-android/source/browse/m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/3.1.0/ksoap2-android-assembly-3.1.0-jar-with-dependencies.jar
使用 kspoap2-android调用webserice操作的步骤如下:
1、创建HttpTransportSE传说对象 传入webservice服务器地址
final HttpTransportSE httpSE = new HttpTransportSE(SERVER_URL);
2、 创建SoapObject对象,创建该对象时需要传入所要调用Wb Service的命名空间、Web Service方法名;如果有参数要传给Web Service服务器,调用SoapObject对
阅读全文
摘要:android Jni NDK开发环境搭建及其简单实例的编写
由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下。遇到了些问题,然后总结下学习过程中的问题和开发流程
阅读全文
摘要:前面一篇文章写了实现照相功能的一个例子,其实那个实现效果是个略缩图。要查看全图就要先指定照片的存放路径。以后我会修改那个文章。今天先说下图片,文件等上传的实现。接着拿照片说事,光照完了不行还得往服务器上传。
阅读全文
摘要:Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。
阅读全文
摘要:这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。那如何使用它呢,与LisstView类似,我们也需要一个适配器,他就是PagerAdapter。
阅读全文
摘要:使用Tile地图,看过andengine中的例子,都会发现例子中有这么一段话,以前版本的是convertLocalToSceneCoordinates方法。
对于“注1”中的话,始终没有理解这里为什么写16,1,看上面的英文注释,表达很清楚,就是转换成屏幕坐标。
可能是原来没有用过引擎,理解能力偏低。始终没有理解这里填写16,1是怎么来的,这两个数字是随便写的还是怎么计算出来的。看里面的算法,也没什么疑问。
于是网上找资料,上andengine论坛,看着一篇篇的英文帖子,越看越模糊,数字五花八门,没有任何规律。
阅读全文
摘要:先是搜索了一下,在manifest里添加
有了这个权限就可以读取上网记录和书签了。开始时我以为只有上网记录,但是明显bookmarks是表示书签啊。而书签一般是没有时间这个内容的。所以对query语句进行了修改,添加搜索限制条件。
阅读全文
摘要:android的Viewpager 的各种经常的用法,朋友问我要过,所以就稍微总结一下,
ViewPager + Fragment 经常用到 代码是从 actionbarsherlock 中提取出来的,这个效果都知道是 滑动来切换的。直接上代码了
在这里简单说明一下 FragmentStatePagerAdapter 和 FragmentPagerAdapter
2个adapter
第一种 fragment状态adapter - 在当前只会存在 前1个fragment 当前 fragment 和 下1个 fragment 其他销毁 ,适合加载多数据
第二种 FragmentPagerAdapter - 全部存在,所以不太适合加载 大量的数据 如图片什么的,很容易内存溢出。
阅读全文
摘要:在Android1.6之后添加了TextToSpeech,也叫TTS,把相应的文字转化成语音播报,增强了用户体验。可以根据语言播报
阅读全文
摘要:ListView组件在应用程序中可以说是不可或缺的一部分,ListView主要是显示列表数据,同时可以滚动查看,这篇博客主要是对ListView的基本用法进行说明,后面会依次对ListView点击动态加载,上拉加载,下拉刷新,异步获取网络图片进行显示等几个在应用中常用到的功能来进行讲解。
阅读全文
摘要:前面说到了画图,其实更好的就是使用 surfaceView了。
surfaceView 继承于 View,View里面嵌套了一个专门用于画图的 surface,
对于一个View的onDraw()方法,不能够满足将其移动到后台线程中去。因为从后台线程修改一个GUI元素会被显式地禁止的。当需要快速地更新View的UI,或者当前渲染代码阻塞GUI线程的时间过长的时候,SurfaceView就是解决上述问题的最佳选择。SurfaceView封装了一个Surface对象,而不是Canvas。这一点很重要,因为Surface可以使用后台线程绘制。对于那些资源敏感的操作,或者那些要求快速更新或者高速帧率的地方,例如使用3D图形,创建游戏,或者实时预览摄像头,这一点特别有用。
可以直接从内存或硬件设备比如相机等取得图像数据,是个非常重要的绘图容器。它的特性是:可以在主线程之外的线程中向屏幕绘图。这样可以避免画图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。绘制的东西直接复制到显存从而显示出来,这使得显示速度会非常快,而在Surface 被销毁之前必须结束。
阅读全文
摘要:Android数据存储方式,包括下面四种:
1. Shared Preferences:用来存储"key-value"paires格式的数据,它是一个轻量级的键值存储机制,只可以存储基本的数据类型。
主要用于系统配置信息的配置,例如:检测是不是第一次使用应用程序;设置的音效开关等。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。
2. Fils:它通过FileInputStream 和FileOutputStream对文件进行操作。但是文件Files在Android中是属于一个程序私有的,其他程序无法读写其他应用的文件。即无法实现共享。
3. SQLite:Android提供的标准的数据库,支持SQL语句。SQLite是一个开源的关系型数据库,与普通的关系型数据库一样。
4. Network:通过网络来存储和获得数据。将数据存储于网络,需要使用java.net.*和android.net.*这些类。
阅读全文
摘要:一、 Service是什么?为什么要使用Service?
Service是运行在后台运行的应用组件,不与用户交互。
Service不是进程,也不是线程。
处理耗时操作,需开启子线程。
阅读全文
摘要:其实碰撞问题只是涉及到一点小算法而已,但在实际应用,尤其游戏中有可能会遇到,下面给出一个小示例,代码如下:
阅读全文
摘要:杂家前文Android颜色对照表只有颜色和十六进制,有时候需要设置r g b分量的int值,如paint.setARGB(255, 127, 255, 212);就需要自己计算下分量的各个值。这里提供一个带有r g b分量的int型的颜色表。注意paint.setAlpha()及paint.setARGB()的第一个参数,即透明度。其取值范围是0---255,数值越小,越透明,颜色上表现越淡。实际上当设成10以下就会有透明的效果了。
注意:这个透明度是用来设置画笔paint的透明度,然后用paint画各种东西。
阅读全文
摘要:一、在xml文件里可以直接设置:
android:background="#ffffff"
其他颜色可以看这里http://www.cnblogs.com/android100/p/android-setalpha.html
二、在java文件里设置:
LinearLayout myLayout = () findViewById(R.id.linearLayout1);
myLayout.setBackgroundColor(Color.WHITE);
三、在AndroidManifest.xml里利用android:theme来设置,这个命令还是很强大的,如下所示:
theme的设置 可以设置为系统自带的格式,也可以自定义格式。
阅读全文
摘要:8月份的时候因为Android开发团队全部使用Android Studio进行开发,所以我整理了Android Studio的一些资料,并写成入门指南,分享给大家。
如果大家觉得对你有帮助,给个赞哈,后续有时间我会继续完善这本书。
阅读全文
摘要:Android中定义的dimension单位有以下这些:
px(Pixels ,像素):对应屏幕上的实际像素点。
in(Inches ,英寸):屏幕物理长度单位。
mm(Millimeters ,毫米):屏幕物理长度单位。
pt(Points ,磅):屏幕物理长度单位,1/72英寸。
dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。
dip:与dp相同,多用于Google示例中。
sp(与密度和字体缩放度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。
尽量使用dp作为空间大小单位,sp作为和文字相关大小单位。
阅读全文
摘要:由于继续需要做一些无感操控的工作,之前也记录了下利用悬浮窗的方法。今天突然发现原来activity可以直接嗯嗯嗯啊。
首先我在AndroidManifest里给activity添加了如下一行:
android:theme="@android:style/Theme.Dialog"
ok,我发现activity变成对话框的弹出模式了。但是背景也就是桌面是变暗的,我希望能恢复正常的亮度,也就是透明的效果,于是继续搜索。
阅读全文
摘要:Android使用一个和其它平台基于硬盘文件系统相似的文件系统.这个课程描述了如何和在Android文件系统使用File APIs读和写文件.
一个File对象适用于读或者写从头到尾没用中断的大型数据.例如,适用于图片文件或者任何网络交换.
这节课程显示了如何在应用程序中执行基本的文件相关的任务.这个课程假设你熟悉基本的Linux文件系统和在java.io.中标准文件输入/输出APIs.
阅读全文
摘要:Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu。
阅读全文
摘要:public void closeInputMethod(){
try {
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
} catch (Exception e) { }finally{ }
}
阅读全文
摘要:启动其它Activity不是单向的。你也能启动其它Activity并获取一个返回结果。为了获取一个结果,调用startActivityForResult()方法(替代startActivity()方法)。
例如,你的应用程序能启动一个照相机应用程序,并获取捕捉的相片作为结果。或者,你可能启动People应用程序,为了用户选择一个联系人,并且你将会获取这个联系的的详细信息作为结果。
当然,这个响应Activity必须被设计来返回一个结果。当它执行的时候,它发送这个结果作为其它Intent对象。你的Activity在onActivityResult()回调方法中获取它。
注意:你能使用显示的或者隐式的意图,当你调用startActivityForResult()方法的时候。当启动一个你自己的Activity来获取一个结果的时候,你应该使用一个明确的意图来确保你获取获取期望的结果。
阅读全文
摘要:Android的一个非常重要的功能是,应用程序基于它要执行的一个“动作”想其它应用程序发送用户的能力。例如,如果你的应用程序要显示一个地图,你没有在你的应用程序中创建显示地图的Activity。相反,你使用一个Intent创建了请求查看地址。Android系统然后启动一个应用,它能在地图上显示地址。
阅读全文
摘要:本课将告诉你如何通过后台加载来加速应用启动和降低应用耗电。
后台跑服务
除非你做了特殊指定,否则在应用中的大部分前台操作都是在一个特殊的UI线程里面进行的。这有可能会导致一些问题,因为长时间运行的操作会影响到你应用的响应速度。为了避免这个问题,android框架提供了一系列帮助你在后台通过线程推迟加载的功能,被使用得最多的非IntentService莫属了。
本课将向你描述如何实现一个IntentService,发送请求操作并向其它组件报告结果。
阅读全文

浙公网安备 33010602011771号