在这个教程中将会建立一个简单列表界面,允许用户添加删除,但是不能编辑。包括如下的内容:
成都创新互联公司是一家专注于成都网站设计、成都网站制作、外贸网站建设与策划设计,广平网站建设哪家好?成都创新互联公司做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:广平等地区。广平做网站价格咨询:18982081108
◆ListActivities的基础知识和如何建立菜单项。
◆如何使用SQLite 数据库访问数据。
◆如何使用ArrayAdapter绑定数据到ListView (最简单的一种方式)。
◆最基本的Layout,包括如何显示一个ListView,如何向一个菜单插入菜单项以及如何响应菜单
第一步 建立工程
使用Eclipse建立一个工程Notepad
第二步 如何使用Sqlite数据库
和系统相关的接口调用都要用到Context类。
1打开数据库
代码片段:
public DBHelper(Context ctx) { |
Context类的openDatabase可以打开一个已经存在的数据库,如果数据库不存在,将会抛出FileNotFoundException异常。可以通过Context类的createDatabase函数建立一个新的数据库。通过调用SQLiteDatabase 的execSQL方法,执行一条SQL语句建立一个新的数据表。
2.获取表中的数据
代码如下:
public List﹤Row﹥ fetchAllRows() { |
建立一个游标类Cursor 通过SQLiteDatabase 的query方法查询一个表格。有了Cursor就可以遍历所有的记录了。
3添加新的记录
public void createRow(String title, String body) { |
构造一个ContentValues类,通过调用put方法,可以设置一条记录的属性。通过调用SQLiteDatabase的insert方法添加一条新的记录。
4 删除记录
public void deleteRow(String str) |
直接调用SQLiteDatabase的delete方法,第二个参数是一个SQL条件表达式。
第三步 显示方式和界面
大部分的界面都有一个Layout。我们的界面是显示在整个屏幕中的List。还有其他的显示方式,比如悬浮的窗口(Dialog,Alert)。
打开main.xml文件。
这是一个定义界面显示风格的资源文件。
a. 所有的界面资源文件都从这样的一行开始: ﹤?xml version="1.0" encoding="utf-8"?﹥.
b. 一般的类型定义都是LinearLayout (并不是总是)
c. 关于XML的名称空间的定义,总是下面一行:
xmlns:Android="http://schemas.android.com/apk/res/android" |
#p#
第四步 编辑notepad_list.xml文件
最终如下所示:
﹤?xml version="1.0" encoding="utf-8"?﹥ |
a. ListView和TextView只能显示一个,正常情况下,ListView会被显示出来,当没有任何一个数据的时候将会显示一个TextView ,显示出 "还没有建立任何数据!" ,字符串资源将被定义在资源文件中。
b. 在 ListView 和 TextView中的带@符号的字符串表示,XML解析器将会分析出后面的数据是一个资源ID。
c. 通过更改资源文件,在R.java文件中的代码会反应出来。在代码中使用的资源都要通过R.java中的常量进行索引
第五步 定义一个显示列表项风格的配置文件
在res/layout目录现建立一个新的文件notes_row.xml.
添加如下的代码:
﹤?xml version="1.0" encoding="utf-8"?﹥ ﹤TextView id="@+id/text1" |
第六步
把Notepad 的父类从 Activity 改为 ListActivity:
public class Notepad extends ListActivity |
注意: 必须导入ListActivity,在 Eclipse下可以使用, ctrl-shift-O
第七步
有三个方法: onCreate, onCreateOptionsMenu 和 onOptionsItemSelected, 需要我们填充:
onCreate()当一个界面开始显示的时候会被调用,相当于一个界面的主函数。在这里可以初始化资源和状态。
onCreateOptionsMenu() 被用来建立一个界面的菜单。当用户点击菜单键的时候将会显示出来。
onOptionsItemSelected()当用选择菜单的时候将会被调用。
第八步
填充onCreate() 方法。
在这里可以设置界面标题,初始化DBHelper对象管理数据。填充List列表。
a. 调用super()传入参数icicle
b. setContentView to R.layout.notepad_list
c. 定义另外一个类dbHelper
d. 初始化DBHelper类。
e. 最后调用方法-fillData()-
f. onCreate()方法如下所示:
@Override |
添加私有的属性DBHelper
private DBHelper dbHelper; |
第九步填充onCreateOptionsMenu() 方法.
在strings.xml文件中定义字符串资源。 a. 在strings.xml 文件中添加一个字符串资源
﹤string name="menu_insert"﹥添加﹤/string﹥,
﹤string name="menu_delete"﹥删除﹤/string﹥,
这些在String.xml文件中定义的资源,保存文件后,在R.java中会出先相应的资源ID。
定义一个菜单ID 在NotePad.java 中。
public static final int INSERT_ID = Menu.FIRST; |
b. 在onCreateOptionsMenu() 中添加菜单项,返回父类法方法onCreateOptionsMenu的返回值.。代码如下所示:
@Override return result; |
其中num1是一个可以为菜单项排序的基数,所有一样基数的菜单项按照加入的顺序排序,基数相同的菜单项排列在一起,基数按照从小到大的顺序从上到下排列菜单项。Menuid是唯一一个菜单项的标识。当菜单项被用户选择的时候,这个标识就会在onOptionsItemSelected()方法的参数中出现。
第十步
填充onOptionsItemSelected() 方法:
当用户选择菜单以后,onOptionsItemSelected()方法将会被调用。通过调用item.getId()方法可以得到选择的菜单的ID进而区别不同的菜单。 The super.onOptionsItemSelected(item) 返回父类的onOptionsItemSelected()方法;
@Override return super.onOptionsItemSelected(item); |
新闻标题:Android平台应用开发实例:Notepad
网站URL:http://www.mswzjz.cn/qtweb/news38/69438.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能