教程:一个记事本应用程序范例

This item was filled under [ 一步一步学习 ]

 

本教程通过手把手教你的方式, 讲解如何利用Android框架和诸多工具建立自己的手机应用。从一个预配置好的工程文件开始,该教程通过一个简单的记事本应用程序开发的完整过程,并辅以贯穿始终的详尽例子,指导你如何建立工程、组织应用逻辑以及UI,乃至接下来的编译及运行程序等等。

该教程将这个记事本应用的开发过程视作一组练习(见如下),每一个练习都由若干步骤组成。你可以亦步亦趋地完成每个练习步骤,逐步建立并完善自己的应用程序。这些练习提供了你实现此应用所需的——细到每一步骤的——具体范例代码。

当你完成此教程后,一个具有实际功能的Android应用就从你手上诞生了,并且你对Android应用开发中的一些极为重要的概念也有了更深入的理解。若你想为你这个简单的记事本应用添加更多复杂功能的话,你可以用另一方式实现的记事本程序比照你的代码,具体可参看 Sample Code 文档部分。

本教程目标读者

该教程主要是面向有一定经验的开发者,尤其是那些具备一定Java编程语言知识的。如果你之前从未写过一个Java应用的话,仍可以使用此教程,只是学习进度稍稍慢一点罢了。

本教程假定你已熟悉了一些基本的Android应用概念和术语。如果你对这些还不够熟稔的话,你得将 Overview of an Android Application 好好温故一下,才能继续下面的学习。

同时需注意的时,该教程的集成开发环境是预装Android插件的Eclipse。如果你不用Eclipse,仍可做下面的这些练习和建立应用,但你届时将不得不面对一些涉及Eclipse的步骤在非Eclipse IDE中如何实现的问题。

练习前的准备

有关此教程中涉及建立Android应用的相关信息已在Installing the SDK 和 Hello Android 这两份文档中有详细说明了。这两份文档详细地解释了为建立Android应用,搭建自己的开发环境所必需的知识。在你开始学习本教程之前,两份文档、SDK安装以及开发环境搭建你得确保都已万事俱备,只欠东风了。

为此节训练所需的准备工作: project exercises archive (.zip) 2.解压至你本地的某一目录下 3.打开NotepadCodeLab文件夹

  1. 下载 project exercises archive (.zip)
  2. 解压至你本地的某一目录下
  3. 打开 NotepadCodeLab 文件夹

NotepadCodeLab 这一文件夹下共有六个工程文件,具体分别是:Notepadv1, Notepadv2, Notepadv3, Notepadv1Solution, Notepadv2Solution 和 Notepadv3Solution。其中诸如Notepadv#的工程目录是每个练习的起点,而Notepadv#Solution则是对应的答案。如果你在某一练习中遇到问题,你可以将你本地工程的代码与练习的答案对比一下找到答案。

练习

下表列出了本教程的一些练习,并描述每一练习所涵盖的开发内容。每一练习都是基于你已完成之前的任一练习这一前提来展开的。

练习 1 一个简单记事本应用程序的开发过程起始于此。构建一个可以添加新记事内容,但不能编辑的简单记事列表。演示ListActivity 的基本方面以及如何创建和控制菜单项,以及用一个SQLite数据库存储记事内容。
练习 2 为记事本应用程序添加第二个Activity。演示如何构造一个新Activity至Android,在不同Activity之间传输数据,使用更多高级的屏幕布局。并演示如何通过调用startActivityForResult()这个API来激活另一窗口并返回一个结果。
练习 3 为应用添加对事件生命周期的控制,以保持应用程序在整个生命周期中的定义。
额外学习 演示如何使用Eclipse的调试器及通过调试器查看事件产生后的整个生命周期。此节非必读,但仍极力推荐一读。

其它资源及延伸学习

  • 对本教程未涉及的一些轻微但更广博的概念请参阅 Common Android Tasks.
  • Android SDK已包含了适合进一步学习,功能完整的绝佳范例。具体范例可以在你下载的SDK中的samples目录中找到。
  • 尽管与SDK samples 目录下的完整记事本应用程序并非完全一致,但这一教程还是脱胎于此。当你学习本教程时,强烈建议你仔细看看SDK Sample目录下的记事本应用程序。其中包含了一些较之个人学习应用程序中更为有趣的附加信息,诸如:
    • 建立一个有条纹的自定义记事列表
    • 创建一个自定义的文本编辑窗口,该窗口覆写 draw() 方法,使其看起来像一个真正的有下划线的便笺记事本
    • 一个完整的ContentProvider实现
    • 撤销和放弃编辑操作而非自动保存该编辑操作的结果
Bookmark and Share

喜欢这篇文章的人还喜欢。。。

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Comment