Диалог (Дата) и Spinner (Выпадающий список) можно рассматривать как строку? Как сохранить его в базе данных? Я пытаюсь оAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Диалог (Дата) и Spinner (Выпадающий список) можно рассматривать как строку? Как сохранить его в базе данных? Я пытаюсь о

Сообщение Anonymous »

Я создал строку для даты (диалога) в базе данных и одну строку для Spinner (раскрывающийся список). и я пытаюсь сохранить эти два в базе данных. но, похоже, это не работает, потому что это не строка. Но в Sqlite нет даты и времени для хранения.

Из Databasehelper

public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "Person.db";
public static final String TABLE_NAME = "Person_Table";
public static final String COL_1 = "OID";
public static final String COL_2 = "Date";
public static final String COL_3 = "Description";

public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);

}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME + " (OID INTEGER PRIMARY KEY AUTOINCREMENT," +
Description TEXT)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}

public boolean insertData(String Date, String Description) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2, Date);
contentValues.put(COL_3, Description);
long result = db.insert(TABLE_NAME, null, contentValues);
if (result == -1)
return false;
else
return true;
}

}


После нажатия кнопки «Сохранить». Он должен храниться в базе данных. Но я продолжал нажимать, и появлялось сообщение «Данные не вставлены». Разве (диалоговое окно) Дата и (спиннер) раскрывающийся список не могут рассматриваться как строка? Значит, он не будет храниться в базе данных?

Из JavaPage

Save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean isInserted = myDb.insertData(
Display_date.getText().toString().trim(),
e_Description.getText().toString());

if (isInserted == true)
Toast.makeText(Donation.this, "Data Inserted", Toast.LENGTH_LONG).show();
else
Toast.makeText(Donation.this, "Data not Inserted", Toast.LENGTH_LONG).show();

}
});


Вот КОД даты (диалогового окна)

Display_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DAY_OF_MONTH);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);

DatePickerDialog dialog = new DatePickerDialog(Donation.this,
android.R.style.Theme_Holo_Light_Dialog_MinWidth, DataListener,
year, month, day);

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
}
});
DataListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
month = month + 1;
Log.d(TAG, "onDateSet: mm/dd/yyyy: " + month + "/" + day + "/" + year);
String date = month + "/" + day + "/" + year;
Display_date.setText(date);
}
};


Вот КОД раскрывающегося списка (Spinner)

public void dropdown() {

Spinner dropdown = findViewById(R.id.s_Description);
String[] items = new String[]{"Beverage", "food"};
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, items);
dropdown.setAdapter(adapter);
}


Подробнее здесь: https://stackoverflow.com/questions/519 ... tore-it-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»