0
ユーザーをSQLデータベースに保存するアンドロイドTODOリストアプリケーションを構築しますが、OnClickイベントでコードを実装する方法を理解することはできません。ここユーザのEdittext入力をSQLデータベースに保存する方法は?
そうしないと私は私のユーザーの入力データを保存するSQLデータベースのコード
public class TaskContract {
public static final String DB_NAME = "com.aziflaj.todolist.db";
public static final int DB_VERSION = 1;
public class TaskEntry implements BaseColumns {
public static final String TABLE = "tasks";
public static final String COL_TASK_TITLE = "title";
public static final String COL_TASK_DESCRIPTION = "Description";
public static final String COL_TASK_DATE = "date";
public static final String COL_TASK_TIME = "time";
}}
SQLDbHelperコード
public class TaskDbHelper extends SQLiteOpenHelper {
public TaskDbHelper(Context context) {
super(context, TaskContract.DB_NAME, null, TaskContract.DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE " + TaskContract.TaskEntry.TABLE + " (" +
TaskContract.TaskEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
TaskContract.TaskEntry.COL_TASK_TITLE + " TEXT NOT NULL," +
TaskContract.TaskEntry.COL_TASK_DATE + "TEXT NOT NULL," +
TaskContract.TaskEntry.COL_TASK_DESCRIPTION + "TEXT NOT NULL," +
TaskContract.TaskEntry.COL_TASK_TIME + "TEXT NOT NULL;)";
db.execSQL(createTable);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TaskContract.TaskEntry.TABLE);
onCreate(db);
}}
アクティビティレイアウトコード
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".Dialog">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/title_field"
android:layout_marginRight="20dp"
android:layout_marginLeft="20dp"
android:ems="20"
android:hint="Task Title"
android:textColorHint="@color/hint_color"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/description_field"
android:layout_below="@+id/title_field"
android:layout_marginTop="5dp"
android:ems="20"
android:hint="Task Description"
android:textColorHint="@color/hint_color"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="date"
android:hint="Date"
android:textColorHint="@color/hint_color"
android:ems="6"
android:id="@+id/date_field"
android:layout_below="@+id/description_field"
android:layout_alignLeft="@+id/description_field"
android:layout_alignStart="@+id/description_field"
android:layout_marginTop="35dp"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="time"
android:ems="6"
android:hint="Time"
android:textColorHint="@color/hint_color"
android:layout_marginRight="20dp"
android:id="@+id/time_field"
android:layout_alignTop="@+id/date_field"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ADD"
android:gravity="center|right"
android:id="@+id/add"
android:onClick="Add_task"
android:textColor="@color/background"
style="?android:attr/borderlessButtonStyle"
android:layout_below="@+id/time_field"
android:textSize="16dp"
android:layout_marginBottom="10dp"
android:layout_alignRight="@+id/time_field"
android:layout_alignEnd="@+id/time_field"
android:layout_marginTop="35dp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CANCEL"
android:onClick="Cancel"
android:textSize="16dp"
android:id="@+id/cancel"
android:layout_marginBottom="10dp"
style="?android:attr/borderlessButtonStyle"
android:textColor="@color/background"
android:layout_alignTop="@+id/add"
android:layout_toLeftOf="@+id/add"
android:layout_toStartOf="@+id/add"/>
</RelativeLayout>
SQLiteOpenHelperにいくつかの変更はありましたか?変更に関する推奨事項やヒントはありますか? –
また、データベースから読み込むために何か必要なことがあります: 'public Cursor getDataFromUserTable(UserDatabase dop){ SQLiteDatabase sql = dop.getReadableDatabase(); String [] columns = {TableInfo.USER_NAME、TableInfo.USER_PASSWORD、TableInfo.USER_AUTOLOGIN、TableInfo.SESSION_ID、TableInfo.SERVER_NAME}; カーソルcursor = sql.query(TableInfo.TALBE_NAME、columns、null、null、null、null、null); リターンカーソル。 } 'これはフォーマットできません。申し訳ありません。うまくいけば助けてくれます。ほとんどの場合、名前を変更して、SQL文が正しいことを確認するだけです。 – Steeno
putDataInUserTableメソッドを使用する[追加]ボタンをクリックすると、アプリがクラッシュするようになりました –