Android
文章平均质量分 83
wangzirui0001
这个作者很懒,什么都没留下…
展开
-
WiFi信号强度--SIGNAL_POLL
http://blog.csdn.net/myarrow/article/details/89584021. 信号强度算法 WifiManager.java[cpp] view plaincopy/** Anything worse than or equal to this will show 0 bars转载 2013-09-02 09:55:17 · 2061 阅读 · 0 评论 -
Android应用程序键盘(Keyboard)消息处理机制分析
在Android系统中,键盘按键事件是由WindowManagerService服务来管理的,然后再以消息的形式来分发给应用程序处理,不过和普通消息不一样,它是由硬件中断触发的;在上一篇文章《Android应用程序消息处理机制(Looper、Handler)分析》中,我们分析了Android应用程序的消息处理机制,本文将结合这种消息处理机制来详细分析Android应用程序是如何获得键盘按键消息的。转载 2012-08-09 17:34:04 · 1559 阅读 · 0 评论 -
Android 4.0 事件输入(Event Input)系统
1. TouchScreen功能在Android4.0下不工作 原来在Android2.3.5下能正常工作的TouchScreen功能,移植到Android 4.0就不能正常工作了。凭直觉,Android4.0肯定有鬼。真是不看不知道,一看吓一跳。在Android 4.0中,Event Input地位提高了,你看看,在Adroid2.3.5中,它在frameworks/base/l转载 2012-08-07 15:04:43 · 711 阅读 · 0 评论 -
Android输入输出机制之来龙去脉之前生后世
先讲一下基本一般的输入处理方式的知识。一般的输入输出采用生产者,消费者模式,并构造队列进行处理,如下图 这种输入模型在android的系统中很多地方采用,先从最底层说起: 为了由于触屏事件频率很高,android设计者讲一个循环线程,拆分为两级循环,并做了个队列来进行缓冲。InputDispatcherThread和InputReaderThread。InputDi转载 2012-08-08 10:33:03 · 1239 阅读 · 0 评论 -
Android 4.0中按键的处理流程
按键在Android系统中,有着不同的代表意义。以前的全键盘的手机代码没有阅读过,所以也不是很了解。本人介绍的是在触摸屏的手机上的按键消息的处理流程。在现在触摸屏成为主流的输入设备的情况下,很多厂商都在努力的做到取消物理按键的工作,但是目前就本人的学习情况来看,完全取消在目前看来还是不是那么现实。有如下几点原因:首先,本人说明的是目前原生的Android系统上。其次,Android转载 2012-08-07 09:58:00 · 681 阅读 · 0 评论 -
Android事件处理
Init-----------zygote---------system-server-------------------windosmanager ------------------------------------------------------------ UEventObserver ---------------------------------------------转载 2012-08-06 15:41:51 · 499 阅读 · 0 评论 -
android usb流程
http://blog.163.com/lzh_327/blog/static/7219480201122103947556/转载 2012-07-17 10:16:02 · 648 阅读 · 0 评论 -
Android 多媒体扫描过程(Android Media Scanner Process)
原作者:Steve Gou 转载请注明! 下面是系统图 MediaScannerReceiver会在任何的ACTION_BOOT_COMPLETED, ACTION_MEDIA_MOUNTED或 ACTION_MEDIA_SCANNER_SCAN_FILE 意图(intent)发出的时候启动。因为解析媒体文件的元数据或许会需要很长时间,所以MediaS转载 2012-07-16 16:19:43 · 507 阅读 · 0 评论 -
MediaScanner分析
今天领导给我新任务,要我解决挂载miniSD卡让其自动扫描播放里面的多媒体文件。指定挂载在E盘。MediaScanner分析一 MediaScannerService多媒体扫描是从MediaScannerService开始的。这是一个单独的package。位于packages/providers/MediaProvider:含以下java文件l Medi转载 2012-07-16 17:54:53 · 760 阅读 · 0 评论 -
RelativeLayout常用属性介绍
下面介绍一下RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:la转载 2012-06-29 14:22:57 · 367 阅读 · 0 评论 -
Android数据存储方式:SharePreference、SQLite、ContentProvider有什么不同?
在Android中一共提供了4种数据存储方式,由于Android中数据基本是私有的,如果需要在其他应用程序中使用这些数据,就要使用Android提供的ContentProviders。Android中4种数据存储方式:Shared Preferences 类似于我们常用的ini文件,用来保存应用程序的一些属性设置,在Android 平台常用于存储较简单的参数设置。数据转载 2012-06-27 15:19:02 · 979 阅读 · 0 评论 -
Android 中input event的分析
文章将分析Android 的Input Event 子系统的来龙去脉。 Android 系统里面有很多小工具,运行这些工具,我们对它们有一个感性的认识,进而阅读和分析这些小工具源代码,再顺藤摸瓜,就可以把整个子系统的来龙去脉弄清楚。 1.运行toolbox的getevent 工具。 # getevent -helpgetevent -helpUsage: getev转载 2012-08-01 15:35:45 · 1378 阅读 · 0 评论 -
ANDROID中的VOLD分析
现在可能很少有人会用mknod这个命令了,也很少有使用它的机会,但就在几年前,这还是一项linux工程师的必备技能,在制作文件系统前或加载新的驱动前,我们必须小心翼翼的创建设备节点。不需要使用mknod并不是他消失了,而是我们有了更好更智能的方法。linux对于热插拔的支持并不是生来就有的,而是经历了一个复杂而有戏剧性的过程,全球linux爱好者用脚投出了他们保贵的一票,udev最终成为事转载 2012-08-01 16:54:00 · 833 阅读 · 0 评论 -
andorid wifi 模块分析
一.启动wifi服务1.在 SystemServer 启动的时候,会生成一个 ConnectivityService 的实例路径为:\frameworks\base\services\java\com\android\server\SystemServer.javatry { Slog.i(TAG, "Connectivity Service");转载 2012-09-19 15:33:57 · 771 阅读 · 0 评论 -
Parcel 和 Parcelable
Parcel 在英文中有两个意思,其一是名词,为包裹,小包的意思; 其二为动词,意为打包,扎包。邮寄快递中的包裹也用的是这个词。Android采用这个词来表示封装消息数据。这个是通过IBinder通信的消息的载体。需要明确的是Parcel用来存放数据的是内存(RAM),而不是永久性介质(Nand等)。Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体转载 2013-08-12 16:23:38 · 676 阅读 · 0 评论 -
INIT.RC分析
1,init.rc是一个可配置的初始化文件,通常定制厂商可以配置额外的初始化配置,init.%PRODUCT%.rc2,init.rc是在$GINGERBREAD/system/core/init/init.c中读取的,它基于“行”,包含一些用空格隔开的关键字(它属于特殊字符)3,如果关键字中有空格,处理方法类似于C语言,使用/表示转义,使用“”防止关键字被断开,另外注意/在末尾表转载 2013-07-17 18:02:41 · 635 阅读 · 0 评论 -
和菜鸟一起学android4.0.3源码之touchscreen配置+调试记录
http://blog.csdn.net/eastmoon502136/article/details/7697434 记得应该是上上周了,终于毕业了,离开了学校,就得面对现实的社会,以前学校实验室里,老师给了钥匙,那电脑随便用,那元器件随便玩,什么51单片机啊,PIC单片机啊,FPGA啊,arm11啊什么的。想着做什么就直接万用版+电烙铁什么的一起搞定。调试,写转载 2013-06-19 19:53:25 · 1449 阅读 · 0 评论 -
Android中Context详解 ---- 你所不知道的Context
本文原创 ,转载必须注明出处 :http://blog.csdn.net/qinjuning 前言:本文是我读《Android内核剖析》第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书。 大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----C转载 2013-06-09 11:04:09 · 553 阅读 · 0 评论 -
android中wifi原理及流程分析(很经典)
在网上找的一篇好文章,分析的很详细,自己再加了些东西,图片有点大,不能完全显示,点击图像拖动鼠标直接查看图像。wifi相关的文件位置:WIFI Settings应用程序位于 packages/apps/Settings/src/com/android/settings/wifi/JAVA部分: frameworks/base转载 2013-05-08 10:31:51 · 823 阅读 · 0 评论 -
Android中Acition和Category常量表
ActionAction常量对应字符串简单说明ACTION_MAINandroid.intent.action.MAIN应用程序入口ACTION_VIEWandroid.intent.action.VIEW显示指定数据ACTION_ATTACH_DATAandroid.intent.action.ATTACH_DATA转载 2013-04-18 11:20:59 · 599 阅读 · 0 评论 -
在 设置/显示 中增加是否一直显示状态栏的选项
源码:2.3.4 知识点:禁止所有应用使用全屏功能。这个改动很简单,只需要在frameworks\base\core\java\android\view\Window.java 这个类中的 public void setFlags(int flags, int mask) 函数,判断一下 flags 和 mask是不是都是 WindowManager.LayoutParams.FL转载 2012-12-19 21:04:23 · 751 阅读 · 0 评论 -
Android中AsyncTask的简单用法
http://blog.csdn.net/cjjky/article/details/6684959在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子转载 2012-12-25 19:19:11 · 660 阅读 · 0 评论 -
Android.mk简介
文章参照:http://blog.sina.com.cn/s/blog_67d8d7060100q8un.html Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定转载 2012-11-22 15:40:23 · 409 阅读 · 0 评论 -
MIUI V4移植经验分享(三)—— Smali代码注入
适逢中秋、国庆双节假期,闲暇之余总结了过去一段时间的工作经验,分享给大家,希望对有志于从事miui移植工作的同学有所帮助。 今天内容比较多,所以调侃的语言少一些,干货多一些,请喜欢轻松幽默的ROMER多担待些。 以下的内容是对官方MIUI V4移植教程的补充,其中一些工具的使用就不在这里赘述,请大家参考官方教程。 好的,话不多说,进入正题。 应用场景转载 2012-11-05 15:58:20 · 1336 阅读 · 0 评论 -
Android源码学习——ActivityManager框架解析
http://blog.csdn.net/caowenbin/article/details/6036726#ActivityManager在操作系统中有重要的作用,本文利用操作系统源码,逐步理清ActivityManager的框架,并从静态类结构图和动态序列图两个角度分别进行剖析,从而帮助开发人员加强对系统框架及进程通信机制的理解。ActivityManager的作用转载 2012-07-09 16:18:26 · 554 阅读 · 0 评论 -
NDK Makefile文件中LOCAL_LDLIBS和LOCAL_CFLAGS介绍
LOCAL_CFLAGS := -DHHH 这个等价于头文件中 #define HHH LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -llog 这个写上,另外在头文件定义如下 #define LOG_TAG "TAG" //自定义的变量,相当于logcat函数中的tag #undef LOG #include //#inc转载 2012-07-04 17:44:45 · 2669 阅读 · 0 评论 -
Android low memory killer 详解
Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer . 1,引入原因 Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运 行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留转载 2012-07-04 15:26:09 · 581 阅读 · 0 评论 -
Android磁盘管理-之vold源码分析(3)
作者:gzshun. 原创作品,转载请标明出处!NetlinkManager类负责管理捕获内核的uevent事件,这里使用了Netlink套接字。Netlink的概念:Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。Netlink套接字可以使用标准的套接字APIs来创建。socket(转载 2012-04-09 18:17:20 · 504 阅读 · 0 评论 -
深入分析 Java I/O 的工作机制
简介: I/O 问题可以说是当今互联网 Web 应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动。这个流动的过程中都涉及到 I/O 问题,可以说大部分 Web 应用系统的瓶颈都是 I/O 瓶颈。本文的目的正是分析 I/O 的内在工作机制,你将了解到:Java 的 I/O 类库的基本架构;磁盘 I/O 工作机制;网络 I/O 的工作机制;其中以网络 I/O 为重点介绍转载 2012-04-09 18:26:05 · 506 阅读 · 0 评论 -
Android-vold源码分析之卸载SD卡(9)
作者:gzshun. 原创作品,转载请标明出处!来源:http://blog.csdn.net/gzshun本文分析卸载sd卡的源码,这些涉及的内容比较少,走过就行。在Android系统,系统设置里面,提供了挂载,卸载与格式化的功能。在这里,我们可以回忆一下,Android在挂载sd卡有几个途径,卸载又是有几种方法?一、挂载sd卡,有2种方式:1.用户自己挂载sd卡;转载 2012-04-09 18:23:16 · 1002 阅读 · 0 评论 -
Android磁盘管理-之vold源码分析(2)
作者:gzshun. 原创作品,转载请标明出处!Vold是Android系统处理磁盘的核心部分,取代了原来Linux系统中的udev,主要用来处理Android系统的热插拔存储设备。在Android2.2以后的系统中,vold源码已经移到了system目录下,vold目录包含以下源码:├── Android.mk├── Asec.h├── CleanSpec.m转载 2012-04-09 18:15:27 · 584 阅读 · 0 评论 -
Android磁盘管理-系统源码分析(1)
作者:gzshun. 原创作品,转载请标明出处!本系列文章,将会详细讲解Android系统的磁盘管理部分,可以通过这个突破口,熟悉整个Android的系统架构与实现原理。Android磁盘管理总共涉及到四大部分源码:1.Linux kernel: Android建立在Linux内核的基础上,最底层的部分是由Linux kernel来负责的,用于检测热插拔事件;转载 2012-04-09 18:11:46 · 439 阅读 · 0 评论 -
Android-vold源码分析之挂载SD卡(8)
这里续上一篇文章,讲解挂载磁盘的操作:3.挂载磁盘。这里都有一个const char *类型的参数,这参数保存着每个磁盘的标签信息,比如sd卡的label是sdcard。[cpp] view plaincopyint VolumeManager::mountVolume(const char *label) { Volu转载 2012-04-09 18:22:48 · 1344 阅读 · 0 评论 -
Android-vold源码分析之runCommand(7)
作者:gzshun. 原创作品,转载请标明出处!说了这么多,该到执行命令的函数了,要不黄花菜都凉了。上一篇文章讲了vold如何开启接收framework下发命令的线程,最终到了runCommand函数的实现,总共有6个版本,由于重复性大,只讲VolumeCmd类的runCommand函数的实现。VolumeCmd可以说是最重要的,该类的实现处理了list,debug,mount,unm转载 2012-04-09 18:22:06 · 512 阅读 · 0 评论 -
Android-vold源码分析之handleBlockEvent(5)
作者:gzshun. 原创作品,转载请标明出处!上篇文章分析到了handleBlockEvent函数,该函数包含了以下6个处理函数:[cpp] view plaincopyvoid handleDiskAdded(const char *devpath, NetlinkEvent *evt); void handleDisk转载 2012-04-09 18:20:14 · 700 阅读 · 0 评论 -
Android磁盘管理-之vold源码分析(4)
作者:gzshun. 原创作品,转载请标明出处!上篇文章分析到了NetlinkHandler类中的onEvent函数,该函数由NetlinkListener::onDataAvailable函数调用,当SocketListener类监听到内核的uevent事件,调用该函数,之后的事情交给onEvent来负责。file:system/vold/NetlinkHandler.cpp转载 2012-04-09 18:19:20 · 792 阅读 · 0 评论 -
Android-vold源码分析之startListener(6)
作者:gzshun. 原创作品,转载请标明出处!vold处理完磁盘事件,就要开始接受framework的操作命令,在main函数里面,开启了一个线程来监听framework的信息,当收到操作命令,vold进行解析,分析出命令,然后调用相应的磁盘操作函数,待操作完成后,再将操作结果的状态值反馈给framework,中间均使用了广播机制,使用了UDP协议。在main函数中,有以下函数的转载 2012-04-09 18:21:14 · 636 阅读 · 0 评论 -
Android-vold源码分析之格式化SD卡(10)
作者:gzshun. 原创作品,转载请标明出处!来源:http://blog.csdn.net/gzshun本文开始讨论sd卡的格式化功能,平时使用windows操作系统,也经常格式化磁盘。涉及到的操作有这几步:1.将分区信息写到硬盘的第一个设备节点的MBR结构中的分区表;2.格式化分区到指定的文件系统类型。MBR中存放分区表的位置在446-509,占用了64字节,转载 2012-04-09 18:23:47 · 814 阅读 · 0 评论 -
Android.mk
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。例如,你不需要在你的Android.mk中列出头文件和依赖文件。NDK编译系统将会为你自动处理这些问题。这也意味着,转载 2012-05-22 19:54:42 · 322 阅读 · 0 评论 -
Android中HAL如何向上层提供接口总结 .
参考文献:http://blog.csdn.net/luoshengyang/article/details/6573809http://blog.csdn.net/hongtao_liu/article/details/6060734建议阅读本文时先浏览以上两篇文章,本文是对上两篇文章在HAL对上层接口话题的一个总结.1 什么是HALHAL的全称是Hardware A转载 2012-06-11 16:42:06 · 383 阅读 · 0 评论