Framework
文章平均质量分 72
月亮弯弯2013
android developer
展开
-
Android Fragment和Activity的交互介绍
Fragment和Activity的交互 一个Fragment的实例总是和包含它的Activity直接相关。 fragment可以通过getActivity() 方法来获得Activity的实例,然后就可以调用一些例如findViewById()之类的方法。 如: View listView = getActivity().findViewById(R.id原创 2014-11-16 11:16:13 · 1752 阅读 · 1 评论 -
Android 源码编译浅谈
构建系统 构建命令的基本序列如下:初始化 初始化环境用 envsetup.sh 脚本。注意替换源用一个单一点节省了几个字符,和短的是更普遍的用在文档。sourcebuild/envsetup.sh或 source build/envsetup.sh 或 . build/envsetup.sh 选择一个目标 选择哪个目标构建 lunch。确切的配置能作为一个参数被通过,例如,$ lu转载 2017-03-06 11:33:08 · 655 阅读 · 1 评论 -
Android userdebug user eng版本的区别
eng:debug 版本user: release 版本userDebug版本:部分debug版本要了解Android编译选项eng、user和userdebug的区别,需先了解下LOCAL_MODULE_TAGS这一Android.mk文件里的配置项,一般配置形式为LOCAL_MODULE_TAGS := user eng optional test这个样子。那么LOCAL_MODULE_TAG转载 2017-03-06 13:19:11 · 3711 阅读 · 2 评论 -
Android 类似未读短信消息图标显示的实现分析
这里面主要的工作在是launcher里面完成的. 关于系统里面类似未读短信的具体处理流程如下,原理 一个应用要实现这个效果,就要在自己有未读的消息的时候发送一个广播告诉系统我有未处理的事件了(例如:短信,电话和邮件等),同时将相关的信息进行保存,比如应用的名称(这里指的是ComponentName)和未处理事件的数量.系统将提升用户有待处理的事件交给Launcher去处理,launcher会接收转载 2017-03-06 15:35:06 · 3122 阅读 · 1 评论 -
Android 同时使用WiFi和3G模块系统定制解决方案
编程时候发现当打开WIFI网络的时候系统默认就会把3G网络给关闭,估计是出于省电的原因才如此做的,但目前我需要同时使用这两个网络接口,经过一番研究找到了方法,故写成日志记录下来。 1、Android网络机制。 wifi的开启关闭首先由应用程序触发的事件开始(比如用户点击开启图标),然后传入framework层,framework层启动wpa_supplicant,同时建立socket连接与wpa转载 2017-03-14 10:42:26 · 2003 阅读 · 1 评论 -
SubscriptionInfo框架分析
本文讨论所涉及的类vendor\qcom\proprietary\telephony-fwk\opt\telephony\src\java\com\qti\internal\telephony\UiccCardProvisioner.java vendor\qcom\proprietary\telephony-fwk\opt\telephony\src\java\com\qti\internal转载 2017-04-12 10:41:37 · 2188 阅读 · 1 评论 -
android RIL源码研究
这篇文章介绍ril.cpp中实现部分代码中的四个字符串输出函数及其相应的枚举类型。首先看requestToString()函数的代码,它的功能是将将ril_command.h和ril_unsol_commands.h中的命令转换成字符串描述:const char * requestToString(int request) { switch(request) { case转载 2017-05-31 10:36:13 · 1625 阅读 · 1 评论 -
android开机流程启动说明
第一步:启动linux 1.Bootloader 2.Kernel 第二步android系统启动:入口为init.rc(system\core\rootdir) 1./system/bin/service manager: Binder 守护进程; 2.Runtime; 3.Zygote :app-process/app-main; 4.Start VM; 5.Start server 6.Star转载 2017-05-31 11:02:39 · 1218 阅读 · 1 评论 -
android netd和kernel&frameworks的通信逻辑
在应用到Linux内核之间需要一个桥梁,这个桥梁就是Netd守护进程,我们就从Netd守护进程开始去了解一些Android网络系统的工作流程。 Netd进程是通过init进程启动的,我们来看看它在init.rc中的定义: service netd /system/bin/netd class main socket netd stream 0660 root system转载 2017-09-13 09:29:03 · 2374 阅读 · 0 评论 -
Android日志系统探究
Android的日志系统是Kernel层实现了若干个环形Buffer实现的。系统各个日志读写操作都是针对这几个RingBuffer来实现的。那就来一窥Kernel是怎么做的。相关源码是位于driver/staging/android/下面的logger.c和logger.h两个文件1,在整个Android日志系统的位置2,在logger.c中,入口函数s转载 2016-12-07 10:03:53 · 716 阅读 · 1 评论 -
Android根文件系统认识
根文件系统是Linux系统一种特殊的文件系统,Android是基于Linux的,当然也根文件系统,那么在Android平台上,根文件系统是如何实现的呢?1,Android是使用busybox构建根文件系统Linux Kernel需要一个根文件系统来启动用户程序init,这个最根本的文件系统叫做根文件系统。不单纯是Android,所有其它的基于Linux Kernel的系统都需要转载 2016-12-07 10:00:30 · 2555 阅读 · 1 评论 -
android Fragment生命周期介绍
官网帮助文档链接: http://developer.android.com/guide/components/fragments.html主要看两张图,和跑代码一,Fragment的生命周 二,与Activity生命周期的对比 场景演示 : 切换到该Fragment11-29 14:26:35.095: D/原创 2015-01-27 12:07:40 · 1089 阅读 · 0 评论 -
android ContentObserver和DatasetObserver的区别
1. ContentObserver ContentObserver主要是通过Uri来监测特定的Databases的表,如果该Databases表有变动则会通知更新cursor中的数据。 如果使用ContentProvider操作数据库,在ContentProvider的query()方法中会通过Cursor.setNotificationUri()注册uri描述的表,原创 2015-11-30 10:18:26 · 664 阅读 · 0 评论 -
android 编译生成的out目录结构剖析
Android编译后的目录结构Android编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。 out文件夹目录结构如下所示:out/-- CaseCheck.txt-- casecheck.txt-- host -- common -- linux-x86/darwin-x86-- target(如果转载 2016-08-05 19:36:35 · 6665 阅读 · 0 评论 -
android out目录从源代码中分离出来
Android系统编译成功后的代码默认放在源代码目录下的out目录中,我们需要将out目录分离出来,可以在环境变量中添加 OUT_DIR_COMMON_BASE="/androidsource/out",如果你的工作目录中存在 /work/android_branch1,/work/android_branch2,这样的几个分支源码,那么 他们编译完成后将会在 /androidsource/o原创 2016-08-05 19:41:44 · 2256 阅读 · 0 评论 -
android 修改电池电量图标介绍
图片修改首先我们要修改系统图标,就要联想到在framework中的资源,那么我们要修改framework中的资源的话当然必不可少的要去编译framework/base/core下的res。。。。当然我们首先要找到对应的电量图标,然后要有你想该完之后的图标,那么你可以到网上找,到rom中提取,或则你自己做(当然比较麻烦),那么我们要精确到1%,所以我们应该有101张图片去替换原有图片(原原创 2016-09-19 09:47:08 · 5929 阅读 · 0 评论 -
android 5.1.1 下修改出厂默认输入法
1、 需要提前将用到的默认输入法(.apk)内置到系统中2、将系统中所有的输入法设置为可用,修改frameworks/base/core/Java/com/Android/internal/inputmethod/InputMethodUtils.java[java] view plain copy public vo原创 2016-10-17 19:51:15 · 2792 阅读 · 0 评论 -
关于boot.img和recovery.img的修改和编辑
关于boot.img和recovery.img的编辑和修改方面的文章,希望能够为感兴趣的朋友节约一些看资料的时间。感谢本文的作者:Alansj, DarkriftX, RyeBrye, Will, Try OP9, Tonyb486, Timmmm, Lxrose还有好多不知名的作者们在wiki上的不懈努力。如何解包/编辑/大包boot.img文件很多人用自己的方式解决了boot.翻译 2016-11-21 19:44:54 · 17890 阅读 · 0 评论 -
Android makefile讲解剖析
对于一个程序新手而言,好的IDE是他们追捧的对象。但当他接触的代码多了之后,就会逐渐发现IDE不够用了,因为有好多东西用IDE是不好做的,例如自动编译,测试,版本控制,编译定制等。这跟政治课上的一句话有点像:资本主义开始的时候是促进生产力发展的,但到了后来又成了阻碍生产力发展的因素了。如果一个程序不能摆脱IDE的限制(不是不用,而是要有选择的用),那么他就很难提高。要知道,IDE和make原创 2016-11-21 19:56:40 · 2465 阅读 · 0 评论 -
android netd的工作流程解析
一、NETD解读1.1、NETD的作用Netd是Android系统中专门负责网络管理和控制的后台daemon程序,其功能主要分三大块:设置防火墙(Firewall)、网络地址转换(NAT)、带宽控制、无线网卡软接入点(Soft Access Point)控制,网络设备绑定(Tether)等。 Android系统中DNS信息的缓存和管理。 网络服务搜索(Net Service Discovery,转载 2017-09-14 18:50:25 · 10742 阅读 · 3 评论