Erstellen einer androiden TODO-Liste App, die Benutzer speichert Eingabe in einer SQL-Datenbank, aber nicht in der Lage, herauszufinden, wie der Code in einem OnClick-Ereignis implementiert wird.Wie Benutzer Edittext Eingabe in SQL-Datenbank zu speichern?
hier ist die SQL-Datenbank-Code, wo ich möchte, dass meine Benutzereingabedaten
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 Code
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);
}}
Aktivität Layout-Code
<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>
Haben einige Änderungen an der SQLiteOpenHelper, eine Empfehlung oder Tipp auf Änderungen ??? –
Vielleicht brauchen Sie etwas aus der Datenbank zu lesen, ich denke auch: 'public Cursor getDataFromUserTable (UserDatabase dop) { SQLiteDatabase sql = dop.getReadableDatabase(); Zeichenfolge [] columns = {TableInfo.USER_NAME, TableInfo.USER_PASSWORD, TableInfo.USER_AUTOLOGIN, TableInfo.SESSION_ID, TableInfo.SERVER_NAME}; Cursorcursor = sql.query (TableInfo.TALBE_NAME, Spalten, null, null, null, null, null); Rückkehrcursor; } 'Ich kann das nicht formatieren, sorry. Hoffentlich hilft das. Sie müssen nur die Namen ändern und sicherstellen, dass die SQL-Anweisungen korrekt sind. – Steeno
Ich habe es jetzt hinzugefügt meine App stürzt ab, wenn ich auf die Schaltfläche Hinzufügen, die putDataInUserTable Methode –