Android 源码阅读之SMS,MMS】的更多相关文章

主界面: com.android.mms.ui.ConversationList.java  [extends ListActivity] 点击新建信息:onListItemClick -〉 position == 0 -〉createNewMessage()-〉 startActivity[ComposeMessageActivity] com.android.mms.ui.ComposeMessageActivity.java 点击发送按钮:onClick -> mSendButton ->…
@Dlive 本文档: 使用的Android源码版本为:Android-4.4.3_r1 kitkat (源码下载: http://source.android.com/source/index.html) 使用的源码阅读工具为Source Insight 源码结构: 0x00 Zygote介绍 Zygote是在设备开启的时候init启动的其中一个进程.在Android系统中,所有的应用程序进程,以及用来运行系统关键服务的System进程都是由Zygote进程负责创建的,因为其行为很想受精卵的分…
因为EXT和NTFS格式的差异,我一直对于windows下阅读Android源码感到不满. 前几天,想把最新的android5.0的源码下下来研究一下,而平时日常使用的又是windows环境,于是专门思考了一下这个问题,总结一次. 要求 有且只有一份可以下载,更新,编译的Android源码,可以在不同平台查看. 硬件篇 方案一:U盘 拷贝一份在linux下的Android源码,到某一U盘. 优点: u盘便携性非常强,可随身携带 缺点: 源码不能更新,每次重新拷贝最新的源码需要一台linux,而且…
在开发者模式下,在开发者选项中,可以勾选“显示触摸操作”,然后只要点击屏幕就会在点击的位置有圈圈显示.如何找到绘制圈圈的代码部分,有什么技巧来阅读代码量这么大的android系统源码呢?以下请跟着小老弟我来一起分析吧. 1. android设置功能的代码是在packages/apps/Settings/里面的,所以在Settings中搜寻关键的字符串, 在源码目录下终端输入 grep -rn "显示触摸操作" ./packages/apps/Settings/ 搜到如下: ./pack…
Filter 顺便看看,Android中过滤器是怎么实现的? 注释中提到,Filter一般通过继承Filterable实现 具体实现 这是SimpleAdapter出现的一个过滤首字母item的一个过滤器 private class SimpleFilter extends Filter { @Override protected FilterResults performFiltering(CharSequence prefix) { FilterResults results = new F…
消息处理机制: .MessageQueue: 用来描述消息队列2.Looper:用来创建消息队列3.Handler:用来发送消息队列 初始化: .通过Looper.prepare()创建一个Looper对象,并将Looper对象保存到sThreadLocal静态变量中(其实是保存到了当前线程的ThreadLocal.values变量中)2.在Looper的构造函数中创建一个MessageQueue对象3.在MessageQueue的构造函数中调用nativeInit JNI方法 去c++层创建一…
Zygote: .Zygote 是系统启动之后创建的第二个进程2.Zygote 创建zygote Socket.虚拟机3.Zygote 在虚拟机中通过forkSystemServer, 创建Server进程, 并且在其中启动服务(AMS.PMS等)4.Zygote 在虚拟机中注册zygote套接字,循环监听AMS的请求,创建新的进程 Server: (PS:版本不同,创建服务的方法也有很大不同,以下为5.1.1版本) 1.Zygote fork自己,为Server创建新的子进程之后,调用hand…
前言        古人常说,“熟读唐诗三百首,不会作诗也会吟”,说明了大量阅读诗歌名篇对学习作诗有非常大的帮助.做开发也一样,Android源码是全世界最优秀的Android工程师编写的代码,也是Android开发中绝对的权威所在.Android系统开源,且占据了当今手机系统世界的绝大部分江山,各大手机厂商要做手机系统定制,就必须对Android系统源码非常熟悉,这就要求他们的工程师们去熟读源码.即使是纯第三方App的开发者,要想成为Android开发真正的行家里手,也必须对系统源码有一定的研…
之前一直在windows下用source insight阅读android源码,效果非常好.后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式.最近发现一个不错的东西(早就有了),在android源码中有这么一个目录development/tools/idegen.顾名思义,是生成ide的project文件,主要是生成intellij的project文件,当然夜可用于android studio.使用之后,发现效果超棒,所以这里专门撰文推荐. 1.效果图 2.编译id…
1. 安装 Source Insight (1) Source Insight 相关资源 安装相关资源 : -- 下载地址 : http://www.sourceinsight.com/down35.html; -- 注册码 : SI3US-361500-17409 . 2. 导入 Android 源码 导入 Android 源码 : -- 创建工程 : Project -> New Project, 输入一个工程名, 文件路径设置为 Android 源码路径, 这个一定要注意, 否则会拷贝整个…
显然Eclipse不是阅读Android源码的好工具,不流畅,搜索低效,继承性关系/调用关系都无法有效查看.推荐Source Insight,在这个工具帮助下,你才可以驾驭巨大数量的Android 源码,你可以从容在Java,C++,C代码间遨游,你可以很快找到你需要的继承和调用关系.顺便,现在东家是Linux+Samba+Windows的工作模式,Linux+Samba用于代码的同步/编译/管理,Windows做代码编辑.你 需要先理解下这个图:Application层就是一个个应用程序,很好…
日常开发中怎么阅读源码 找到正确的源码 IDE 是日常经常用的东西,Eclipse 就不说了,直接从 Android Studio(基于 IntelliJ Community 版本改造)开始. 我们平时的 Android 项目,都是要依赖 Android SDK 里对应 API Level 的 android.jar 包(而且是以 Provided 的形式依赖),这样才能使用 Android 提供的 API.在 IntelliJ 中,当想要看具体类的源码的时候,如果 Android SDK 里对…
参考原文:http://bbs.pediy.com/thread-217656.htm Android安全–linker加载so流程,在.init下断点: http://www.blogfshare.com/linker-load-so.html 我的源码版本:android-4.4.4_r1 以 [java.lang.Runtime -> load()] 为例来说明(loadLiabrary() 最后和 load() 殊途同归,有兴趣的可以自行分析),对应的 Android 源码在 [srcA…
android源码的目录结构 [以下网络摘抄] |-- Makefile ! l/ a5 n% S% @- `0 d# z# a$ P4 V3 o7 R|-- bionic                        (bionic C库) |-- bootable                (启动引导相关代码) |-- build                        (存放系统编译规则及generic等基础开发包配置) |-- cts                      …
在线代码网站1:http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/ 书籍:<Android系统源代码情景分析> Android源码结构: Android源代码结构分析 Google提供的Android包含了:Android源代码,工具链,基础C库,仿真环境,开发环境等,完整的一套. 第一级别的目录和文件如下所示: ---------------- ├── Makefil…
2.3编译Android源码 Android源码体积非常庞大,由Dalvik虚拟机.Linux内核.编译系统.框架代码.Android定制C库.测试套件.系统应用程序等部分组成,在编译Android源码之前,必须要先掌握Android源码的组成. 2.3.1Android源码目录结构 在Android源码中,按照不同功能代码被放在不同的目录下: 目录 描述 bionic 针对Android系统定制的仿生标准C库.链接器等所在目录,Android系统并没有使用Linux的glibc库,bioinc…
一.环境说明: 1.liunx系统:Ubuntu12.04 2.jdk:sun-java6-jdk 3.g++4.5 gcc4.5 二.android源码的目录结构 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等基础开发包配置) |-- cts (Android兼容性测试套件标准) |-- dalvik (dalvik JAVA虚拟机) |-- development…
Android SDK目录具体结构 1. add-ons:这里面保存着附加库,比如Google Maps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面. 2. docs:这里面是Android SDK API参考文档,所有的API都可以在这里查到. 3. market_licensing:作为AndroidMarket版权保护组件,一般发布付费应用到电子市场可以用它来反盗版. 4. platforms:是每个平台的SDK真正的文件,里面会根据API Level划分的SDK版本,…
Android 源码目录分析 Android 4.0 |-- abi (application binary interface:应用二进制接口)|-- art (average retrieval time:平均检索时间)|-- bionic (bionic C库 Android linux内核库)|-- bootable (启动引导相关代码)|-- build (存放系统编译规则及通用类基础开发包配置)|-- cts (Android兼容性测试套件标准)|-- dalvik (dalvik…
title: 源码阅读系列:EventBus date: 2016-12-22 16:16:47 tags: 源码阅读 --- EventBus 是人们在日常开发中经常会用到的开源库,即使是不直接用的人,也多少借鉴过事件总线的用法.而且EventBus的代码其实是非常简单的,可以试着阅读一下. 源码阅读系列不采用对功能进行归类的方法进行阅读,而是采用一个刚开始阅读源码的视角,从我们平时的API调用,一步步的去理解设计意图和实现原理. 从这里开始 从这里开始吧,我们最常用的地方就是给一个函数添加上…
Android源码对于Android开发者来说,迟早有一天你会用到的,所以就记录一下,分享给读者,希望对读者有用 这里需要使用到Git相关知识,不清楚的可以先阅读,了解的可以跳过 Git-TortoiseGit完整配置: http://www.cnblogs.com/popfisher/p/5466174.html  下面通过四个步骤完成platform/frameworks/base工程的clone 1.Google 存放Android源码的Git仓库 http://android.kvmpo…
EventBus源码阅读记录 repo地址: greenrobot/EventBus EventBus的构造 双重加锁的单例. static volatile EventBus defaultInstance; public static EventBus getDefault() { if (defaultInstance == null) { synchronized (EventBus.class) { if (defaultInstance == null) { defaultInsta…
前面多篇文章介绍到如何下载和编译Android或者CM源码,不过一直都是放在<拓展系列>里.随着学习的深入,android源码是非常有参考和学习价值,强烈推荐大家都去下载,编译,学习,所以把它提到<学习系列>专讲一章基础篇.刚装了UBUNTU14.04,所以尝试在新环境下编译一下android源码.因为和谐原因,我临时买了个VPN,推荐一下(还算稳定):http://a.wy002.com/34750 或者云梯 1.参考链接(官方):环境:http://source.android…
本文改写于:http://www.cnblogs.com/skyme/archive/2011/05/14/2046040.html 1.下载并安装git: 在git-scm.com上下载并安装git,安装后它会自动加载在windows右键菜单中. 2.生成下载命令列表: git下载的格式形如: git clone https://android.googlesource.com/name 把name换成具体的目录即可,android源码的目录极多,手动手写太过繁杂,改写文章提供了一个java程…
文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅读Android源码? 如何查看Android源码[以Android2.2为例] 我们知道在Eclipse里按住Ctrl键不松手在某个类上点击鼠标左键,可以跳转到该类的文件.如果没有源码就会跳到class文件上.因此我们只需要把源码拷贝到合适位置,Eclipse就可以找到源码了.接下来我说一下步骤:…
1.在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志. 比如View.java中的 /** * This view does not want keystrokes. Use with TAKES_FOCUS_MASK when * calling setFlags. */ private static final int NOT_FOCUSABLE = 0x00000000; /** * This view wants keystrokes. Us…
http://www.cnblogs.com/chenbin7/archive/2013/01/05/2846863.html Android.mk简单分析 2013-01-05 22:51 by ...平..淡..., 884 阅读, 0 评论, 收藏, 编辑 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-fil…
  git clone https://android.googlesource.com/device/common.git  git clone https://android.googlesource.com/device/google/accessory/arduino.git  git clone https://android.googlesource.com/device/google/accessory/demokit.git  git clone https://android.…
最近Android 6.0版本的源代码开放下载,刚好分析Android源码的技术书籍<Android源码设计模式解析与实战>上市,我们邀请到它的作者何红辉,来谈谈Android源码中的设计模式,以及近期Android开发中的一些热点话题. 受访嘉宾介绍: 何红辉(@MrSimp1e),前友盟Android工程师,活跃于国内各大技术社区,热爱开源,热爱技术,热爱分享.Android开源库 AndroidEventBus . Colorful 作者, 开发技术前线 站长,<Android源码…
原网址:http://jingyan.baidu.com/article/574c5219ca78ed6c8d9dc12a.html 在Android系统上工作了一段时间,经常会遇到题目中的问题,下面说说我的看法: 1.需要先找一个开头,和UI有直接关系的就是最常见的Activity了吧,我就从它开始解剖.从Activity的创建入手,寻找Activity真正的创建位置,setContentview这个方法很明显和UI有关,这两方面一结合,我发现了ViewRoot和WindowManager的身…