胡凯

Android Training - 与其他Apps进行交互(Lesson 2 - 从activity获取Result)

| Comments

启动另外一个activity并不一定是单向的。你也可以启动另外一个activity然后接受一个result回来。为了接受这个result,你需要使用startActivityForResult()) (而不是startActivity()))。

例如,你的app可以启动一个camera程序并接受拍的照片作为result。或者你可以启动People程序并获取其中联系的人的详情作为result。

当然,被启动的activity需要指定返回的result。它需要把这个result作为另外一个intent对象返回,你的activity需要在onActivityResult())的回调方法里面去接收result。

Note:在执行 startActivityForResult()时,你可以使用explicit 或者 implicit 的intent。当你启动另外一个位于你的程序中的activity时,你应该使用explicit intent来确保你可以接收到期待的结果。

Android Training - 与其他Apps进行交互(Lesson 1 - 启动到另外一个app)

| Comments

章节概要:

  • 一个Android app通常都会有好几个activities. 每一个activity的界面都可能允许用户执行一些特殊任务(例如查看地图或者是开始拍照等)。为了让用户从一个activity跳到另外一个activity,你的app必须使用Intent来定义你的app想做的事情。当你使用startActivity()的方法,而且参数是intent时,系统会使用这个 Intent 来定义并启动合适的app组件。使用intents还可以让你的app来启动另外一个app里面的activity。
  • 一个 Intent 可以显式的指明需要启动的模块,也可以隐式的指明自己可以处理哪种类型的动作。(一个主动叫起别人,一个被特定类型的别人叫起)
  • 这一章节会演示如何使用Intent 来做一些与其他app之间的简单交互。类似,启动另外一个app,从其他app接受数据,并且使得你的app能够响应从其他发出的intent。

Android Training - 保存数据(Lesson 3 - 保存到SQLite)

| Comments

对于重复或者结构化的数据(如联系人信息)等保存到DB是个不错的主意。这节课假定你已经熟悉SQL数据库的操作。在Android上可能会使用到的APIs,可以从android.database.sqlite包中找到。

Define a Schema and Contract[定义Schema与Contract]

SQL中一个中重要的概念是schema:一种DB结构的正式声明。schema是从你创建DB的SQL语句中生成的。你可能会发现创建一个创建一个伴随类(companion class)是很有益的,这个类成为合约类(contract class),它用一种系统化并且自动生成文档的方式,显示指定了你的schema样式。

Android Training - 保存数据(Lesson 2 - 保存到文件)

| Comments

Android使用与其他平台类似的基于磁盘文件系统(disk-based file systems)。这节课会描述如何在Android文件系统上使用 File 的读写APIs。File 对象非常适合用来读写那种流式顺序的数据。例如,很适合用来读写图片文件或者是网络中交换的数据。这节课会演示在app中如何执行基本的文件操作任务。假定你已经对linux的文件系统与java.io中标准的I/O APIs有一定认识。