Привет Я довольно новичок в разработке Android, и я делаю простое приложение, которое позволяет пользователю вводить свои данные, и после нажатия кнопки «Сохранить» их данные сохраняются в базе данных, Я создал. Я создал класс «MyDBHandler», класс «Details» с методами getter и setter и класс «MainActivity», с которыми у меня больше всего проблем. Моя основная проблема заключается в том, что я не уверен, как вставлять данные, которые пользователь вводит в созданную мной таблицу. Мой класс MainActicity - это место, где я потерялся. Скажите/покажите мне, что я делаю неправильно. Мой код ниже, спасибо.Android SQLite, добавляющий данные в базу данных
класс MyDBHandler
package com.example.brian.organdonorapp;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.Cursor;
import android.content.Context;
import android.content.ContentValues;
public class MyDBHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "detailsDB.db";
public static final String TABLE_DETAILS = "details";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_FIRSTNAME = "firstname";
public static final String COLUMN_SURNAME = "surname";
public static final String COLUMN_PHONE = "phone";
public static final String COLUMN_EMAIL = "email";
public static final String COLUMN_ADDRESS1 = "address1";
public static final String COLUMN_ADDRESS2 = "address2";
// Pass database information along to superclass
public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String query = "CREATE TABLE " + TABLE_DETAILS + "("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COLUMN_FIRSTNAME + " TEXT "
+ COLUMN_SURNAME + " TEXT "
+ COLUMN_PHONE + " TEXT "
+ COLUMN_EMAIL + " EMAIL "
+ COLUMN_ADDRESS1 + " TEXT"
+ COLUMN_ADDRESS2 + " TEXT "
+ ");";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_DETAILS);
onCreate(db);
}
//Add a new row to the database
public void addDetails(Details details){
ContentValues values = new ContentValues();
values.put(COLUMN_FIRSTNAME, details.getFirstname());
values.put(COLUMN_SURNAME, details.getSurname());
values.put(COLUMN_PHONE, details.getPhone());
values.put(COLUMN_EMAIL, details.getEmail());
values.put(COLUMN_ADDRESS1, details.getAddress1());
values.put(COLUMN_ADDRESS2, details.getAddress2());
SQLiteDatabase db = getWritableDatabase();
db.insert(TABLE_DETAILS, null, values);
db.close();
}
}
Детали класса
package com.example.brian.organdonorapp;
public class Details {
int _id;
String firstname;
String surname;
int phone;
String email;
String address1;
String address2;
// Empty constructor
public Details(String s){
}
public void set_id(int _id) {
this._id = _id;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public void setPhone(int phone) {
this.phone = phone;
}
public void setEmail(String email) {
this.email = email;
}
public void setAddress1(String address1) {
this.address1 = address1;
}
public void setAddress2(String address2) {
this.address2 = address2;
}
public int get_id() {
return _id;
}
public String getFirstname() {
return firstname;
}
public String getSurname() {
return surname;
}
public int getPhone() {
return phone;
}
public String getEmail() {
return email;
}
public String getAddress1() {
return address1;
}
public String getAddress2() {
return address2;
}
}
MainActivity класс
package com.example.brian.organdonorapp;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
TextView firstName;
EditText editTextName;
TextView textView5;
EditText editTextSurname;
TextView textView4;
EditText editTextMobile;
TextView textView2;
EditText editTextEmail;
TextView textView3;
EditText editTextAddress1;
TextView textView6;
EditText editTextAddress2;
MyDBHandler dbHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firstName = (TextView) findViewById(R.id.firstName);
editTextName = (EditText) findViewById(R.id.editTextName);
textView5 = (TextView) findViewById(R.id.textView5);
editTextSurname = (EditText) findViewById(R.id.editTextSurname);
textView4 = (TextView) findViewById(R.id.textView4);
editTextMobile = (EditText) findViewById(R.id.editTextMobile);
textView2 = (TextView) findViewById(R.id.textView2);
editTextEmail = (EditText) findViewById(R.id.editTextEmail);
textView3 = (TextView) findViewById(R.id.textView3);
editTextAddress1 = (EditText) findViewById(R.id.editTextAddress1);
textView6 = (TextView) findViewById(R.id.textView6);
editTextAddress2 = (EditText) findViewById(R.id.editTextAddress2);
dbHandler = new MyDBHandler(this, null, null, 1);
//printDatabase();
}
//Add details to the database
public void addButtonClicked(View view){
Details details = new Details(editTextName.getText().toString());
Details details = new Details(editTextSurname.getText().toString());
Details details = new Details(editTextMobile.getText().toString());
Details details = new Details(editTextEmail.getText().toString());
Details details = new Details(editTextAddress1.getText().toString());
Details details = new Details(editTextAddress2.getText().toString());
dbHandler.addDetails(details);
//printDatabase();
}
}
'' ТЕКСТ "' -> '' ТЕКСТ, '' x5 – njzk2