摘要: 单件模式 单件模式的结构非常简单,只包括一种角色:单件类(Singleton),单件类只可以创建出一个实例。 单件类在设计上有如下特点: 1.单件类中包含自身声明的类变量,这个类变量是单件类唯一的实例。 2.单件类的构造方法是private。为了确保单件类中自身声明的类变量是单件类的唯一实例,单件类必须将构造方法的访问权限设置为private。这样,任何其他的类都无法使用单件类来创建对象。 3.单件类负责创建自己唯一的实例,并提供访问该实例的类方法。由于单件类的构造方法被设置为private,所以单件类必须自己负责创建自身声明的实例。为了让用户使用单件类的这个唯一的实例,单件类必... 阅读全文
posted @ 2014-03-14 09:28 我是大嘴猴 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 什么是设计模式 一个设计模式是针对某一类问题的最佳解决方案,而且已经成功应用于许多系统的设计中,它解决了在某种特定情景中重复发生的某个问题,因此,可以这样定义设计模式:“设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。 什么是框架 框架不是模式,框架是针对某个领域,提供用于开发应用系统的类的集合。程序设计者可以使用框架提供的类设计一个应用程序,而在设计应用程序时可以针对特定的问题使用某个模式。一个框架往往会包括多个设计模式,他们是面向对象系统获得最大复用的方式。Android系统中的Application Framework(应用程序框架层)就是框架。突然想到,我们开... 阅读全文
posted @ 2014-03-13 21:49 我是大嘴猴 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 如何查询收发的短信息 使用ContentProvider可以读取系统的短信息。下面的代码查询了所有以1开头的电话号码的短信息。 ListView lvShortMessages=(ListView)findViewById(R.id.lvShortMessage); Cursor cursor=getContentResolver().query( Uri.parse("content://sms"),null,"address like ?", new String[]{"1%"},null); SMSAdapter smsAdap 阅读全文
posted @ 2014-03-12 09:08 我是大嘴猴 阅读(634) 评论(0) 推荐(0) 编辑
摘要: Android常用URI android管理联系人的URI: ContactsContract.Contacts.CONTENT_URI 管理联系人的Uri ContactsContract.CommonDataKinds.Phone.CONTENT_RUI 管理联系人的电话的Uri ContactsContract.CommonDataKinds.Email.CONTENT_URI 管理联系人的Eamil的Uri(注:Contacts有两个表,分别是rawContact和Data,rawContact记录了用户的id和name,其中id栏名称 为:ContactsContract.C... 阅读全文
posted @ 2014-03-12 08:44 我是大嘴猴 阅读(3926) 评论(0) 推荐(0) 编辑
摘要: 如何读取联系人信息? 使用ContentProviter可以读取联系人信息,下面的代码读取了所有的联系人的信息,并将联系人名称显示在ListView组件中。 ListView list=(listView)findViewById(R.id.listview); //查询系统中所有的联系人 Cursor cursor=getContentResolver().query( ContactsContract.Contacts.CONTENT_URI,null,null,null,null); //根据cursor创建SimpleCursorAdapter对象 SimpleCur... 阅读全文
posted @ 2014-03-11 22:29 我是大嘴猴 阅读(1673) 评论(0) 推荐(0) 编辑
摘要: 第一种: 1 File d=new File(...);//被读取数据的文件 2 File x=new File(...);//要写入数据的文件 3 FileInputStream fis=new FileInputStream(d);//读文件的字节流 4 FileOutputStream fos=new FileOutputStream(x);//写文件的字节流 5 //定义一个缓存区数组 6 byte[] buf=new byte[1024]; 7 int len=0; 8 while(len=fis.read(buf))!=-1){ 9 fos.write(buf,0,le... 阅读全文
posted @ 2014-03-10 10:48 我是大嘴猴 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 从图书馆借了一本《Android项目实战——手机安全卫士开发案例解析》,想通过学习源代码来加深对Android重点知识的理解,以及进一步复习领悟JAVA SE。接下来的两个月,一边学习一遍记录重要的知识点,希望自己能有所收获、有所提高。 Splash界面的作用: 1.展现产品的LOGO,提升产品的知名度。 2.初始化的操作(初始化数据库、文件的复制、配置的读取)。 3.根据系统的时间或日期做出相应的判断来加载不同的Splash界面(例如,QQ的登陆界面),提升用户体验。 4.连接服务器,检查获取更新信息,提示用户升级。在此项目中用于连接服务器,检查版本是否需要更新下载,以及初始化... 阅读全文
posted @ 2014-03-08 22:59 我是大嘴猴 阅读(1457) 评论(0) 推荐(0) 编辑
摘要: 开发AIDL服务的步骤 AIDL(Android Interface Definition Language)是Service的一种重要应用,允许一个应用程序访问另一个应用程序中的对象。 建立AIDL服务的具体步骤: 1.在Android工程的Java源文件目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。 2.如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。 3.建立一个服务类(Service的子类)。 4.实现由aidl文件生成的Java接口。 5.在AndroidManifest.xml文件中配置AID... 阅读全文
posted @ 2014-03-08 11:15 我是大嘴猴 阅读(344) 评论(0) 推荐(0) 编辑
摘要: Activity本身不会在手机开机后自动运行的。但想让手机开机后就立刻做一些动作,需要使用广播接收器拦截手机开启广播,并在onReceive方法中完成相应的动作,如打开一个Activity。 广播接收类(StartupReceiver)的onReceive方法的代码如下: public void onReceive(Context context,Intent intent){ Intent mainIntent=new Intent(context,Main.class);//在广播接收器中显示Activity,必须要设置FLAG_ACTIVITY_NEW_TASK标志 m... 阅读全文
posted @ 2014-03-08 10:34 我是大嘴猴 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 如何拦截手机屏幕休眠和唤醒动作 当按手机的电源键时手机黑屏,这是屏幕休眠,当再次按下手机电源键时屏幕会变亮,并处于锁屏状态,这叫屏幕唤醒。Android允许通过广播接收器拦截这两个动作。但要注意,拦截屏幕休眠和唤醒广播的接收器只能通过Java代码注册,不能在AndroidManifest.xml文件中进行注册。 通过如下两个Broadcast Action可以拦截屏幕休眠和唤醒动作。 休眠动作:Intent.ACTION_SCREEN_OFF 唤醒动作:Intent.ACTION_SCREEN_ON 设拦截这两个动作的广播接收器类是ScreenOnOffReceiver,那么注册广播... 阅读全文
posted @ 2014-03-08 09:13 我是大嘴猴 阅读(1498) 评论(0) 推荐(0) 编辑