0
사용자를 SQL 데이터베이스에 저장하지만 OnClick 이벤트에서 코드를 구현하는 방법을 파악할 수없는 Android TODO 목록 앱을 작성합니다. 여기 SQL 데이터베이스에 Edittext 입력을 저장하는 방법은 무엇입니까?
내가 그렇게하지 않으면 내 사용자가 입력 한 데이터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); return cursor; } '포맷 할 수 없습니다. 죄송합니다. 잘하면 도움이됩니다. 대부분 이름을 변경하고 SQL 문이 올바른지 확인해야합니다. – Steeno
putDataInUserTable 메서드를 사용하는 추가 버튼을 클릭하면 내 앱이 다운됩니다. –