Android启动篇 — init原理(二)
分类标签: 启动
Android启动篇 — init原理(一)中讲解分init进程分析init创建系统目录并挂在相应系统文件、初始化属性域、设置系统属性、启动配置属性服务端等一系列复杂工作,很多工作和知识点跟Linux关系很大,所以没有作过多介绍,而本此对于init.rc的解析则是重中之重,所以单独拿出来进行详细分析。阅读全文 »
Android启动篇 — init原理(一)
分类标签: 启动
在【Android启示录】中,提到了主要的分析对象和分享内容,抛开Android内核级的知识点,学习Android第一步便是“init”,作为天字第一号进程,代码羞涩难懂,但是也极其重要,熟悉init的原理对后面Zygote -- SystemServer -- 核心服务等一些列源码的研究是有很大作用的,所以既然说研究Android源码,就先拿init “庖丁解牛”!阅读全文 »
Android实用技术(5)—— Service简析(Ⅲ)
分类标签: Service
1、今天我们来分析Service中的一个小技巧:前台服务(Forground Service) 【问题】:我们都知道服务是运行在后台的,如果系统出现内存不足的情况,那么此时,系统就可能回收后代的服务,那么我们如何保证服务可以一直运行? 【解决】:在服务中,有一个前台服务的概念,调用startForground()方法。阅读全文 »
Android实用技术(4)—— Service简析(Ⅱ)
分类标签: Service
我们在Service(Ⅰ)中了解了Service最基本的知识点,今天我们继续学习Service这个组件(神器)。 先来说一下Service的生命周期:跟Activity相比,Service的生命周期就太简单了:onCreate()->onStart()->onDestroy() 【主题】:Activity与Service之间的Communication阅读全文 »
Android实用技术(3)—— Service简析(I)
分类标签: Service
前面一个帖子,小编和大家大概了解了一下AsyncTask的多线程编程技术,今天我想聊一聊Android的四大组件(神器)之一的Service。 要想精通Service的相关知识点,还是需要学习很多东西的,当然小编今天写的这篇文章只能算是让新手快速了解何为Service、如何快速上手并且快速掌握Service的使用方法,算是入门级的教程。好了,老规矩了,废话不多说,我们直接上代码来看看Servic阅读全文 »
Android实用技术(2)—— AsyncTask 使用方法
分类标签: AsyncTask
AsyncTask 是一个抽象类(public abstract class AsyncTask extends Object),如果想使用它的话,我们必须创建一个子类去继承它。 看一下这个抽象类:android.os.AsyncTask,指定了三个泛型参数,我们先分析一下这三个参数:1. Params:在执行AsyncTask时需要传入的参数,可用于在后台任务中使用,这么说不懂?阅读全文 »
Android实用技术(1)—— Notification的创建流程和使用方法
分类标签: Notification
Notification,俗称通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容。NotificationManager 是一个重要的系统级服务,该对象位于应用程序的框架层中,应用程序可以通过它向系统发送全局的通知,它是管理Notification的。阅读全文 »
Android存储系统—Vold与MountService分析(三)
分类标签: Listener
1、处理block类型的uevent main()函数创建了CommandListener对象,NetlinkManager的start()函数又创建了NetlinkHandler对象,如果将CommandListener类和NetlinkHandler类的继承关系图画出来,会发现它们都是从SocketListener类派生出来的阅读全文 »
Android存储系统—Vold与MountService分析(二)
分类标签: Socket
回顾:前贴主要分析了Android存储系统的架构和原理图,简要的介绍了整个从Kernel-->Vold-->上层MountService之间的数据传输流程,在这样的基础上,我们开始今天的源码分析! 【源码分析】 1. Vold的main函数 Vold也是通过init进程启动,它在init.rc中的定义如下:...阅读全文 »
Android存储系统—Vold与MountService分析(一)
分类标签: SD卡
Android的存储系统主要由:SystemServer进程中的MountService和Vold进程中的VolumeManager组成。 它们管理着系统的存储设备,执行各种操作,如:mount、unmount、format等。 图1 Android存储系统架构图 图2 Android存储系统原理图 【重要组成分析】 1、NetlinkManager阅读全文 »
Android笔记-Activity的生命周期
分类标签: Activity
应用程序从创建到结束的过程就叫作应用程序的生命周期。所有Android的组件都有自己的生命周期,下面介绍的是,Activity生命周期的方法。 Activity生命周期的方法 Android跟踪所有运行的Activity对象,将这些对象统一放进Activity栈中,如图1所示。 图1 Activity栈 从上图可以看出,一个Activity的创建到销毁,会经历多种状态,这些状态会相互转换阅读全文 »
Android 6.0动态权限申请教程
分类标签: Permission
PermissionManage 介绍 如果设备运行的是 Android 6.0(API 级别 23)或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则应用在运行时向用户请求权限。 如果设备运行的是 Android 5.1(API 级别 22)或更低版本,并且应用的 targetSdkVersion 是 22 或更低版本,则系统会在用户安装应用时要求用户授予权阅读全文 »
Android Annotation基础教程
分类标签: Java
Java Annotation Java 1.5中开始引入的Annotation,类似于注释的一种技术,参考了一些网上的译法,姑且译成注解吧。 我们在开发中,用得最多的Annotation莫过于@Override了。大家天天用,可能很多同学却没有关注过其背后的细节,我们看一下它的定义:...阅读全文 »
Android应用开发教程之二十九(终结篇):线程池的经典使用
分类标签: 线程
由于经常会在网上或群里看到有朋友会问线程方面的东西,就像我一个朋友他们老师讲的,J2SE、J2EE里面使用的线程方面的东西可能不是太多 ,但是在Android开发里面,玩的就是线程(UI Thread)! 好了,废话就说这么多吧,直入正题!今天要讲的东西就是线程池、线程的高效率使用,灵活控制!今天死马我就用最常用的几种方式来分别实现应用中使用的线程方面的知识阅读全文 »
Android应用开发教程之二十八:Android Shape渲染的使用(经典,学习研究不后悔)
分类标签: Shape
开始今天的主题,控件渲染Shade(也可以叫着色器)的使用,一直都有在关注这方面的东西,网上也有部分文章写得不错,但是还是觉得不过瘾,往往都是写一点点自己在工作中使用过的,有看到过很多人经典问这个边框那个边框的,呵呵,今天就总结下这方面的东西,希望对这块知识有兴趣的帅果、美驴们有所帮助或提高,也备自己不时之用,果断先看效果再一步步看代码!希望大家仔细看看我在XML及.java中添加的注释阅读全文 »
Android应用开发教程之二十七:使用Sencha完成APK局部更新
分类标签: APK
今天找时间来更新下这段时间学到的,也是我个人觉得不错的一个东西“Android APK局部模块化更新”,之前也在网上找了相关的资料查了下,没找到觉得比较好的,大多都是Copy来Copy去的,由于前段时间开发的时候用到了一个我没听过的框架,个人觉得开发出来的东西还是挺好的,不过有结论证明在IOS上这个东西更适用跑得也更流畅阅读全文 »
Android应用开发教程之二十六:列表项添加进度框进阶
分类标签: ListView GridView ProgressBar
今天有时间就学习了下在ListView、GridView列表项中清加ProgressBar,本文用最简单的代码实现可以通用的功能,人人都能看懂,哈哈,直接说下,如果你的适配器getView方法返回的View是一个自定义控件的话,有点不好实现哦,不过可以用两个控件之间Visible 、Invisible来切换实现今天的效果,下面的例子是主类、适配器、异步下载类等的都写在一个类里面了,为的是发的博文里阅读全文 »
Android应用开发教程之二十五:自定义图片剪辑头像设置
分类标签: 图像处理
很早就有有看到有朋友在讨论QQ头像的裁剪上传是怎么实现的,吼吼,之前小马也没做过,好奇之下学习下,发现以前项目中有类型的功能,结合官方文档里面的解释,就更好玩了,急急忙忙写51里的,今天听变3主题曲,重新记录在WorePress里,记录编程的过程,希望能与更多的朋友交流学习,文章中的截图是动态的阅读全文 »
Android应用开发教程之二十四:屏幕锁定详解
分类标签: 屏幕
最近在一个视频项目中遇到了很多屏幕锁定的问题,自己也在学习,网上找了下也没太详细的例子,看的资料书上也没有有关屏幕锁定程序的介绍,从之前写的文章中抽过来放研究院中,希望能帮助更多想了解或学习屏幕锁的朋友们学习研究,自己照着官方文档学习下,现在做好了,废话不多说,先发下截图,看下效果,需要注意的地方会加注释,有问题的朋友可以直接留言,我们共同学习交流,共同提高进步!直接看效果图:...阅读全文 »
Android应用开发教程之二十三:应用程序屏幕锁定详解
分类标签: 屏幕
由于此前在51写过屏幕锁相关的文章,在最近开发过程中也用到了屏幕锁,今天就抽个时间将屏幕锁的控制及实现代码复习及更一步学习,希望能帮助朋友们对屏幕锁更加了解,以备不时之用,九宫格 PIN密码 密码锁屏等的小马会有屏幕锁二中详细介绍,大家看来看这篇简单的,来热热身,先简单讲下下: 之前在Android中,只能等到手机不使用规定时间或无操作时,手机会自动锁定,解锁用电源键对吧?阅读全文 »