Android应用开发Notepad 调用Sqlite数据库 通过xml文件定义界面

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

这个教程中将会在Android平台上建立一个简单的应用开发Notepad。开发中需要调用Sqlite数据库,以及通过xml文件定义界面等。

在这个教程中将会建立一个简单列表界面,允许用户添加删除,但是不能编辑。包括如下的内容:

◆ListActivities的基础知识和如何建立菜单项。

◆如何使用SQLite 数据库访问数据。

◆如何使用ArrayAdapter绑定数据到ListView (最简单的一种方式)。

◆最基本的Layout,包括如何显示一个ListView,如何向一个菜单插入菜单项以及如何响应菜单

第一步 建立工程

使用Eclipse建立一个工程Notepad

第二步 如何使用Sqlite数据库

和系统相关的接口调用都要用到Context类。

1打开数据库

代码片段:

public DBHelper(Context ctx) {

try {

//打开已经存在的数据库

db = ctx.openDatabase(DATABASE_NAME, null);

} catch (FileNotFoundException e) {

try {

//建立新的数据库

db =

ctx.createDatabase(DATABASE_NAME, DATABASE_VERSION, 0, null);

//建立数据表

db.execSQL(DATABASE_CREATE);

} catch (FileNotFoundException e1) {

db = null;

}

}

}

Context类的openDatabase可以打开一个已经存在的数据库,如果数据库不存在,将会抛出 FileNotFoundException异常。可以通过Context类的createDatabase函数建立一个新的数据库。通过调用 SQLiteDatabase 的execSQL方法,执行一条SQL语句建立一个新的数据表。

2.获取表中的数据

代码如下:

public List﹤Row﹥ fetchAllRows() {

ArrayList﹤Row﹥ ret = new ArrayList﹤Row﹥();

try {

Cursor c =

db.query(DATABASE_TABLE, new String[] {

"rowid", "title", "body"}, null, null, null, null, null);

int numRows = c.count();

c.first();

for (int i = 0; i ﹤ numRows; ++i) {

Row row = new Row();

row.rowId = c.getLong(0);

row.title = c.getString(1);

row.body = c.getString(2);

ret.add(row);

c.next();

}

} catch (SQLException e) {

Log.e("booga", e.toString());

}

return ret;

}

建立一个游标类Cursor 通过SQLiteDatabase 的query方法查询一个表格。有了Cursor就可以遍历所有的记录了。

3添加新的记录

public void createRow(String title, String body) {

ContentValues initialValues = new ContentValues();

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

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

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

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

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

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

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

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

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

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

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

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

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

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