- 博客(6)
- 资源 (6)
- 收藏
- 关注
原创 Android6.0 Runtime permission
只有Activity能通过requestPermissions()接口请求用户同意dangerous permission。service/receiver/provider无此类接口。无UI应用若需要获得dangerous permission,只能: 1.写Activity去调用requestPermissions(); 2.通过sh
2016-05-26 10:40:17 527
原创 JobScheduler的使用
在进行android开发时,会遇到这样的情况:想在将来的某个时间或在一定条件下运行任务,如上传图片、下载歌曲等操作想在接入电源或连接到WIFI时执行。Android L提供了JobScheduler API。当一组预定义的条件得到满足时,JobScheduler API的应用程序执行一项操作。不像AlarmManager类,JobScheduler的时间测定是不准确的。此外,该API能够一同批
2016-05-25 10:24:33 9722 2
原创 ViewStub的使用
在开发APP的时候,经常会遇到需要在运行时动态地判断显示哪个View或布局。通常做法是把所有可能都写上面,设可见性为View.GONE,然后在代码中动态地修改它的可见性。这样做的优点是逻辑简单、控制灵活。但是缺点是耗费资源。虽然把View的可见性设为View.GONE,但是在inflate布局的时候,View还是会被inflate的,也就是说仍然会创建对象,这会耗费内存等资源。推荐使用View
2016-05-23 16:59:09 435
原创 多线程访问数据库
android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)上面的问题,是因为每次创建SQLiteOpenHelper对象时,实际上也是在新建一个数据库连接。如果通过多个连接同时对数据库进行写数据操作,则一定会失败。为确保多线程能安全地操作数据库,则需要保证只有一个数据库连接被占用。java
2016-05-23 09:47:36 3771
原创 ContentProvider使用例子
ContentProvider的简单例子public class FirewallManagerProvider extends ContentProvider { private final static UriMatcher mUriMatcher; private static final int MATCH_CODE_MOBILE = 1; private s
2016-05-17 14:12:39 915
原创 远程服务例子2
AIDL服务只支持有限的数据类型,因此,如果用AIDL服务传递一些复杂的数据时,就需要做进一步的处理。AIDL服务支持的数据类型如下:java的简单类型(int、char、boolean等)。不需要导入importString和CharSequence。不需要导入importList和Map。但要注意,List和Map对象的元素类型必现是AIDL服务支持的数据类型。不需要导入imp
2016-05-12 15:03:20 406 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人