Eclipse开发Android应用程序入门:重装上阵

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 14:16 我要评论(0)

翻译:赵锟原文:http://www.smashingmagazine.com/2011/03/28/get-started-developing-for-android-with-eclipse-reloaded/

在我们教程系列的第一部分中,我们使用Android和Eclipse开发了一个简单的饮茶计时器的应用程序。在第二部分,我们将继续开发这个程序,并给它增加一些其他的额外的功能。在开发的过程中,我们将给你介绍更多重要而强大的Android SDK特性,包括持久化数据存储,Activity和Intent,和共享用户首选项(译者注:类似于windows 的注册表的一种机制)。

跟着本教程,你需要上一篇教程中的代码,如果你想直接使用代码,你可以使用如下的指令从GitHub上check out出tutorial_par_1标记的代码:

$ git clone git://github.com/cblunt/BrewClock.git

$ cd BrewClock

$ git checkout tutorial_part_1

在GitHub中检出了代码后,你需要将代码倒入到Eclipse中的项目中:

运行 Eclipse 选择 File → Import…

在导入窗口, 选择 “Existing Projects into Workspace”并点击 “Next.”

在下一屏,点击 “Browse,”选择你从GitHub上clone出的代码目录。

点击“Finish” 将项目导入到Eclipse中。

在导入项目到Eclipse之后,你有可能会看到有如下的警告信息:

Android required .class compatibility set to 5.0.

Please fix project properties.

如果有这种情况,右键点击“Project Explorer ”中新导入的BrewClock项目,并选择 “Fix Project Properties,” 并重启Eclipse。

数据持久化入门

当前,BrewClock 让用户为他们泡的茶设置一个定时器。这个非常棒的一个工作,但是如果对于不同的茶使用同一个泡茶时间的结果会怎样呢,是不每种茶都应该有自己的一个泡茶时间呢?如果这样,那岂不是所有的用户都需要记下每一类茶所需要泡的时间!这不是一个很好的用户体验。因此,在这篇教程中,我将新增一个功能来为用户每种不同的茶叶存放一个泡茶时间,并当用户想泡茶的时候,可以从茶叶列表中进行选择。

为了实现这个目的,我们得利用Android的丰富的数据持久化的API。Android提供了几种方式来存储数据,本文将要覆盖其中的两种方式。第一种,使用SQLite数据库引擎来为我们存储数据。

SQLite 是一种流行的轻量级SQL数据库引擎,它将数据存在单个文件中。SQLite经常用于桌面或在那些运行不能运行客户端-服务器SQL引擎(例如MySQL或PostgreSQL)的嵌入式的应用上。

每个安装在Android上的应用都可以保存和使用多个SQLite数据库文件(由数据存储容量决定),这些数据由系统自动地进行管理。应用程序的数据是私有并且不能被其他的应用程序所访问。(数据可以通过ContentProvider(译者注:内容提供者类)类进行共享,但是我们不会在本教程中覆盖关于内容提供者的内容)。当数据应用程序被更新时,数据库文件就进行持久化,当应用程序被删除时,数据库文家就被删除。

我们在BrewClock应用使用SQLite数据来维护我们的茶叶列表和泡茶所需要的时间。下面是我们我们将使用的数据表的一个总体介绍。

+-------------------------------------+

" Table: teas|

+------------+------------------------+

| Column| Description|

+------------+------------------------+

| _ID| integer, autoincrement |

| name| text, not null|

| brew_time| integer, not null|

+------------+------------------------+

如果以前你使用过SQL,你应该熟悉这些内容。数据表有三个字段,一个唯一标示(_ID),茶叶名称(name)和泡茶时间(brew_time)字段。我们将使用Android提供给我们的API在应用中建立数据表。系统将负责在正确的位置为我们的创建数据库文件。

抽象数据库

为了确保数据库的代码容易被维护,我们用一个单独的类TeaData来抽象所有处理数据库创建,插入,和查询的代码。如果你熟悉模型-试图-控制(译者注:MVC)方法的话,这个你也应该熟悉。所有数据库代码与我们的BrewClockActitvity类隔离开来。Actitvity可以初始化一个新的TeaData实例(这个实例将连接数据库)并完成它所需要的工作。以这种方式工作保证了我们可以方便的更改我们所使用的数据库而不用修改其他那些和数据库不相关部分的代码。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...