恢复Shared Preference
摘要:访问保存的Shared Preference同样还是用getSharedPreferences方法。传入你要访问的Shared Preference的名字,然后使用类型安全的get<type>方法来提取保存的值。每一个get<type>方法要带一个键值和默认值(当键值没有可获得的值时使用),如下面的框架代码所示:public void loadPreferences() {...
阅读全文
posted @
2009-08-05 10:51
xirihanlin
阅读(699)
推荐(0) 编辑
创建和保存Preference
摘要:为了创建和修改一个Shared Preference,在程序上下文中调用getSharedPreferences方法,传入你要变更的Shared Preference的名字。Shared Preference可以在程序的组件间共享,但对其它应用程序来说不可获得的。修改一个Shared Preference,使用SharedPreferences.Editor类。通过对你想要改变的SharedPre...
阅读全文
posted @
2009-08-05 10:44
xirihanlin
阅读(999)
推荐(0) 编辑
保存简单的应用程序数据
摘要:对于Android应用程序来说,这里有两种轻量级的保存简单数据的技巧——Shared Preference和一对用于保存Activity实例细节的事件处理函数。两种机制都使用名/值(NVP)机制来储存简单的基本类型的值。使用Shared Preference,你可以在你的应用程序里创建key/value对的命名表,它可以在运行在相同的上下文的组件间共享。Shared Pre...
阅读全文
posted @
2009-08-05 10:32
xirihanlin
阅读(929)
推荐(0) 编辑
Android保存数据的技巧
摘要:Android中数据保存的技巧从速度、效率和健壮性间做出了权衡:❑ Shared Preference当存储UI状态、用户设定或程序设置时,你可能想要一种轻量级的机制来储存已知的数据集。Shared Preference,也称作Preference,能让你成组地保存基本数据的key/value对。❑ File它不够精致,但有时想写入或读取时,File也只能是唯一的路可走。Android允许你创建和...
阅读全文
posted @
2009-08-05 10:05
xirihanlin
阅读(1091)
推荐(0) 编辑
第6章 数据存储、恢复和共享
摘要:这一章,你将学习Android中三种最通用的数据保存技巧——preference、本地文件和SQLite数据库。之后会学习Content Provider。
阅读全文
posted @
2009-08-05 09:31
xirihanlin
阅读(1061)
推荐(0) 编辑
第5章 小结
摘要:这章的焦点是绑定应用程序的组件。Intent提供了一种通用的消息系统,它允许你在你的应用程序与其它的应用程序间传递意图来执行动作和产生事件。你学习了如何使用隐式的和显式的Intent来启动新的Activity,并且学习了如何通过Activity的Intent Filter的运行时解析来动态地填入Activity菜单。你还了解了广播Intent和如何使用它们在设备中发送消息,尤其支持基于系统和程序指...
阅读全文
posted @
2009-08-04 16:07
xirihanlin
阅读(405)
推荐(0) 编辑
创建一个地震Viewer
摘要:接下来的例子,你将要创建一个使用USGS地震种子来显示最近地震列表的工具。你将数次回到这个地震应用程序,第一次是在第6章中的用一个Content Provider保存和共享地震数据,再一次是在第7章和第8章中,添加映射支持和在后台服务中更新地震数据。在这个例子中,你将要创建一个基于List的Activity,它连向一个地震种子,并显示位置、等级以及地震的时间。另外,你还将使用一个AlertDial...
阅读全文
posted @
2009-08-04 16:04
xirihanlin
阅读(979)
推荐(0) 编辑
Dialog主题的Activity
摘要:对话框提供了一个简单的轻量级的屏幕显示技巧,但有时你需要对对话框中的内容有更多控制和能控制其生命周期。解决方案是像完整的Activity一样实现它。通过创建一个Activity,你会丢失对话框类的轻量级属性,但你获得了实现任何想要的屏幕的能力以及对Activity生命周期事件处理函数的完全控制。所以,什么时候是Activity,什么时候是对话框呢?最简单的方式是让一个Activity看起来像对话框...
阅读全文
posted @
2009-08-04 15:57
xirihanlin
阅读(8382)
推荐(1) 编辑
Dialog类介绍
摘要:Dialog类实现为一个简单的漂浮窗口,完全在Activity中创建。使用基本的Dialog类,你可以创建一个新的实例并设定标题和布局,如下所示:Dialog d = new Dialog(MyActivity.this);// Have the new window tint and blur the window it// obscures.Window window = d.getWindo...
阅读全文
posted @
2009-08-03 17:47
xirihanlin
阅读(6265)
推荐(0) 编辑
Dialog介绍
摘要:对话框是桌面和web应用程序中通用的UI称谓。它们用于帮助用户回答问题、选择选项、确认动作、阅读警告与错误消息。Android对话框是一个漂浮的窗口,启动它的Activity会出现部分模糊。如你在图5-5中看到的,对话框不是全屏且可以部分透明。它们一般使用模糊或暗淡过滤器来模糊它们背后的Activity。图5-5在Android中,有三种方式来实现对话框:❑ 使用Dialog类的后代和一般意义的A...
阅读全文
posted @
2009-08-03 17:45
xirihanlin
阅读(1111)
推荐(0) 编辑
使用Internet资源
摘要:在网络连通和WebKit浏览器的前提下,你可能会问,在你能创建基于web的应用程序时,有没有什么理由是用来决定要创建本地的、基于Internet的替代版本。创建胖的和瘦的客户端应用程序而不依赖于整个基于web的解决方案有很多益处:❑ 带宽在有限的并且昂贵的带宽约束下,静态的资源如图片、layout和声音等都是设备上昂贵数据的消费者。通过创建一个本地的应用程序,你可以限制只用于数据更新的带宽需求。❑...
阅读全文
posted @
2009-08-03 16:37
xirihanlin
阅读(872)
推荐(0) 编辑
ArrayAdapter和SimpleCursorAdapter例子
摘要:使用ArrayAdapter定制To-Do List这个例子将扩展To-Do List工程,以一个ToDoItem对象来储存每一个项目,包含每个项目的创建日期。你将扩展ArrayAdapter类来绑定一组ToDoItem对象到ListView上,并定制用于显示每一个ListView项目的layout。1. 返回到To-Do List工程。创建一个新的ToDoItem类来保存任务和任务的创建日期。重...
阅读全文
posted @
2009-08-03 15:20
xirihanlin
阅读(30189)
推荐(2) 编辑
Adapter介绍
摘要:Adapter是将数据绑定到UI界面上的桥接类。Adapter负责创建显示每个项目的子View和提供对下层数据的访问。支持Adapter绑定的UI控件必须扩展AdapterView抽象类。创建自己的继承自AdapterView的控件和创建新的Adapter类来绑定它们是可能的。一些Android提供的Adapter介绍在多数情况下,你不需要白手创建自己的Adapter。Android提供了一系列A...
阅读全文
posted @
2009-08-03 13:48
xirihanlin
阅读(6839)
推荐(0) 编辑
Android本地广播动作
摘要:Android给许多系统服务广播Intent。你可以使用这些基于系统事件的消息来给自己的工程增添一些功能,这些事件如时区变更、数据连接状态、SMS消息或电话呼叫。下面的列表介绍了一些Intent类中的本地动作常量;这些动作基本上用于设备状态改变的跟踪:❑ ACTION_BOOT_COMPLETED一旦设备完成启动时触发。需要RECEIVE_BOOT_COMPLETED权限。❑ ACTION_CAM...
阅读全文
posted @
2009-08-03 12:24
xirihanlin
阅读(2699)
推荐(0) 编辑
使用Intent广播事件
摘要:作为一种系统级消息传递的机制,Intent有能力穿越进程边界传递结构化消息。到目前为止,你已经了解了使用Intent来启动一个新的应用程序组件,但是,它们还可以通过sendBroadcast方法在组件间广播匿名消息。你可以在你的应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent。广播Intent用于通知系统的监听者或应用程序事件,从而扩展了应用程序间的事件驱动编程...
阅读全文
posted @
2009-08-03 11:23
xirihanlin
阅读(6507)
推荐(0) 编辑
使用Intent Filter实现插件和扩展
摘要:到目前为止,你已经学会了如何显式地创建隐式Intent,但这只是故事的一半。Android允许后来的包为已有的应用程序提供新的功能,在运行时使用Intent Filter动态地填入菜单。这为你的Activity提供了插件模型,使它们可以利用目前还未构想到的新应用程序组件的功能性,而不需要修改或重新编译你的工程。Menu类的addIntentOptions方法允许你指定一个Intent,它描述了这个...
阅读全文
posted @
2009-07-31 16:05
xirihanlin
阅读(2365)
推荐(0) 编辑
例子:选择一个联系人
摘要:在这个例子里,你将要创建一个新的子Activity来响应联系人数据的PICK_ACTION动作。它显示联系人数据库中每个联系人,允许用户选择其中一个,在关闭之前返回它的URI给调用方的Activity。值得注意的是,这个例子有点做作。Android已经提供了一个Intent Filter来从一个列表中挑选一个联系人,而且被隐式Intent(包含着content://contacts/people/...
阅读全文
posted @
2009-07-31 14:18
xirihanlin
阅读(2344)
推荐(0) 编辑
隐式Intent响应与责任传递
摘要:Intent Filter匹配后的响应当一个应用程序的组件通过一个隐式Intent启动后,它需要找到它要执行的动作以及执行动作需要的数据。调用getIntent方法(一般在onCreate方法里)来释放Intent,从而启动一个组件,如下:@Overridepublic void onCreate(Bundle icicle) {super.onCreate(icicle);setContentV...
阅读全文
posted @
2009-07-31 08:55
xirihanlin
阅读(2477)
推荐(0) 编辑
Android如何解析Intent Filter
摘要:匿名性质的运行时绑定使得理解Android如何解析一个隐式Intent到一个特定的应用程序组件变得重要。和你之前看到的一样,当使用startActivity时,隐式Intent解析到一个单一的Activity。如果存在多个Activity都有能力在特定的数据上执行给定的动作的话,Android会从这些中选择最好的进行启动。决定哪个Activity来运行的过程称为Intent解析。Intent解析的...
阅读全文
posted @
2009-07-30 17:53
xirihanlin
阅读(5068)
推荐(0) 编辑
使用Intent Filter来响应隐式Intent
摘要:如果一个Intent请求在一片数据上执行一个动作,Android如何知道哪个应用程序(和组件)能用来响应这个请求呢?Intent Filter就是用来注册Activity、Service和Broadcast Receiver具有能在某种数据上执行一个动作的能力。使用Intent Filter,应用程序组件告诉Android,它们能为其它程序的组件的动作请求提供服务,包括同一个程序的组件、本地的或第...
阅读全文
posted @
2009-07-30 16:28
xirihanlin
阅读(2434)
推荐(0) 编辑