Я создал строку для даты (диалога) в базе данных и одну строку для 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
Диалог (Дата) и Spinner (Выпадающий список) можно рассматривать как строку? Как сохранить его в базе данных? Я пытаюсь о ⇐ Android
Форум для тех, кто программирует под Android
1728229756
Anonymous
Я создал строку для даты (диалога) в базе данных и одну строку для Spinner (раскрывающийся список). и я пытаюсь сохранить эти два в базе данных. но, похоже, это не работает, потому что это не строка. Но в Sqlite нет даты и времени для хранения.
[b]Из Databasehelper[/b]
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;
}
}
После нажатия кнопки «Сохранить». Он должен храниться в базе данных. Но я продолжал нажимать, и появлялось сообщение «Данные не вставлены». Разве (диалоговое окно) Дата и (спиннер) раскрывающийся список не могут рассматриваться как строка? Значит, он не будет храниться в базе данных?
[b]Из JavaPage[/b]
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();
}
});
[b]Вот КОД даты (диалогового окна)[/b]
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);
}
};
[b]Вот КОД раскрывающегося списка (Spinner)[/b]
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);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/51941526/dialogdate-spinnerdropdown-can-be-consider-as-a-string-how-to-store-it-in[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия