--------------------------------------------AndroidManifest.xml----------------------------------

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="com.ch20"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk

android:minSdkVersion="10"

android:targetSdkVersion="15"/>

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme">

<activity

android:name=".ListViewActivity"

android:label="@string/title_activity_main">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

</application>

</manifest>

--------------------------------------------Layoutactivity_main.xml-----------------------------

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/LinearLayout1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

<Button

android:id="@+id/add_id"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="添加数据"/>

<Button

android:id="@+id/delete_id"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="删除数据"/>

<Button

android:id="@+id/edit_id"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="修改数据"/>

<Button

android:id="@+id/qyery_id"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="查询数据"/>

<ListView

android:id="@+id/show_result"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

</ListView>

</LinearLayout>

--------------------------------------------Layoutlist_item.xml----------------------------------

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/LinearLayout1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal">

<TextView

android:id="@+id/view_id"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="id....."/>

<TextView

android:id="@+id/view_name"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="name....."/>

</LinearLayout>

--------------------------------------------数据库工具类DBHelper.java---------------------------

packagecom.ch20;

importandroid.content.ContentValues;

importandroid.content.Context;

importandroid.database.Cursor;

importandroid.database.sqlite.SQLiteDatabase;

importandroid.database.sqlite.SQLiteOpenHelper;

/**

*

*项目名称:com.ch20

*类名称:DBHelper

*类描述:数据库操作工具类

*创建人:方勇

*创建时间:2012-12-4上午8:50:40

*Copyright(c)方勇-版权所有

*/

publicclassDBHelper{

/*DDL,定义数据结构*/

privateDataBaseHelperdbHelper;

/*DML,数据库操作*/

privateSQLiteDatabasedb;

/*数据库名*/

privatefinalstaticStringDATABASE_NAME="a07.db3";

/*版本号*/

privatefinalstaticintDATABASE_VERSION=1;

/*上下文*/

privateContextmcontext;

publicDBHelper(Contextmcontext){

super();

this.mcontext=mcontext;

}

/*静态内部类,针对DDL*/

privatestaticclassDataBaseHelperextendsSQLiteOpenHelper{

publicDataBaseHelper(Contextcontext){

super(context,DATABASE_NAME,null,DATABASE_VERSION);

}

/*创建表结构*/

@Override

publicvoidonCreate(SQLiteDatabasedb){

db.execSQL("createtableifnotexistsstu(idintegerprimarykey,nametext)");

db.execSQL("insertintostuvalues(1,'a1')");

db.execSQL("insertintostuvalues(2,'a2')");

}

/*针对数据库升级*/

@Override

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){

}

}

/*打开数据库,如果已经打开就使用,否则创建*/

publicDBHelperopen(){

dbHelper=newDataBaseHelper(mcontext);

db=dbHelper.getWritableDatabase();

returnthis;

}

/*关闭数据库*/

publicvoidclose(){

db.close();//先关DML

dbHelper.close();//DDL

}

/*插入*/

publiclonginsert(StringtableName,ContentValuesvalues){

return0;

}

/**

*

*更新

*

*@paramtableName表名

*@paramwhereClause条件

*@paramwhereArgs条件值

*@paramvalues更新值

*@return更新的条数

*

*/

publiclongupdate(StringtableName,StringwhereClause,String[]whereArgs,ContentValuesvalues){

returndb.update(tableName,values,whereClause,whereArgs);

}

/*删除*/

publicbooleandelete(StringtableName,StringwhereClause,String[]whereArgs){

returndb.delete(tableName,whereClause,whereArgs)>0;

}

/**

*

*查询,多条记录

*

*@paramtableName表名

*@paramcolumns列名

*@paramselection条件

*@paramselectionArgs条件值

*@paramgroupBy分组

*@paramhaving过滤

*@paramorderBy排序

*@paramlimit分页(2,3),从第二条记录开始,向下取三条记录

*@return动态游标

*

*/

publicCursorfindList(StringtableName,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,

Stringhaving,StringorderBy,Stringlimit){

returndb.query(tableName,columns,selection,selectionArgs,groupBy,having,orderBy,limit);

}

/**

*

*精确查询,返回一条数据

*

*@paramtableName表名

*@paramcolumns列名

*@paramselection条件

*@paramselectionArgs条件值

*@paramgroupBy分组

*@paramhaving过滤

*@paramorderBy排序

*@paramlimit分页(2,3),从第二条记录开始,向下取三条记录

*@return动态游标

*

*/

publicCursorfindInfo(StringtableName,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,

Stringhaving,StringorderBy,Stringlimit){

Cursorcursor=db.query(tableName,columns,selection,selectionArgs,groupBy,having,orderBy,limit);

while(cursor.moveToNext()){

cursor.moveToFirst();

}

returncursor;

}

/*执行sql方法*/

publicvoidexecuteSql(Stringsql){

db.execSQL(sql);

}

}

--------------------------------------------ActivityListViewActivity.java-------------------------

packagecom.ch20;

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.List;

importandroid.app.Activity;

importandroid.database.Cursor;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.ListView;

importandroid.widget.SimpleAdapter;

/**

*

*项目名称:com.ch20

*类名称:ListViewActivity

*类描述:CRUD

*创建人:方勇

*创建时间:2012-12-4上午9:37:39

*Copyright(c)方勇-版权所有

*/

publicclassListViewActivityextendsActivityimplementsOnClickListener{

privateListViewlisView;

privateButtonaddBtn,deleteBtn,editBtn,queryBtn;

privateSimpleAdaptersimpleAdapter;

privateDBHelperdbHelper;

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViews();

setListeners();

dbHelper=newDBHelper(this);

init();

}

@Override

publicvoidonClick(Viewv){

switch(v.getId()){

caseR.id.add_id:

break;

caseR.id.delete_id:

break;

caseR.id.edit_id:

break;

caseR.id.qyery_id:

break;

}

}

/*实例化UI*/

privatevoidfindViews(){

addBtn=(Button)findViewById(R.id.add_id);

deleteBtn=(Button)findViewById(R.id.delete_id);

editBtn=(Button)findViewById(R.id.edit_id);

queryBtn=(Button)findViewById(R.id.qyery_id);

lisView=(ListView)findViewById(R.id.show_result);

}

/*设置监听*/

privatevoidsetListeners(){

addBtn.setOnClickListener(this);

deleteBtn.setOnClickListener(this);

editBtn.setOnClickListener(this);

queryBtn.setOnClickListener(this);

}

/*初始化数据*/

privatevoidinit(){

simpleAdapter=newSimpleAdapter(this,getData(),R.layout.list_item,newString[]{"id","name"},newint[]{

R.id.view_id,R.id.view_name});

lisView.setAdapter(simpleAdapter);

}

/*获取数据库集合数据*/

privateList<HashMap<String,Object>>getData(){

dbHelper.open();

Cursorcursor=dbHelper.findList("stu",null,null,null,null,null,null,null);

Listlist=cursor2List(cursor);

dbHelper.close();

returnlist;

}

/*游标转换为集合*/

privateList<HashMap<String,Object>>cursor2List(Cursorcursor){

List<HashMap<String,Object>>list=newArrayList<HashMap<String,Object>>();

/*有记录*/

while(cursor.moveToNext()){

HashMap<String,Object>map=newHashMap<String,Object>();

intid=cursor.getInt(cursor.getColumnIndex("id"));

Stringname=cursor.getString(cursor.getColumnIndex("name"));

map.put("id",id);

map.put("name",name);

list.add(map);

}

returnlist;

}

}

--------------------------------------------效果----------------------------------------------------

<!--EndFragment-->

更多相关文章

  1. android 操作sqlite数据库
  2. webservice1(队列上传 呼叫)
  3. android 操作sqlite数据库
  4. android 监听联系人数据库
  5. Android(安卓)存储用户信息
  6. Android(安卓)SharedPreferences本地缓存
  7. Android(安卓)RSA 公钥加密、解密
  8. Android(安卓)Action Bar
  9. 数据存储之——Android文件存储系统及文件系统(Android(安卓)Q)

随机推荐

  1. 如何让android的屏幕保持常亮
  2. Android创建XML文档
  3. Android(安卓)studio使用JNI实例(2)- 调用
  4. AAPT: error: attribute android:request
  5. Android培训班(11)
  6. android 开发中常用到的一些代码片段(一)
  7. Cordova 3.0 + Eclipse 开发流程
  8. Android集成微信登录的步骤详解、遇到的
  9. 几行让android进入休眠的c代码
  10. Android(安卓)上传图片到 Asp.Net 服务器