前面一节我们分析了Binder通信相关的两个重要类:ProcessState 和 IPCThreadState.ProcessState负责打开Binder 驱动,每个进程只有一个.而 IPCThreadState负责提供与Binder通信相关的接口,每个线程有一个.下面我们通过具体 示例MediaPlayerService来分析我们应用程序中怎么通过Binder通信的. frameworks/base/media/mediaserver/main_mediaserver.cpp int mai…
Android 开发之serviceManager分析 在Android系统中用到最多的通信机制就是Binder,Binder主要由Client.Server.ServiceManager和Binder驱动程序组成.其中Client.Service和ServiceManager运行在用户空间,而Binder驱动程序运行在内核空间.核心组件就是Binder驱动程序了,而ServiceManager提供辅助管理的功能,无论是Client还是Service进行通信前首先要和ServiceManager…
Android系统开发之XML文件的解析 我们知道Http在网络传输中的数据组织方式有三种分别为:XML方式.HTML方式.JSON方式.其中XML为可扩展标记语言,如下: <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>Jack</name> <age>23</age>…
1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 (2)在代码里设置: 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置密码为不可见. 2…
原文网址:http://blog.csdn.net/qq435757399/article/details/7947862 1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 (2)在代码里设置: 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMe…
在Android中ProcessState是客户端和服务端公共的部分,作为Binder通信的基础,ProcessState是一个singleton类,每个 进程只有一个对象,这个对象负责打开Binder驱动,建立线程池,让其进程里面的所有线程都能通过Binder通信. 与之相关的是IPCThreadState,每个线程都有一个IPCThreadState实例登记在Linux线程的上下文附属数据中,主要负责 Binder的读取,写入和请求处理框架.IPCThreadState在构造的时候获取进程的…
在我们Linux系统中创建线程函数为:pthread_create(),在Android中我们为线程封装了一个类Thread,实际调用的还是pthread_create() 当我们想创建线程的时候,只需要继承于这个Thread类并实现虚函数thread_loop()即可. frameworks/base/include/utils/threads.h class Thread : virtual public RefBase { public: // 创建一个Thread对象,但是并不立即启动线…
这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static,normal:常规的.通常的.一般的 . static:静态的,不变的 onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? onCreate()函数是在activity初始化的时候调用的,通常情况下,我们需要在onCreate(…
MediaRecorder类介绍: MediaRecorder类是Android sdk提供的一个专门用于音视频录制,一般利用手机麦克风采集音频,摄像头采集图片信息. MediaRecorder主要函数: setAudioChannels(int numChannels) 设置录制的音频通道数 setAudioEncoder(int audio_encoder) 设置audio的编码格式 setAudioEncodingBitRate(int bitRate) 设置录制的音频编码比特率 setA…
想要在两个activity之间传递对象,那么这个对象必须序列化,android中序列化一个对象有两种方式,一种是实现Serializable接口,这个非常简单,只需要声明一下就可以了,不痛不痒.但是android中还有一种特有的序列化方法,那就是实现Parcelable接口,使用这种方式来序列化的效率要高于实现Serializable接口.不过Serializable接口实在是太方便了,因此在某些情况下实现这个接口还是非常不错的选择. 使用Parcelable步骤: 1.实现Parcelable…