全部代码都发上来了,感觉也不需要什么说明吧~~代码都可以看得很清晰了。
package com.sky.sqlitedemo;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
public class DBHelper extends SQLiteOpenHelper {
public static final String TABLE="sky";
public class Column implements BaseColumns{
public static final String ACCOUNT = "account";//账号
public static final String NICKNAME = "nickname";//昵称
public static final String AVATAR = "avatar";//头像
public static final String PINYIN = "pinyin";//账号拼音
}
public DBHelper(Context context) {
super(context, TABLE, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE + "(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
Column.ACCOUNT + " TEXT, " +
Column.NICKNAME + " TEXT, " +
Column.AVATAR + " TEXT, " +
Column.PINYIN + " TEXT);";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
package com.sky.sqlitedemo;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.widget.Toast;
public class ContastOpenHelper {
private Context context;
private DBHelper dbHelper;
public ContastOpenHelper(Context context) {
this.context=context;
dbHelper=new DBHelper(context);
}
/**
*
* @param account
* @param nickname
* @param avatar
* @param pinyin
*/
public void Insert(String account,String nickname,String avatar,String pinyin){
SQLiteDatabase database = dbHelper.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("account", account);
values.put("nickname", nickname);
values.put("avatar", avatar);
values.put("pinyin", pinyin);
//************************************************************************* 1
//long code=database.insert(DBHelper.TABLE, null, values);
//System.out.println("Insert code "+code);
// Toast.makeText(context, "Insert "+code, Toast.LENGTH_LONG).show();
//*************************************************************************
//************************************************************************* 2
String sql="insert into "+DBHelper.TABLE+"(account,nickname,avatar,pinyin) values (?,?,?,?)";
Object[] bindArgs=new Object[]{account,nickname,account,pinyin};
database.execSQL(sql, bindArgs);
//*************************************************************************
}
public void Delete(String id){
SQLiteDatabase database = dbHelper.getWritableDatabase();
//************************************************************************* 1
//database.delete(DBHelper.TABLE, "_id=?", new String[]{id});
//*************************************************************************
//*************************************************************************2
String sql="delete form "+DBHelper.TABLE+" where _id ="+id;
database.execSQL(sql);
//*************************************************************************
}
/**
* 根据账号更新
* @param account
*/
public void Update(String account,String nickname,String avatar,String pinyin){
SQLiteDatabase database = dbHelper.getWritableDatabase();
//*************************************************************************
ContentValues values=new ContentValues();
values.put("nickname", nickname);
values.put("avatar", avatar);
values.put("pinyin", pinyin);
int code=database.update(DBHelper.TABLE, values, "account=?", new String[]{account});
Toast.makeText(context, "Update "+code, Toast.LENGTH_LONG).show();
//*************************************************************************
//update MyClass set name='Mary' where id=1;
}
/**
* 查找全部
*/
public void RawAll(){
SQLiteDatabase database = dbHelper.getReadableDatabase();
Cursor cursor = database.rawQuery("select * from "+DBHelper.TABLE, null);
while(cursor.moveToNext()){
String account= cursor.getString(cursor.getColumnIndex(DBHelper.Column.ACCOUNT));
String nickname=cursor.getString(cursor.getColumnIndex(DBHelper.Column.NICKNAME));
System.out.println("account "+account+" nickname "+nickname);
}
}
/**
* 根据账号查找
* @param account
*/
public void RawFindAccount(String accounts){
SQLiteDatabase database = dbHelper.getReadableDatabase();
Cursor cursor = database.rawQuery("select * from "+DBHelper.TABLE+" where account=?", new String[]{accounts});
while(cursor.moveToNext()){
String account= cursor.getString(cursor.getColumnIndex(DBHelper.Column.ACCOUNT));
String nickname=cursor.getString(cursor.getColumnIndex(DBHelper.Column.NICKNAME));
System.out.println("account "+account+" nickname "+nickname);
}
}
}
package com.sky.sqlitedemo;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
ContastOpenHelper contastOpenHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
contastOpenHelper=new ContastOpenHelper(MainActivity.this);
findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// contastOpenHelper.Insert("12345sad8", "sky", "qq.jpg", "s");
// contastOpenHelper.Delete("2");
//contastOpenHelper.Update("12345", "nick", "qq.jpg", "n");
// contastOpenHelper.RawAll();
contastOpenHelper.RawFindAccount("12345");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}