【SQLiteシリーズをプレイ】(四)Androidから提供されたAPI操作SQLiteデータベース


転載は出典を明記してください.http://blog.csdn.net/linglongxin24/article/details/53316096 この記事は「DylanAndroidのブログ」から来ています.
  • 【SQLiteシリーズを弄ぶ】記事目録
  • 【SQLiteシリーズを弄ぶ】(一)SQLiteを初めて認識し、sql文を再び拾う
  • 【SQLiteシリーズを弄び回す】(二)SQLite作成とデータベースを開く3つの方法
  • .
  • 【SQLiteシリーズを弄ぶ】(三)SQLiteデータベース
  • をsql文で操作する.
  • 【SQLiteシリーズを弄ぶ】(4)Androidによって提供されるAPI動作SQLiteデータベース
  • 【SQLiteシリーズを弄ぶ】(五)SQLiteデータベース最適化
  • 【SQLiteシリーズを弄び回す】(六)SQLiteデータベース応用例実現履歴検索記録
  • 【SQLiteシリーズを弄ぶ】(7)SQLiteデータベース軽量級ORMオペレーティングデータベースツール類
  • 【SQLiteシリーズをプレイ】(四)Androidから提供されたAPI操作SQLiteデータベース
    前の「SQLiteシリーズをプレイ」(三)sql文操作SQLiteデータベースでSQLiteデータベースを紹介しました.SQLiteデータベースを操作するには、ユーザーが熟練したsql文スペルとsql文法の熟練によってマスターしなければなりません.実は、Androidでは該当のAPIを提供してデータベースを操作しています.sqlに慣れていなくても、SQLiteデータベースをうまく操作することができます.この記事では、Androidを通じて提供されるAPIのデータベースに対する以下の操作を紹介します.
    1.テーブルの作成
    2.テーブルの削除
    3.データの追加
    4.データの変更
    5.データの削除
    6.照会データ
    0.データベースを作成または開く
  • SDカードのsqliteフォルダの下でinfo.dbデータベース
  • を作成して開きます.
      File dataBaseFile = new File(Environment.getExternalStorageDirectory() + "/sqlite", Contacts.DATABASE_NAME);
            if (!dataBaseFile.getParentFile().exists()) {
                dataBaseFile.mkdirs();
            }
            sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase(dataBaseFile, null);
  • は、adb shellコマンドでデータベースファイルを見ることができます.
  • cd storge/emulated/legacy/sqlite
    1.テーブルの作成
    /**
         * 1.     user
         *    user
         * *   user     
         *   :id
         *   :name
         *   :age:
         *
         * @param v
         */
        public void create(View v) {
            String sql = "CREATE TABLE " +
                    "IF NOT EXISTS " +
                    "user(" +
                    "id Integer PRIMARY KEY AUTOINCREMENT," +
                    "name varchar," +
                    "age Integer)";
            sqLiteDatabase.execSQL(sql);
        }
    私たちは(sqlite 3 info 2).コマンドでデータベースを開けて、コマンドを実行してデータテーブルを確認します.
    2.テーブルの削除
    
        /**
         * 2.     user
         *
         * @param v
         */
        public void drop(View v) {
            String sql = "DROP TABLE " +
                    "IF EXISTS " +
                    "user";
            sqLiteDatabase.execSQL(sql);
        }
    
    3.データの挿入(追加)
    
        /**
         * 3. user        
         * 

    * long insert(String table, String nullColumnHack, ContentValues values) * : * : values , * insert ( ), * , , * , * null, 。 * : * : , -1 * * @param v */

    public void insert(View v) { String table = "user"; ContentValues contentValues = new ContentValues(); contentValues.put("name", " "); contentValues.put("age", 25); long num = sqLiteDatabase.insert(table, null, contentValues); if (num == -1) { Toast.makeText(this, " ", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, " " + num + " ", Toast.LENGTH_SHORT).show(); } }
    私たちはselect*from userを通じてコマンドを使用して、データベースの内容を確認します.
    二つのデータを挿入しました.
    4.データの変更
      /**
          * 4.  user  id 2     “  ”
          * 

    * int update(String table, ContentValues values, String whereClause, String[] whereArgs) * : * : * : * : * : * * @param v */

    public void update(View v) { String table = "user"; ContentValues contentValues = new ContentValues(); contentValues.put("name", " "); String where = "id=2"; /** * */ sqLiteDatabase.update(table, contentValues, where, null); /** * */ where = "id=?"; String[] whereArgs = new String[]{"2"}; int num = sqLiteDatabase.update(table, contentValues, where, whereArgs); Toast.makeText(this, " " + num + " ", Toast.LENGTH_SHORT).show(); }
    修正の結果を確認します.
    ID 2の名前を李四に変更しました.
    5.データの削除
     /**
         * 5.  user  id 2   
         * 

    * int delete(String table, String whereClause, String[] whereArgs) * : * : * : * : * * @param v */

    public void delete(View v) { String table = "user"; String where = "id=2"; sqLiteDatabase.delete(table, where, null); where = "id=?"; String[] whereArgs = new String[]{"3"}; int num = sqLiteDatabase.delete(table, where, whereArgs); Toast.makeText(this, " " + num + " ", Toast.LENGTH_SHORT).show(); }
    削除の結果を確認します.
    IDが2のデータを削除しました.
    6.照会データ
       /**
         * 6.    
         * 

    * Cursor query(String table, String[] columns, String selection,String[] selectionArgs, String groupBy, String having,String orderBy) * : * : * : * : * : * : * : * : * * @param v */

    public void query(View v) { String table = "user"; Cursor cursor = sqLiteDatabase.query(table, null, null, null, null, null, null); if (cursor == null) { return; } while (cursor.moveToNext()) { Log.d(Contacts.TAG, "id=" + cursor.getInt(0) + ",name=" + cursor.getString(1) + ",age=" + cursor.getInt(2)); } cursor.close(); }
    私たちはログで結果を確認します.