摘要: 原文转自:http://marshal.easymorse.com/archives/2950在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:standardsingleTopsingleTasksingleInstance设置的位置在AndroidManifest.xml文件中activity元素的android:lau 阅读全文
posted @ 2013-05-12 14:17 g.hui 阅读(90) 评论(0) 推荐(0)
摘要: 关于activity的状态保存,以前从来没想过还会有这个问题。这里小小总结一下,以备日后查看。系统默认实现了哪些 1》可以做个测试,我们可以写个demo,界面上有一个EditText。然后你在里面随便填入一些数据。然后按home键回到桌面,这个时候会调用activity的onPause->onStop,然后我们长按home键选择刚才的demo重新打开发现EditText里面的数据并没有丢失。这是因为执行onStop后此activity并没有并销毁,所以它的各种状态也会被保持。 2》我们接着测试,我们在EditText中填入数据,接着旋转屏幕这个时候会重启activity(系统会先回调o. 阅读全文
posted @ 2013-05-12 11:51 g.hui 阅读(909) 评论(1) 推荐(1)
摘要: 生命周期流程图Activity的状态 运行状态、暂停状态、停止状态、销毁状态说明:1》正常启动一个activity将先执行onCreate->onStart()->onResume然后进入运行状态 2》当正在运行的activity被后来的activity覆盖(依然可见)时将执行onPause()进入暂停状态 3》当activity不可见时将进入停止状态 4》当activity结束或所在进程被销毁时将进入销毁状态回调方法 在activity生命周期中,如下方法会被回调: onCreate 创建activity时被回调 onStart 启动activity时被回... 阅读全文
posted @ 2013-05-11 21:41 g.hui 阅读(163) 评论(0) 推荐(0)
摘要: 开始之前 插播一个设计原则:依赖倒置原则 依赖倒置原则:要依赖抽象,不要依赖具体类定义 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。UML类图 分析: 可以看到Client只与抽象的工厂类,及抽象的产品类有关联。利用这此抽象类或接口书写代码,我们的代码将从具体类解耦,这也就遵守了上面提到的一个设计原则:依赖倒置原则。实例 一个买手机的例子,我们到PhoneStore买手机。然后商店根据我们选择的手机品牌,开始制作手机,手机中有两个主要部件:cpu,主板。下图是uml类图:关键代码:1>Cpu,Mainboardpublic abstract class Cpu.. 阅读全文
posted @ 2013-05-11 18:16 g.hui 阅读(289) 评论(0) 推荐(0)
摘要: 在初学设计模式【4】简单工厂模式——SimpleFactory中介绍了工厂模式中最简单的一个模式——简单工厂模式。正如它的名字一样,此模式的确很简单,但缺点也很明显。如果需要添加新的产品类时,就需要修改工厂类。很明显这违反了一个重要的OO设计原则——开闭原则。为了克服简单工厂模式的这个问题,就有了一个新的工厂模式——工厂方法模式。定义 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。UML类图分析:1>Product与Creator都是抽象类,Creator中有一个抽象工厂方法factoryMethod,此方法也是此模式的核心。各具体创建者类必 阅读全文
posted @ 2013-05-10 14:17 g.hui 阅读(218) 评论(0) 推荐(0)
摘要: 在java中我们是通过new来实例化一个对象的,但这似乎和面向对象程序设计的一个原则(针对超类型编程,不针对具体实现编程)相悖。因为每当我们用new时就必然会针对具体类,为了解决这个问题就有了一个新的设计模式——工厂模式。 与别的模式不同工厂模式包括三种——简单工厂模式、工厂方法模式、抽象工厂模式。此篇介绍简单工厂模式。简单工厂模式 严格来说,简单工厂不算一个设计模式,反而比较像是一种编程习惯。姑且就把当一个模式来学习吧。简单工厂模式主要是用来避免直接在客户代码中实例化具体对象以达到提高抽象层次避免针对具体编程的目的。UML类图图1分析:1>Client代表客户代码,就是我们需要一个具体 阅读全文
posted @ 2013-05-09 19:48 g.hui 阅读(298) 评论(0) 推荐(0)
摘要: notification是一种出现在任务栏的提示,特别是在4.0以后notification改进了不少,本文内容都是基于4.0及4.1以后总结来的。分类notification有以下几种: 1>普通notification 1.内容标题 2.大图标 3.内容 4.内容附加信息 5.小图标 6.时间 2>大布局Notification 图1 大布局notification是在android4.1以后才增加的,大布局notification与小布局notification只在‘7’部分有区别,其它部分都一致。大布局notification只有在所... 阅读全文
posted @ 2013-05-08 10:16 g.hui 阅读(1514) 评论(5) 推荐(0)
摘要: Toast提供了一个很方便的与用户交互的反馈方式。如下图:Toast大致分一下几种:1>普通Toastprivate void normalToast() { Toast.makeText(context, "normalToast", Toast.LENGTH_SHORT).show(); }2>带图片的Toast 1 private void picToast() { 2 Toast toast = Toast.makeText(context, "picToast", Toast.LENGTH_SHORT); 3 toast.setGr 阅读全文
posted @ 2013-05-06 11:29 g.hui 阅读(191) 评论(0) 推荐(0)
摘要: 很早就发现自己的nexus 手机在“开发者选项”里有一项“ADB OVER NETWORK”从字意上猜想是不是可以通过网络来连接我们的eclipse与android设备,直接来调试应用。再加上自己手机上的usb接口接触老出问题,老出现device offline的错误,于是下决心研究一下。Google了一下,在stackoverflow中找到了答案。总解如下:1)手机与电脑连接在同一个路由器上这种情况应该是比较常见的设置起来也是最方便的,步骤如下:a.首先进到android设备中的“开发者选项”,打开“ADB OVER NETWORK”,此时就可以看到手机的ip地址b.在电脑端打开cmd,.. 阅读全文
posted @ 2013-05-04 15:16 g.hui 阅读(2475) 评论(0) 推荐(0)
摘要: 安卓内置了四种对话框:AlertDialog、ProgressDialog、DataPickerDialog、TimePickerDialog.这几种对话框外观都是系统定义好的,如果我们想自定义外观,我们可以利用AlertDialog自定义对话框。本文主要介绍AlertDialog及其自定义,其它的对话框说白了都是一些控件,对于控件的学习个人觉得先大致了解如何去用就行了,等到真正用到的时候再去详细学习是最合适的。AlertDialog 步骤:1.创建AlertDialog.Builder对象builder 2.利用builder为Dialog设置各种属性,如:标题、内容、图标 ... 阅读全文
posted @ 2013-05-03 21:19 g.hui 阅读(268) 评论(0) 推荐(0)