- 博客(27)
- 收藏
- 关注
原创 代理模式 Proxy Design Pattern
Proxy 代理模式Provide a surrogate or placeholder for another object to control access to it.Use an extra level of indirection to support distributed,controlled, or intelligent access.Add a wrapper a
2016-05-17 14:45:16
674
原创 ServiceStateTracker与RIL对象的交互
ServiceStateTracker与RIL对象的交互两种方式:ServiceStateTracker对象主动发起的ServiceStateTracker对象被动接收的1.被动接收RIL上报ServiceStateTracker对象和Phone对象有相同的生命周期,在建立时会调用RIL对象的registerForXXX和setOnXXX方法,完成7种类型注册:
2015-03-19 10:06:01
2801
原创 ServiceState学习
ServiceState类在framework/base工程下。实现了Parcelable接口。共包含4种服务状态和16中无线通信技术。
2015-03-17 13:38:32
1859
原创 一个简单的抽象工厂模式
抽象工厂模式引出了产品族的概念(Product family)给出下边的例子: 一个生产厂(富士康)能生产苹果的或者是谷歌的手机和笔记本电脑。苹果和谷歌是两个不同的产品族。手机和笔记本电脑是两个不同的产品类型。生产一个产品首先选择它的产品组,然后确定产品类型就能生产出来。具体代码://手机abstract class MobilePhone{}
2015-03-04 17:04:11
461
原创 一个简单的工厂方法模式
接着上一篇简单工厂模式的例子,这里给出一个工厂方法模式的例子:首先还是手机:interface MobilePhone{...}class IPhone7 implements MobilePhone{...}class IPhone7s implements MobilePhone{...}然后还是工厂类,用抽象类或者接口实现,因为它并不具体的生产实例:abstract cl
2015-03-04 16:34:10
482
原创 一个简单的工厂模式
工厂模式简单的JAVA实例:一个工厂生产手机:首先定义一个手机公共接口://所有手机的公共接口interface MobilePhone{ //获取手机信息 String getPhoneInfo(); //打电话 void makePhoneCalls(); //发短信 void sendShortMessage
2015-03-04 15:45:09
663
翻译 抽象工厂设计模式(Abstract Factory Design Pattern)
sourcemaking.com抽象工厂:提供一个接口来创建相关的或有依赖的对象们的家庭,而不用指明他们的具体类。一种层级结构封装了:许多可能的“平台”(比如窗口系统、操作系统、数据库等),还有构建了一套“产品”。new 操作在这里认为是有害的。
2015-03-04 10:33:20
658
转载 接受广播消息
《疯狂Android》一书学习笔记:接受广播消息 四大组建的一种,接受广播消息BroadcastReceiver,是一种全局的监听器。BroadcastReceiver简介 BroadcastReceiver用于接听Broadcast Intent,与启动Activity或Service类似,启动BroadcastReceiver也需要两部:创建
2015-02-17 09:33:21
683
转载 跨进程调用 Service(AIDL Service)
根据疯狂Android讲义学习: AIDL Service 是一个跨进程通信IPC服务(Interprocess Communication),类似于JAVA的CORBA、RMI。AIDL Service 简介 和JAVA RMI类似,都需要先定义远程调用接口,然后为该接口提供一个实现类。 不同的是RMI会将对象返回给客户端,而AIDL则是
2015-02-16 10:02:46
456
转载 Android service学习
根据疯狂Android讲义一书学习:Service介绍Service作为安卓四大组建之一,也许要在AndroidManifest.xml中配置,并且根据属性指定可以被哪些Intent启动。Service和Activity来自相同基类Context,也可一调用getResoureces(),getContentResolver()等方法。Service的生命周期:
2015-02-15 14:54:09
440
翻译 处理Fragment配置变更
StackOerflow上经常看到类似如下的问题: 在设备配置变更时保持激活对象比如运行中的Threads,Sochets还有AsyncTasks的最好办法是什么? 本文讨论这个问题。首先讨论对于开发者来讲比较难的在Activity生命周期中的长运行后台线程问题。然后讨论两种解决方案。最终给出实例代码。配置变化和后台任务 首先一个问题是配置改变和Activi
2015-02-15 09:49:52
666
翻译 Avtivitys, Threads & Memory Leaks
Ref: http://www.androiddesignpatterns.com/2013/04/activitys-threads-memory-leaks.html 安卓开发中一个难点就是activity生命周期里的长时间运行任务可能造成的内存泄漏。看下面一段代码:/** * Example illustrating how threads persist
2015-02-13 14:02:54
429
转载 AMS启动Activity过程
Android应用程序框架层中的ActivityManagerService启动Activity的过程大致如下图所示:在这个图中,ActivityManagerService和ActivityStack位于同一个进程中,而ApplicationThread和ActivityThread位于另一个进程中。其中,ActivityManagerService是负责管理Activity的生命周期的
2015-02-13 12:08:01
1139
原创 Java 四种引用类型
先看javadoc自己的介绍:java.lang.ref.Reference:Provides an abstract class which describes behavior common to all reference objects. It is not possible to create immediate subclasses of Reference in additi
2015-02-12 17:56:52
444
翻译 Handler、Inner Class 怎么造成context泄漏的?
考虑下边这段代码:public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) { // ... } }}
2015-02-12 16:33:27
447
翻译 Android 线程安排
REF:http://www.androiddesignpatterns.com/2014/01/thread-scheduling-in-android.html本文讲解如何在android里保证多线程的顺序,并且多线程在后台时不会造成程序没相应。OS里负责线程的是 Thread scheduler. Android 系统 Thread Scheduler 考虑两个因素 va
2015-02-12 15:25:37
539
翻译 contentProvider不是线程安全的
A common source of confusion when implementing ContentProviders is that of thread-safety.We all know that any potentially expensive query should be asynchronous so as not to blockthe UI thread, but wh
2015-02-12 15:15:04
3117
翻译 用Logs进行基础安卓debugging
就像大多数软件工程领域,debugging在安卓开发中扮演重要的角色。正确的设置你的应用debugging能够减少大量时间和困惑。不幸的事,在我的经验看来,没有很多初学者学着正确的用安卓SDK自带的工具类。除非你是以为有经验的开发者,这是我个人的看法,安卓debugging应该按照一套模式。因为以下几点原因会带来一些好处:它能帮你在代码间预见bugs。为你的开发工作区设立debugging
2015-02-12 14:30:06
540
转载 LoaderManager
ref: http://blog.youkuaiyun.com/murphykwu/article/details/35287883将Loaders看成一个简单、字包含的对象。该对象特性包括:1.在一个单独线程载入数据;2.监测底层数据源,当探测到有改变时就更新或者重新查询。LoaderManager是什么?简单的理解是,LoaderManager用来负
2015-02-12 11:37:48
517
原创 AsyncTask 异步任务
参考疯狂Android讲义3.6章:AsyncTask 抽象类,三个泛型参数:Params:启动任务执行的输入参数类型;Progress:后台任务完成的进度值的类型;Result:后台任务执行后返回的结果类型;不需要指定类型的话用Void。必须要继承重写的方法是:doInBackground(Params... param):后台线程要完成的任务;可
2015-02-11 15:38:40
346
转载 Git和Repo管理使用简要介绍
在Linux平台下进行Android系统项目开发时,需要git或repo管理。 一. Git和Repo的区别: 1. Git:Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 2. Repo: Repo是谷歌用Python脚本写的调用git的一个脚本。主要是用来下载、管理Android项目的软件仓库(也就是说Repo是用
2015-01-13 16:57:07
337
转载 git tutorial
创建新仓库创建新文件夹,打开,然后执行 git init以创建新的 git 仓库。检出仓库执行如下命令以创建一个本地仓库的克隆版本:git clone /path/to/repository 如果是远端服务器上的仓库,你的命令会是这个样子:git clone username@host:/path/to/repository
2015-01-13 16:39:08
355
转载 一个经典例子让你彻彻底底理解java回调机制
转帖请注明本文出自xiaanming的博客(http://blog.youkuaiyun.com/xiaanming/article/details/17483273)所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的,其实我刚开始也是这样不理解,看了人家说比较经典的回调方式:Class A实现接口CallBa
2015-01-13 13:58:57
333
转载 Android Activity和Intent机制学习笔记
Ref: http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.htmlActivityAndroid中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01
2015-01-13 13:36:59
277
转载 Android Intent实现Activity之间跳转并传值
Ref: http://www.linuxidc.com/Linux/2011-04/34228.htmAndroid用Intent这个特殊类实现在Activity与Activity之间的切换。通过解析各种intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,activity将会调用 startActivity(IntentmyIntent)方法。例子效果如下:
2015-01-13 13:33:54
614
转载 苹果Swift编程语言入门教程【中文版】
苹果Swift编程语言入门教程【中文版】 目录 1 简介 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简介 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼
2014-06-11 10:41:02
538
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人