<Android's research training Project Pat> Sqlite database CRUD

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);
    };
}

 

Guess you like

Origin www.cnblogs.com/jdxb/p/10957085.html