Android开发之向应用程序界面绑定数据

    在Android开发中常常需要通过界面控件来访问数据库,比如用获得数据库的值来填充表单,列表等。在这里我们使用数据适配器想空间绑定数据。

   使用SimpleCursorAdapte绑定数据

  比如我们使用ListView 来查看作者和书名之间的关系。在ListView中可以包含TextView的对象,所以首先创建一个名为author_item.xml文件。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://com.paozi.book/apk/res/android"
    android:id="@+id/RelativeLayoutHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
    <TextView
        android:id="@+id/authorName"
        android:layout_width="wrap_content"
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:layout_alignParentLeft="true" >
    </TextView>
    <TextView
        android:id="@+id/bookName"
        android:layout_width="wrap_content"
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:layout_alignParentRight="true" >
    </TextView>
</RelativeLayout>
在ListView所在的布局文件 中:

<ListView
        android:id="@+id/petList"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="#000"
        android:headerDividersEnabled="true"
        android:isScrollContainer="true"
        android:scrollbarAlwaysDrawVerticalTrack="true"
        android:scrollbars="vertical" />
要通过应用程序来填充ListView,使用以下的步骤:

  1. 执行查询语句并返回一个游标即Cursor变量
  2. 创建一个适配器,它能将数据映射到ListView控件中
  3. 将适配器与ListView关联起来。

以上步骤用代码反映为:

     
   //新建查询SQLiteQueryBuilder能执行复杂查询操作,比如多表查询
   SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
   queryBuilder.setTables("book , author");
   queryBuilder.appendWhere("book.authorid = author.id");

        //使用数据库并执行查询操作
   String asColumnsToReturn[] = {
				"book.title",
				"book.id",
				"author.firstname",
				"author.lastname",
				"book.authorid"};
    String strSortOrder = "id ASC";//数据显示顺序方式
    Cursor mCursor = queryBuilder.query(mDB, asColumnsToReturn, null, null,null,null, strSortOrder);

    // 创建并使用适配器
    startManagingCursor(mCursor);//废弃的方法,将Cursor的管理交给Activity来处理
    ListAdapter adapter = new SimpleCursorAdapter(this, R.layout.author_item,
                mCursor, new String[] {author.firstname, book.name},
                new int[] { R.id.TextView_Authorfirstname, R.id.TextView_BookName });

    ListView av = (ListView) findViewById(R.id.authorList);
    av.setAdapter(adapter)
以上方法就是用数据适配器向控件绑定数据的步骤。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值