2017-06-24 7 views
0

このコードがどのように機能し、どのようにこのデータをデータベースに挿入するのか説明できますか?私はJava 2つのJavaファイル。最初のコードは最初のJavaファイルにあり、2番目のコードは2番目のJavaファイルにあります。なぜ次のパラメータImageID、currentDay、v.getIDを渡すのですか?次に、insertNewRoutine関数を呼び出すと、int activityResourceID、String dayおよびint slotというパラメータが使用されますか?なぜそれを使用しているのか混乱していますか?誰でもこのコードがデータをデータベースに挿入する方法を説明できますか?

boolean routineInserted = myDb.insertNewRoutine(ImageID, currentDay, v.getId()); 
       if (routineInserted == true) { 
        Toast.makeText(MondayRoutineEdit.this, "Activity Inserted", Toast.LENGTH_LONG).show(); 
       } else { 
        Toast.makeText(MondayRoutineEdit.this, "Activity Not Inserted", Toast.LENGTH_LONG).show(); 
       } 

public boolean insertNewRoutine(int activityResourceID, String day, int slot) 

{ 
    SQLiteDatabase db = this.getWritableDatabase(); 
    db.execSQL("DELETE FROM " + RoutineTable + " WHERE DayID ='" + day + "' AND SlotID =" + slot); 
    ContentValues contentValues = new ContentValues(); 
    contentValues.put(RoutineColumn2, day); 
    contentValues.put(RoutineColumn3, activityResourceID); 
    contentValues.put(RoutineColumn4, slot); 
    long result = db.insert(RoutineTable, null, contentValues); 
    if (result == -1) 
     return false; 
    else 
     return true; 
} 
+0

でした。次に、insertNewRoutine関数を呼び出すと、int activityResourceID、String dayおよびint slotというパラメータが使用されますか?なぜそれを使用しているのか混乱していますか? –

答えて

0
ContentValues contentValues = new ContentValues(); 
contentValues.put(RoutineColumn2, day); 
contentValues.put(RoutineColumn3, activityResourceID); 
contentValues.put(RoutineColumn4, slot); 
long result = db.insert(RoutineTable, null, contentValues); 

あなたは、関数PARAMATERSと(彼らは、SQLの値として挿入しようとしている)コンテンツ値集団です。

このメソッド呼び出しは、挿入を行います。

SQLiteDatabase.classは、SQLiteデータベースを管理するためのメソッドを公開しています。

私は、次のパラメータIMAGEID、currentDay、v.getIDを渡していますなぜ私が何を意味するのか申し訳ありませんが、公式のAndroidのドキュメントへの参照

https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert(java.lang.String,%20java.lang.String,%20android.content.ContentValues)

関連する問題