Android 如何将数据库条目输入我的ListView

Android 如何将数据库条目输入我的ListView,android,database,listview,Android,Database,Listview,我知道这个问题经常被问到,但我仍然不明白它是如何工作的 这是我的活动课 package de.retowaelchli.filterit; 导入android.app.Activity; 导入android.content.Intent; 导入android.os.Bundle; 导入android.view.view; 导入android.widget.ArrayAdapter; 导入de.retowaelchli.filterit.database.adfilterbadapter; 公共类

我知道这个问题经常被问到,但我仍然不明白它是如何工作的

这是我的活动课

package de.retowaelchli.filterit;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ArrayAdapter;
导入de.retowaelchli.filterit.database.adfilterbadapter;
公共类ADeleteActivity扩展了活动{
//德克拉里伦变量酒店
专用ADFilterDBAdapter MDB帮助器;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.autodelete);
setListAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,mListContent));
mDbHelper.open();
}
私有静态字符串[]mListContent={mDbHelper.getAllADFilter()};
/**我们将继续努力**/
public void onClickADConfig(视图){
最终意图i=新意图(此,ADFilterConfigActivity.class);
星触觉(i);}
}
这是我的Layout.xml文件:


这是我的数据适配器:

package de.retowaelchli.filterit.database;
导入android.content.ContentValues;
导入android.content.Context;
导入android.database.Cursor;
导入android.database.SQLException;
导入android.database.sqlite.SQLiteDatabase;
导入android.database.sqlite.SQLiteOpenHelper;
公共类adfilterbadapter{
公共静态最终字符串行_ID=“_ID”;
公共静态最终字符串NAME=“NAME”;
公共静态最终字符串KEYWORD=“KEYWORD”;
公共静态最终字符串CACHE=“CACHE”;
私有静态最终字符串数据库\u TABLE=“adfilter”;
私有数据库助手mDbHelper;
私有数据库mDb;
私有最终上下文mCtx;
私有静态类DatabaseHelper扩展了SQLiteOpenHelper{
DatabaseHelper(上下文){
super(上下文,DBAdapter.DATABASE_名称,null,DBAdapter.DATABASE_版本);
}
@凌驾
public void onCreate(SQLiteDatabase db){
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
}
}
/**
*构造函数-获取上下文以允许数据库
*打开/创建
* 
*@param-ctx
*工作环境
*/
公共adfilterbadapter(上下文ctx){
this.mCtx=ctx;
}
/**
*打开cars数据库。如果无法打开,请尝试创建新数据库
*数据库的实例。如果无法创建,则向
*发出故障信号
* 
*@return this(自引用,允许在
*初始化呼叫)
*@SQLException
*如果无法打开或创建数据库
*/
public adfilterbadapter open()引发SQLException{
this.mDbHelper=新的DatabaseHelper(this.mCtx);
this.mDb=this.mDbHelper.getWritableDatabase();
归还这个;
}
/**
*关闭返回类型:void
*/
公众假期结束(){
这个.mDbHelper.close();
}
/**
*创建一辆新车。如果成功创建了新车,则返回新车
*该车的rowId,否则返回-1表示故障。
* 
*@param name
*@param模型
*@param年
*@返回rowId或-1(如果失败)
*/
公共长createADFilter(字符串名称、字符串关键字、字符串缓存){
ContentValues initialValues=新的ContentValues();
initialValues.put(NAME,NAME);
initialValues.put(关键字,关键字);
initialValues.put(缓存,缓存);
返回此.mDb.insert(数据库_表,null,初始值);
}
/**
*删除具有给定rowId的车辆
* 
*@param rowId
*@如果删除,则返回true,否则返回false
*/
公共布尔deleteADFilter(长rowId){
返回此.mDb.delete(数据库表,行ID+“=”+行ID,null)>0;/$NON-NLS-1$
}
/**
*在数据库中所有车辆的列表上返回光标
* 
*@返回光标在所有车辆上
*/
公共游标getAllADFilter(){
返回此.mDb.query(数据库_表,新字符串[]{ROW_ID,
名称、关键字、缓存}、null、null、null、null、null);
}
/**
*返回与给定rowId匹配的车辆上的光标
*@param rowId
*@返回光标定位到匹配的车辆(如果找到)
*@如果找不到/检索不到汽车,则引发SQLException
*/
公共游标getADFilter(长rowId)引发SQLException{
光标mCursor=
this.mDb.query(true,DATABASE_TABLE,新字符串[]{ROW_ID,NAME,
关键字,CACHE},ROW_ID+“=”+rowId,null,null,null,null);
if(mCursor!=null){
mCursor.moveToFirst();
}
返回mCursor;
}
/**
*更新汽车。
* 
*@param rowId
*@param name
*@param关键字
*@param缓存
*@如果便笺更新成功,则返回true,否则返回false
*/
公共布尔UpdatedFilter(长rowId、字符串名称、字符串关键字、,
字符串缓存){
ContentValues args=新的ContentValues();
args.put(名称、名称);
args.put(关键字,keyw)
private static String[] mListContent={mDbHelper.getAllADFilter()};
ListAdapter adapter = new SimpleCursorAdapter(this, // Context.
                android.R.layout.two_line_list_item, // Specify the row template
                                                        // to use (here, two
                                                        // columns bound to the
                                                        // two retrieved cursor
                                                        // rows).
                mCursor, // Pass in the cursor to bind to.
                // Array of cursor columns to bind to.
                new String[] { ContactsContract.Contacts._ID,
                        ContactsContract.Contacts.DISPLAY_NAME },
                // Parallel array of which template objects to bind to those
                // columns.
                new int[] { android.R.id.text1, android.R.id.text2 });

        // Bind to our new adapter.
        setListAdapter(adapter);