パッケージ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}、NULL、NULL、NULL ); 地図 <文字列、オブジェクト>ハッシュマップの<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)。 }。 }