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

    第四步 编辑notepad_list.xml文件

    最终如下所示:

    ﹤?xml version="1.0" encoding="utf-8"?﹥
    ﹤LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width=" fill_parent "
    android:layout_height=" fill_parent "﹥
    ﹤ListView id="@id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/﹥
    ﹤TextView id="@id/android:empty"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/no_notes"/﹥
    ﹤/LinearLayout﹥


    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"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/﹥

     

    第六步

    把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
    public void onCreate(Bundle icicle)
    {
    super.onCreate(icicle);
    setContentView(R.layout.notepad_list);
    dbHelper = new DBHelper(this);
    fillData();
    }


    添加私有的属性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;
    public static final int DELETE_ID = Menu.FIRST +1;

    b. 在onCreateOptionsMenu() 中添加菜单项,返回父类法方法onCreateOptionsMenu的返回值.。代码如下所示:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    boolean result = super.onCreateOptionsMenu(menu);
    menu.add(0, INSERT_ID, R.string.menu_insert);
    menu.add(0, DELETE_ID, R.string.menu_delete);

    return result;
    }Menu.Add(num1,menuid,string)


    其中num1是一个可以为菜单项排序的基数,所有一样基数的菜单项按照加入的顺序排序,基数相同的菜单项排列在一起,基数按照从小到大的顺序从上到下排列菜单项。Menuid是唯一一个菜单项的标识。当菜单项被用户选择的时候,这个标识就会在onOptionsItemSelected()方法的参数中出现。

    第十步

    填充onOptionsItemSelected() 方法:

    当用户选择菜单以后,onOptionsItemSelected()方法将会被调用。通过调用item.getId()方法可以得到选择的菜单的ID进而区别不同的菜单。 The super.onOptionsItemSelected(item) 返回父类的onOptionsItemSelected()方法;

    @Override
    public boolean onOptionsItemSelected(Item item) {
    switch (item.getId()) {
    case INSERT_ID:
    createNote();
    break;
    }

    return super.onOptionsItemSelected(item);
    }

    【编辑推荐】

    1. Android中各种JAVA包的功能描述
    2. Android创建和使用数据库详细指南
    3. Android应用开发入门五问
    【责任编辑:杨赛 TEL:(010)68476606】


    共2页: 上一页 [1] 2
    【内容导航】
     第 1 页:建立Notepad工程  第 2 页:编辑,配置及完成