Код: Выделить всё
// создаем и заполняем БД
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DB_CREATE);
String[] goroda = getResources().getStringArray(R.array.gorodalist);
String[] date = getResources().getStringArray(R.array.datelist);
String[] time = getResources().getStringArray(R.array.timelist);
String[] place = getResources().getStringArray(R.array.placelist);
String[] prise = getResources().getStringArray(R.array.priselist);
// создаем объект для данных
ContentValues cv = new ContentValues();
//добавляем элементы
Random random = new Random();
for (int i = 0; i < 20; i++) {
cv.put(COLUMN_A, goroda[random.nextInt(9)]);
cv.put(COLUMN_B, goroda[random.nextInt(9)]);
cv.put(COLUMN_DATE, date[random.nextInt(9)]);
cv.put(COLUMN_TIME, time[random.nextInt(9)]);
cv.put(COLUMN_PRISE, prise[random.nextInt(9)]);
cv.put(COLUMN_PLACE, place[random.nextInt(9)]);
mDB.insert(DB_TABLE, null, cv);
}
}
приложение закрывается при создании бд, когда комментирую все внутри и создаю пустую базу, то все ок. Пожалуйста помогите разобраться. Если нужно что-то еще показать, говорите.
полный код класса DB:
Код: Выделить всё
package com.example.poputchik_v001;
import java.util.Random;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DB extends Activity{
private static final String DB_NAME = "DataBase";
private static final int DB_VERSION = 1;
private static final String DB_TABLE = "tablereis";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_A = "A";
public static final String COLUMN_B = "B";
public static final String COLUMN_DATE = "Date";
public static final String COLUMN_TIME = "Time";
public static final String COLUMN_PRISE = "Prise";
public static final String COLUMN_PLACE = "Place";
private static final String DB_CREATE =
"create table " + DB_TABLE + "(" +
COLUMN_ID + " integer primary key autoincrement, " +
COLUMN_A + " text, " +
COLUMN_B + " text, " +
COLUMN_DATE + " text, " +
COLUMN_TIME + " text, " +
COLUMN_PRISE + " text, " +
COLUMN_PLACE + " text" +
");";
private final Context mCtx;
private DBHelper mDBHelper;
private SQLiteDatabase mDB;
public DB(Context ctx) {
mCtx = ctx;
}
// открыть подключение
public void open() {
mDBHelper = new DBHelper(mCtx, DB_NAME, null, DB_VERSION);
mDB = mDBHelper.getWritableDatabase();
}
// закрыть подключение
public void close() {
if (mDBHelper!=null) mDBHelper.close();
}
// получить все данные из таблицы DB_TABLE
public Cursor getAllData() {
return mDB.query(DB_TABLE, null, null, null, null, null, null);
}
// добавить запись в DB_TABLE
public void addRec(String A, String B, String Date, String Time, String Prise, String Place) {
ContentValues cv = new ContentValues();
cv.put(COLUMN_A, A);
cv.put(COLUMN_B, B);
cv.put(COLUMN_DATE, Date);
cv.put(COLUMN_TIME, Time);
cv.put(COLUMN_PRISE, Prise);
cv.put(COLUMN_PLACE, Place);
mDB.insert(DB_TABLE, null, cv);
}
// удалить запись из DB_TABLE
public void delRec(long id) {
mDB.delete(DB_TABLE, COLUMN_ID + " = " + id, null);
}
// класс по созданию и управлению БД
private class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
// создаем и заполняем БД
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DB_CREATE);
String[] goroda = getResources().getStringArray(R.array.gorodalist);
String[] date = getResources().getStringArray(R.array.datelist);
String[] time = getResources().getStringArray(R.array.timelist);
String[] place = getResources().getStringArray(R.array.placelist);
String[] prise = getResources().getStringArray(R.array.priselist);
// создаем объект для данных
ContentValues cv = new ContentValues();
//добавляем элементы
Random random = new Random();
for (int i = 0; i < 20; i++) {
cv.put(COLUMN_A, goroda[random.nextInt(9)]);
cv.put(COLUMN_B, goroda[random.nextInt(9)]);
cv.put(COLUMN_DATE, date[random.nextInt(9)]);
cv.put(COLUMN_TIME, time[random.nextInt(9)]);
cv.put(COLUMN_PRISE, prise[random.nextInt(9)]);
cv.put(COLUMN_PLACE, place[random.nextInt(9)]);
mDB.insert(DB_TABLE, null, cv);
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
}