![]()
package com.example.sql;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = (TextView)findViewById(R.id.text1);
UserStorage userStorage = new UserStorage(this);
ContentValues contentValues = new ContentValues();
contentValues.put("name","aa");
contentValues.put("sex","女");
contentValues.put("age",20);
long id = userStorage.insert(contentValues);
Map<String,Object> map = userStorage.query(""+id);
textview.setText((String)map.get("name")+" "+(String)map.get("sex")+" "+(int)map.get("age"));
}
}
class UserStorage{
String dbName = "userDB";
String table = "users";
int version = 1;
DBHelper dbHelper;
public UserStorage(Context context){
dbHelper = new DBHelper(context,version);
}
long insert(ContentValues contentValues){
SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();
long id = sqLiteDatabase.insert(table, null, contentValues);
sqLiteDatabase.close();
return id;
}
long delete(String id){
SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();
long result = sqLiteDatabase.delete(table,"_id=?",new String[]{id});
sqLiteDatabase.close();
return result;
}
long update(ContentValues contentValues, String id){
SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();
long result = sqLiteDatabase.update(table,contentValues,"_id=?",new String[]{id});
return result;
}
Map<String,Object> query(String id){
SQLiteDatabase sqLiteDatabase = dbHelper.getReadableDatabase();
Cursor cursor = sqLiteDatabase.query(table,new String[]{"_id","name","sex","age"},"_id=?",new String[]{id},null,null,null);
if(cursor.moveToNext()){
Map<String,Object> map = new HashMap<String,Object>();
map.put("_id",cursor.getInt(0));
map.put("name",cursor.getString(1));
map.put("sex",cursor.getString(2));
map.put("age",cursor.getInt(3));
cursor.close();
sqLiteDatabase.close();
return map;
}else{
sqLiteDatabase.close();
return null;
}
}
}
class DBHelper extends SQLiteOpenHelper{
private String createTableSql = "create table if not exists users" +
"(_id integer primary key autoincrement," +
"name text not null," +
"sex text not null," +
"age integer not null)";
public DBHelper(Context context, int version){
super(context,"userDB",null,version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(createTableSql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "drop table if exists users";
db.execSQL(sql);
onCreate(db);
};
}