完整代码下载:http://download.youkuaiyun.com/detail/zhangpengyu321/5990803
DBHelp.java
package com.gem.android.util;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.util.Log;
public class DBHelper extends SQLiteOpenHelper {
private SQLiteDatabase db;
private static final int DB_VERSION=2;
private static final String DB_NAME="Test.db";
private static final String TBL_NAME="test";
private static final String CREATE_TBL="create table test(_id integer primary key autoincrement ,name text,url text,desc text)";
public DBHelper(Context context) {
// TODO Auto-generated constructor stub
// db.openOrCreateDatabase("/data/data/com.gem.android.manager/databases/Test.db",null);
super(context, DB_NAME, null, DB_VERSION);
}
/*
* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
*/
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
// db=this.createDatabase();
this.db=db;
db.execSQL(CREATE_TBL);
}
// 创建数据库,注意这里要指定全路径
// private SQLiteDatabase createDatabase(){
// return SQLiteDatabase.openOrCreateDatabase("/data/data/com.gem.android.manager/databases/Test.db", null);
// }
public void insert(ContentValues values){
//拿到当前DB的链接
db=this.getWritableDatabase();
db.insert(TBL_NAME, null, values);
db.close();
}
public Cursor query(){
db=this.getWritableDatabase();
Cursor cursor=db.query(TBL_NAME, null, null, null, null, null, null);
return cursor;
}
public void delete(int id){
db=this.getWritableDatabase();
db.delete(TBL_NAME, "_id=?", new String[]{String.valueOf(id)});
db.close();
}
public void close(){
if(db!=null){
db.close();
}
}
/*
* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
MainActivity.java
package com.gem.android.manager;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import com.gem.android.util.DBHelper;
public class MainActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
private EditText edittext1,edittext2,edittext3;
private Button button1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("添加收藏信息");
edittext1=(EditText) this.findViewById(R.id.editText1);
edittext2=(EditText) this.findViewById(R.id.editText2);
edittext3=(EditText) this.findViewById(R.id.editText3);
button1=(Button) this.findViewById(R.id.button1);
button1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String name=edittext1.getText().toString();
String url=edittext2.getText().toString();
String desc=edittext3.getText().toString();
ContentValues values=new ContentValues();
values.put("name", name);
values.put("url", url);
values.put("desc", desc);
DBHelper helper=new DBHelper(this.getApplicationContext());
helper.insert(values);
Intent intent=new Intent(MainActivity.this,QueryActivity.class);
this.startActivity(intent);
}
}
QueryActivity.java
package com.gem.android.manager;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.AdapterView.OnItemClickListener;
import com.gem.android.util.DBHelper;
public class QueryActivity extends ListActivity implements OnItemClickListener,OnClickListener{
private long temp;
private DBHelper helper =new DBHelper(this);
private SimpleCursorAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitle("浏览收藏信息");
Cursor cursor=helper.query();
String[] from={"_id","name","url","desc"};
int[] to={R.id.text1,R.id.text2,R.id.text3,R.id.text4};
SimpleCursorAdapter adapter=new SimpleCursorAdapter(this, R.layout.row,cursor,from,to);
ListView listView=this.getListView();
listView.setAdapter(adapter);
listView.setOnItemClickListener(this);
helper.close();
}
/*
* (non-Javadoc)
* @see android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget.AdapterView, android.view.View, int, long)
*/
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
temp=arg3;
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setMessage("真的要删除该记录吗?");
builder.setPositiveButton("确定", this);
builder.setNegativeButton("取消", null);
builder.create().show();
}
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
helper.delete((int)temp);
Cursor cursor=helper.query();
String[] from={"_id","name","url","desc"};
int[] to={R.id.text1,R.id.text2,R.id.text3,R.id.text4};
SimpleCursorAdapter adapter=new SimpleCursorAdapter(this, R.layout.row,cursor,from,to);
ListView listView=this.getListView();
listView.setAdapter(adapter);
}
}