SimpleCursorAdapter的使用
2014-08-21 17:32
330 查看
原文地址:SimpleCursorAdapter的使用作者:小鱼
下面的程序是从电话簿中把联系人显示到类表中。先在通讯录中添加一个联系人作为数
据库的数据。然后获得一个指向数据库的Cursor 并且定义一个布局文件(当然也可以使用
系统自带的)。
示例:
一、Activity
package cn.test;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.Contacts.People;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class Simple_cursor_adapterActivity extends Activity {
private ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView = new ListView(this);
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);
startManagingCursor(cursor);
ListAdapter listAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_1, cursor, new String[]{People.NAME}, new int[]{android.R.id.text1});
listView.setAdapter(listAdapter);
setContentView(listView);
}
}
二、添加读取通讯录的权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Simple_cursor_adapterActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);先获得一个指向系统通讯录数据库的Cursor对象获得数据来源。
startManagingCursor(cursor);我们将获得的Cursor对象交由Activity管理,这样Cursor的生命周期和Activity便能够自动同步,省去自己手动管理Cursor。
SimpleCursorAdapter 构造函数前面3个参数和ArrayAdapter是一样的,最后两个参数:一个包含数据库的列的String型数组,一个包含布局文件中对应组件id的int型数组。其作用是自动的将String型数组所表示的每一列数据映射到布局文件对应id的组件上。上面的代码,将NAME列的数据一次映射到布局文件的id为text1的组件上。
注意:需要在AndroidManifest.xml中如权限:<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
下面的程序是从电话簿中把联系人显示到类表中。先在通讯录中添加一个联系人作为数
据库的数据。然后获得一个指向数据库的Cursor 并且定义一个布局文件(当然也可以使用
系统自带的)。
示例:
一、Activity
package cn.test;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.Contacts.People;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class Simple_cursor_adapterActivity extends Activity {
private ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView = new ListView(this);
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);
startManagingCursor(cursor);
ListAdapter listAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_1, cursor, new String[]{People.NAME}, new int[]{android.R.id.text1});
listView.setAdapter(listAdapter);
setContentView(listView);
}
}
二、添加读取通讯录的权限
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Simple_cursor_adapterActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);先获得一个指向系统通讯录数据库的Cursor对象获得数据来源。
startManagingCursor(cursor);我们将获得的Cursor对象交由Activity管理,这样Cursor的生命周期和Activity便能够自动同步,省去自己手动管理Cursor。
SimpleCursorAdapter 构造函数前面3个参数和ArrayAdapter是一样的,最后两个参数:一个包含数据库的列的String型数组,一个包含布局文件中对应组件id的int型数组。其作用是自动的将String型数组所表示的每一列数据映射到布局文件对应id的组件上。上面的代码,将NAME列的数据一次映射到布局文件的id为text1的组件上。
注意:需要在AndroidManifest.xml中如权限:<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
相关文章推荐
- 简单使用SimpleCursorAdapter
- 使用SimpleCursorAdapter
- sqlite使用与simpleCursorAdapter展现
- 使用 SimpleCursorAdapter 时java.lang.IllegalArgumentException: column '_id' does not exist问题
- SimpleCursorAdapter的简单使用方法
- 安卓小渣渣的成长之路1.0——使用SimpleCursorAdapter添加列表视图内容(获取手机通讯录名字)
- ListView显示数据库的数据-SimpleCursorAdapter的使用
- Android中Adapter之SimpleCursorAdapter使用
- Android采用ListView实现数据列表显示1-使用SimpleCursorAdapter进行数据绑定
- 简单使用SimpleCursorAdapter
- simplecursoradapter使用时提示column '_id' does not exist
- SimpleAdapter 和 SimpleCursorAdapter的使用
- Android开发模板------自己定义SimpleCursorAdapter的使用
- 不使用cursoradapter的listview刷新方式(simpleadapter的remove刷新)
- android——ListView(使用simpleCursorAdapter)
- android中使用CursorAdapter和SimpleCursorAdapter的方法
- android SimpleCursorAdapter的使用
- ListView显示数据库的数据-SimpleCursorAdapter的使用
- Android中Adapter之SimpleCursorAdapter使用
- 使用SimpleCursorAdapter的ListView如何更新显示