android IntentService简单介绍
摘要:不管是何种Service,它默认都是在应用程序的主线程(亦即UI线程)中运行的。所以,如果你的Service将要运行非常耗时或者可能被阻塞的操作时,你的应用程序将会被挂起,甚至会出现ANR错误。为了避免这一问题,你应该在Service中重新启动一个新的线程来进行这些操作。现有两种方法共大家参考:① 直接在Service的onStartCommand()方法中重启一个线程来执行,如: 1 @Override 2 public int onStartCommand(Intent intent, int flags, int startId) { 3 MyServiceAct...
阅读全文
contentprovider的学习实例总结
摘要:工作中遇到了contentprovider数据共享机制,下面来总结一下:一、ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferencesAPI读写数据。而使用ContentProvider共享数据的好处是统一了数据访问方式。二、Uri类简介 Uri代表了要操作的数据,Uri主要包含...
阅读全文
[android] Serializable 和 Parcelable 区别
摘要:android 中自定义的对象序列化的问题有两个选择一个是Parcelable,另外一个是Serializable。一 序列化原因:1.永久性保存对象,保存对象的字节序列到本地文件中;2.通过序列化对象在网络中传递对象;3.通过序列化在进程间传递对象。二 至于选取哪种可参考下面的原则:1.在使用内存的时候,Parcelable 类比Serializable性能高,所以推荐使用Parcelable类。2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。3.Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在
阅读全文
android 如何判断是不是平板
摘要:1 public static boolean isTablet(Context context) {2 return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;3 } 1 public boolean isTabletDevice() { 2 TelephonyManager telephony = (TelephonyMan...
阅读全文
Android获取手机和系统版本等信息的代码
摘要:1 String phoneInfo = "Product: " + android.os.Build.PRODUCT; 2 phoneInfo += "\n CPU_ABI: " + android.os.Build.CPU_ABI; 3 phoneInfo += "\n TAGS: " + android.os.Build.TAGS; 4 phoneInfo += "\n VERSION_CODES.BASE: " + android.os.Build.VERSION_CODES.BASE; ...
阅读全文
LRU算法简单例子
摘要:1 package com.xy.thread; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Set; 6 7 public class LRU 8 { 9 protected HashMap lruCache = new HashMap(2); 10 //可操作的最大使用次数 11 protected int MAX_INTEGER_NUMBER=2147483647; 12 //缓存中保存的数大对象数目 13 pro...
阅读全文
Android中给listview/gridview设置动画(逐条加载条目动画)
摘要:先看实现的效果如下:演示效果如上: 上面的列表是GridView 要给这个GridView添加一个动画,才可以逐个加载。网上找了大量资料,不少人说用多线程加载,通过SetAdapter设置数据改变,还有用到Handler这样太扯淡了,几乎放弃了。发现直接在配置里设置动画即可。动画即可。效果非常好,看效果。 ListView配置方法如下: 1 <GridView 2 android:background="@drawable/navagation_shape" 3 android:id="@+id/gv_navagation" 4 ...
阅读全文
Android的Animation之LayoutAnimation使用方法
摘要:LayoutAnimationController用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果,可以在XML文件中设置,亦可以在Java代码中设置。一种直接在XML文件中设置1.在res/anim文件夹下新建一个XML文件,名为list_anim_layout.xml,1 <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"2 android:delay="30%"3 android:animationOrder
阅读全文
Android图片二进制与Bitmap之间的转换
摘要:1 public byte[] getBitmapByte(Bitmap bitmap){ 2 ByteArrayOutputStream out = new ByteArrayOutputStream(); 3 bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); 4 try { 5 out.flush(); 6 out.close(); 7 } catch (IOException e) { 8 ...
阅读全文