<Androidの研究研修プロジェクト・パット> SqliteをデータベースCRUD

パッケージcom.example.sql。

輸入android.content.ContentValues。
輸入android.content.Context;
輸入android.database.Cursor;
輸入android.database.sqlite.SQLiteDatabase;
輸入android.database.sqlite.SQLiteOpenHelper;
輸入android.support.v7.app.AppCompatActivity。
輸入android.os.Bundle;
輸入android.widget.TextView。

輸入java.util.HashMapを;
輸入java.util.Map; 

パブリック クラス MainActivityは拡張AppCompatActivity {
     プライベートのTextViewののTextViewを。
    @Override 
    保護された ボイドのonCreate(バンドルsavedInstanceState){
         スーパー.onCreate(savedInstanceState)。
        setContentView(R.layout.activity_main)。
        TextView = (のTextView)findViewById(R.id.text1)。
        UserStorage userStorage = 新しい UserStorage(この); 
        ContentValues contentValues = 新しいContentValues(); 
        contentValues.put( "名前"、 "AA" ); 
        contentValues.put( "性別"、 "女" )。
        contentValues.put( "年齢"、20 );
        長いです ID = userStorage.insert(contentValues)。
        マップの<string、オブジェクト>マップ= userStorage.query( "" + ID)。
        textview.setText((String)をmap.get( "名前")+ " "+(文字列)map.get("性別")+" "+(INT)map.get("年齢" )); 
    } 
} 
クラスUserStorage { 
    ストリングDBNAME = "USERDB" 
    文字列テーブル =「ユーザー」;
    int型のバージョン= 1 ; 
    DBHelper dbHelper; 
    公共UserStorage(コンテキスト・コンテキスト){ 
        dbHelper = 新しいDBHelper(文脈、バージョン)。
    (ContentValuesのcontentValues)を挿入{ 
        SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase()。
        長い ID = sqLiteDatabase.insert(テーブル、ヌル、contentValues)。
        sqLiteDatabase.close(); 
        戻り値のID。
    } 
    長い{(文字列ID)を削除
        SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase()。
        長い結果= sqLiteDatabase.delete(テーブル、 "_ ID =?"、新たな文字列[] {ID})。
        sqLiteDatabase.close(); 
        戻り値の結果; 
    } 
    長い更新(ContentValuesのcontentValues、文字列ID){ 
        SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase()。
        長い結果= sqLiteDatabase.update(テーブル、contentValues、 "_ ID =?"、新たな文字列[] {ID})。
        戻り値の結果; 
    } 
    マップの<string、オブジェクト> クエリ(文字列ID){ 
        SQLiteDatabase sqLiteDatabase = dbHelper.getReadableDatabase()。
        カーソルは、カーソル = sqLiteDatabase.query(テーブル、新しい文字列[] { "_ ID"、 "氏名"、 "性別"、 "年齢"}、 "_ ID =?"、新たな文字列[] {ID}、NULLNULLNULL );
        
            地図 <文字列、オブジェクト>ハッシュマップの<string、オブジェクト> (); 
            map.put( "_id"、cursor.getInt(0 ))。
            map.put( "名前"、cursor.getString(1 )); 
            map.put( "性別"、cursor.getString(2 ))。
            map.put( "年齢"、cursor.getInt(3 )); 
            cursor.close(); 
            sqLiteDatabase.close(); 
            リターンマップ。
        } { 
            sqLiteDatabase.close()。
            リターン ヌル
        } 
    } 
} 
クラス DBHelperは延びSQLiteOpenHelper { 

    プライベートを +文字列CreateTableSQLの=「ではないユーザーが存在する場合は、テーブルを作成する」
            「(_id整数主キーの自動インクリメント、」+ 
            「の名前のテキストnullではない、」+ 
            「セックスのテキストはnullではない、」+ 
            「年齢の整数nullではない)」を

    公共 DBHelper(コンテキスト・コンテキスト、int型バージョン){
         スーパー(文脈、 "USERDB"、NULL 、バージョン)。
    } 

    @Override 
    公共 ボイドのonCreate(SQLiteDatabaseデシベル){ 
        db.execSQL(CreateTableSQLの)。
    } 

    @Override 
    公共 無効 ONUPGRADE(SQLiteDatabaseデシベル、INTNEWVERSION){ 
        文字列のSQL =「ドロップテーブルユーザが存在する場合は」; 
        db.execSQL(SQL)。
        onCreate(DB)。
    }。
}

 

おすすめ

転載: www.cnblogs.com/jdxb/p/10957085.html