欢迎来到我的主页!
利用Proguard移除代码中无用code,例如log。
Realm让你能够高效地编写 app 的模型层代码,保证你的数据被安全、快速地存储。
它具有跨平台、简单易用、可视化的特点。
所以,赶快开始吧!
AsyncTask是Android提供的一个异步任务类,他能很方便的实现主线程和工作线程之间的通讯。
但是这里面也有一个很大的坑:内存泄露,那么怎么解决呢?
自定义的ViewPager,具有自动滚动并且无限轮播的功能,类似于一般软件主界面广告条效果。使用的时候原来的适配器不需要做任何改变。
自定义的ListView,具有自动滚动并且无限轮播的功能,类似于中奖信息轮播的效果。使用起来只需要在原来适配器的基础上实现定义好的一个接口,其他不用做任何改变即可。
我们都知道,在Android里面,只有主线程(MainThread)才可以更新ui,比如设置TextView的文本内容,ImageView的图片等等。
只要我们在非主线程去操作ui界面,就是抛出"Only the original thread that created a view hierarchy can touch its views."的异常。那么这个异常时怎么抛出来的呢?
在Service或者BroadCastReceiver中启动Activity的话需要加上一个Intent.FLAG_ACTIVITY_NEW_TASK标记,一般情况下都是好用的,但是有一个需求是在开机广播中启动设置中的设备管理员激活界面,但是发现无法弹出该页面。
有的时候我们会使用RadioGroup + RadioButton + Fragment来切换主界面的Fragment,但是我们需要在进入的时候默认选择一个,这个时候就会手动调用RadioGroup的 public void check(int id)方法,但是这个时候我们就会发现public void onCheckedChanged(RadioGroup group, int checkedId);方法会调用两次.当然这肯定不是我们想要的.
这是青年图摘得非官方客户端,遵循MD设计原则,欢迎尝鲜!
我们都知道,Android里面有垂直滑动的ScrollView和水平滑动的HorizontalScrollView,但是我们开发的时候有时候会用到既能水平滑动又能垂直滑动的ScrollView,这就是一个继承了v4包中NestedHorizontalScrollView的
Android中对于Fragment的更优雅的使用方式以及数据传递。
简单的用服务播放音乐,并在界面进行控制。