摘要: 下述能够找到Android开发源代码: 1. http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/ 2. http://androidxref.com/6.0.1_r10/ A 阅读全文
posted @ 2017-02-13 22:54 jamesK4W 阅读(296) 评论(0) 推荐(0) 编辑
摘要: WeakReference 弱引用 定义:弱引用,与强引用(我们常见的引用方式)相对;特点是:GC在回收时会忽略掉弱引用对象(忽略掉这种引用关系),即:就算弱引用指向了某个对象,但只要该对象没有被强引用指向,该对象也会被GC检查时回收掉。 强引用实例自然不会被GC回收! 如何引出弱引用?弱引用的实际 阅读全文
posted @ 2017-02-13 22:52 jamesK4W 阅读(11174) 评论(1) 推荐(1) 编辑
摘要: Gerrit和Git环境配置可以参考《git&gerrit操作指导》 步骤1. 先在Gerrit中创建新的账户: 步骤2. 在新的客户端上生成密钥(可以使用的是生成的公钥): 步骤3. 将生成的公钥添加到Gerrit的账户中: 步骤4. 配置config文件: 该文件存在于.ssh目录下,执行:vi 阅读全文
posted @ 2017-02-13 22:49 jamesK4W 阅读(436) 评论(0) 推荐(0) 编辑
摘要: repo init -u ssh://jenkins@gerrit.y:29419/manifest -m k86A.xml 使用-m参数指定具体使用的是k86A.mxl文件 步骤1. curl http://gerrit.y/repo > repo 安装repo,用于更新Android源代码。下载 阅读全文
posted @ 2017-02-13 22:44 jamesK4W 阅读(1254) 评论(0) 推荐(0) 编辑
摘要: 编译Android源代码分为两种情况: 1. 完整编译源码: ./mk_aliphone.sh --> 完整编译脚本 --> 6735 输入对应的编号 --> userdebug adb new(-->remake) 上述指令流程后,若报错,则将错误解决后,执行. ./mk_aliphone.sh后 阅读全文
posted @ 2017-02-13 22:42 jamesK4W 阅读(7453) 评论(0) 推荐(0) 编辑
摘要: 研究代码从:AndroidManifest.xml、自定义的Application.java开始。 Android系统启动时,系统需要一个Home应用程序来负责将这些应用程序展示出来;也就是该应用的目的在于:Android系统启动后,第一个启动的应用程序。在Android系统中,这个默认的Home应 阅读全文
posted @ 2017-02-13 22:38 jamesK4W 阅读(1799) 评论(0) 推荐(0) 编辑
摘要: Framework文件夹中base目录下文件分类: Android系统结构框架: Android Framework层各文件夹功能分类: 阅读全文
posted @ 2017-02-13 22:33 jamesK4W 阅读(1607) 评论(0) 推荐(0) 编辑
摘要: 在讲述Android源码编译的三个步骤之前,将先介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Android源代码的位置。 Android源代码顶层目录结构如下所示: ├──abi #应用二进制接口,不同的操作系统,应用二进制接口不同,因此linux上的二进制可执行文件 阅读全文
posted @ 2017-02-13 22:27 jamesK4W 阅读(7274) 评论(0) 推荐(1) 编辑
摘要: Android系统设计采用代码和布局分离的设计模式,因此在设计Android应用程序时需要遵循该设计模式。 “把非代码资源(如图片和字符串常量)和代码分离开来始终是一种很好的做法。” 《Android4高级编程》 为什么要将资源和代码进行分离? Android支持各种资源与代码的分离,从简单的字符串 阅读全文
posted @ 2017-02-12 22:16 jamesK4W 阅读(2127) 评论(0) 推荐(0) 编辑
摘要: Action Bar 指明用户当前所在的界面,添加多个功能性按键和下拉式选择框,以提供能多功能。 主题一:让应用具备ActionBar 可能条件一:Support Android 3.0(API 11) and Above Only 步骤一:在<Application>标签中指明theme属性值,a 阅读全文
posted @ 2017-02-12 21:56 jamesK4W 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1. eng:debug版本;2. user:release版本;3. userdebug版本:部分debug版本 Android.mk文件中有配置项:LOCAL_MODULE_TAGS,一般配置值为:user/eng/optional/test四个值。 那么LOCAL_MODULE_TAGS设置为 阅读全文
posted @ 2017-02-12 21:45 jamesK4W 阅读(2329) 评论(0) 推荐(0) 编辑
摘要: 目标:从宏观上解释Android整个系统结构 来源: 《Android4高级编程》 目录: 1. Android软件栈结构 一、Android软件栈结构 Android软件栈分为四个结构:Linux内核、库、应用程序框架、应用层。分别描述如下: 1. Linux内核:(是什么,有什么内容,有什么用途 阅读全文
posted @ 2017-02-12 21:41 jamesK4W 阅读(1209) 评论(0) 推荐(0) 编辑
摘要: Application类 每次应用程序运行时,应用程序的Application类都保持实例化状态(都会持有该Application实例)。与Activity不同的是,配置改变并不会导致应用程序重启。在应用程序内部,通过扩展Application类,可以完成以下三项工作: 1. 对Android运行时 阅读全文
posted @ 2017-02-12 21:37 jamesK4W 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 来自《Android4高级编程》 Android应用程序不能控制自己的生命周期,应用程序组件(Activity、Service等其他组件)必须监听应用程序状态的变化并做出适当的反应,而且特别要注意为随时被终止做好准备。 默认情况下,每个Android应用程序都是通过他们自己的进程运行的,每一个进程都 阅读全文
posted @ 2017-02-12 21:33 jamesK4W 阅读(2184) 评论(0) 推荐(0) 编辑
摘要: 灵活执行后台任务可以帮助提升应用性能,并最小化电量损耗。 Android后台任务主题包含以下三个子主题: 1. 在IntentService中执行后台任务; 2. 使用CursorLoader在后台加载数据; 3. 管理设备的唤醒状态; 阅读全文
posted @ 2017-02-12 21:31 jamesK4W 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Unless you specify otherwise, most of the operations you do in an app run in the foreground on a special thread called the UI thread. 除非特别指定,一般情况下所有在前 阅读全文
posted @ 2017-02-12 21:24 jamesK4W 阅读(759) 评论(0) 推荐(0) 编辑
摘要: 从ContentProvider查询你需要显示的数据是比较耗时的。如果你在Activity中直接执行查询的操作,那么有可能导致Activity出现ANR的错误。即使没有发生ANR,用户也容易感知到一个令人烦恼的UI卡顿。为了避免那些问题,你应该在另外一个线程中执行查询的操作,等待查询操作完成,然后再 阅读全文
posted @ 2017-02-12 21:17 jamesK4W 阅读(1781) 评论(0) 推荐(0) 编辑
摘要: 当一个Android设备闲置时,首先它的屏幕将会变暗,然后关闭屏幕,最后关闭CPU。 这样可以防止设备的电量被迅速消耗殆尽。但是,有时候也会存在一些特例: Apps such as games or movie apps may need to keep the screen turned on. 阅读全文
posted @ 2017-02-12 21:12 jamesK4W 阅读(2383) 评论(0) 推荐(0) 编辑
摘要: BroadcastReceiver的作用: BroadcastReceiver,是和Intent有很大关系的Android组件。 Android中的 Intent 可以用来: 1. 在应用程序内部和应用程序之间传递数据(传输信息的机制),以及通过监听Intent来检测到系统状态的变化; 2. 启动A 阅读全文
posted @ 2017-02-11 21:48 jamesK4W 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 首先,Service在Android体系中是什么?有什么功能?1. Service是服务,其执行线程是UI主线程(宿主进程的主线程);2. 和Activity最大的不同是:Service不涉及到与用户的交互; ## 疑问1. **目标:理解Service的功能;知道如何使用Service,以及如何启 阅读全文
posted @ 2017-02-11 21:46 jamesK4W 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 本章主题是Activity组件;Activity是Android四大组价之一,其重要地位自然不用说。“Activity是应用程序中可见的交互组件的基类,大致上等同于传统桌面应用个程序开发中的窗体。”(引自 《Android 4 高级编程》)。如果想要在界面上展示布局及相关内容,肯定是需要有Activ 阅读全文
posted @ 2017-02-11 21:37 jamesK4W 阅读(394) 评论(0) 推荐(0) 编辑
摘要: Fragment和Activity类似,同样是具备UI的属性;也就是都能用于规划UI布局... Building a Dynamic UI with Fragments --> Fragments具备有动态UI的属性。为了在Android上为用户提供动态的、多窗口的交互体验,我们需要将UI组件和Ac 阅读全文
posted @ 2017-02-11 21:21 jamesK4W 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 1 Fragment Fragment是什么? Fragment允许将Activity拆分成多个完全独立封装的可重用的组件,每个组件有它自己的生命周期和UI布局。 每个Fragment都是独立的模块,并与它所绑定的Activity紧密联系在一起。多个Activity可以共用一个Fragment。此外 阅读全文
posted @ 2017-02-11 21:15 jamesK4W 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 问题提出:如何优雅地分离出应用程序的状态、用户交互和数据表现?如何通过框架体现工程的高性能、高灵活性、高响应性? MVC定义:model、view、controller三者的有机组合,分别表示:模型、视图和控制。 这个模式认为:程序不论简单还是复杂,从结构上来看,都可以分为三个层次。 下图展示了MV 阅读全文
posted @ 2017-02-11 21:06 jamesK4W 阅读(12800) 评论(0) 推荐(0) 编辑
摘要: 系统数据存储路径,如下:其中应用程序包名为:com.spt ContextWrapper类中,包含以下方法: 1. getFilesDir() --> 内部存储 k86m_QC机器上数据存储路径:/data/data/com.spt/files 华为手机上数据存储路径:/data/data/com. 阅读全文
posted @ 2017-02-11 20:54 jamesK4W 阅读(11587) 评论(0) 推荐(0) 编辑
摘要: 目标:是否可以在PC端桌面上使用SQLite数据库制作一个财务文件? 目录: 来源: 实践: 总结和比较: SQLite数据简介 是什么,内部结构是怎样的,数据库和表的关系是什么 有什么用 常用的操作是什么 SQLite数据库使用 增 删 改 查 SQLite数据库实践上的优化措施 对于Androi 阅读全文
posted @ 2017-02-10 22:35 jamesK4W 阅读(278) 评论(0) 推荐(0) 编辑
摘要: Android应用程序需要保存一些配置时,可以将这些配置项放置到values/config.xml文件中。 实例分析: 这些配置项可以使用下述类似的方式获取: 从上述文件内容可以看出,config.xml文件中保存和定义内容的类型是可以不同的,可以是整型的,也可以是字符串类型的等等。 YOcSett 阅读全文
posted @ 2017-02-10 22:29 jamesK4W 阅读(5189) 评论(0) 推荐(0) 编辑
摘要: 应用 Android SQL 数据库时,遇到的问题: 场景1:Android SQL查询后,获取到Cursor并查询数据;遇到以下问题:"android.database.CursorIndexOutOfBoundsException: Index -1 requested" 源代码如下: 问题出在 阅读全文
posted @ 2017-02-10 22:25 jamesK4W 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 如果应用程序需要外部文件资源,可以通过将其放置在项目层次结构的res/raw文件夹中,从而在自己的分法包中包含它们。 为了访问这些只读文件资源,需要调用应用程序的Resource对象的openRawResource方法,以便基于所指定的文件接收一个InputSteam。 大型的、先前已存在的数据源( 阅读全文
posted @ 2017-02-10 22:21 jamesK4W 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 利用Shared Preference或者数据库来存储应用程序数据是一种好的做法,但有时可能仍然希望直接使用文件,而不是依赖于Android的管理机制:尤其是使用多媒体文件的时候。 Android提供了一些基本的文件管理工具用来帮助用户处理文件系统。这些实用工具都位于java.io.File包中。 阅读全文
posted @ 2017-02-10 22:20 jamesK4W 阅读(190) 评论(0) 推荐(0) 编辑