我正在一個android項目上工作,雖然我試圖創建數據庫,似乎我有什麼問題,這是我的代碼,假設創建一個數據庫與多個表,但它doesn'產生任何表,請幫我在這裏找到錯誤:)無法創建android sqlite數據庫
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBase extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "StudyLife";
public static final String Table_Subject = "Subject";
public static final String sub_col1 = "ID";
public static final String sub_col2 = "Name";
public static final String sub_col3 = "NumOfHours";
//Table Class
public static final String Table_Class ="Class";
public static final String class_Col1 = "ID";
public static final String class_col2 = "Name";
public static final String class_Col3 = "Subject_ID";
public static final String class_Col4 = "Minutes ";
public static final String Class_Col5 = "Hours";
public static final String class_Col6 = "Date";
public static final String class_Col7 = "location";
public static final String class_Col8 = "Type";
//Table Tasks && Exams
public static final String Table_Tasks ="Tasks";
public static final String Task_col1 ="ID";
public static final String Task_col2 ="Name";
public static final String Task_col3 ="Subject_ID";
public static final String Task_col4 ="Deadline";
public static final String Task_col5 ="Type";//Bool To Exam OR Task
public DataBase(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME,null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE "+ DataBase.Table_Subject + "("+DataBase.sub_col1+" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT ,"
+ DataBase.sub_col2 + "TEXT NOT NULL ," +
DataBase.sub_col3+" INTEGER)");
db.execSQL("CREATE TABLE "+DataBase.Table_Tasks+"("+DataBase.Task_col1+"INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT," +
DataBase.Task_col2+ "TEXT," +
DataBase.Task_col3+"INTEGER NOT NULL," +
DataBase.Task_col4+ "INTEGER," +
DataBase.Task_col5+ "INTEGER)");
db.execSQL("CREATE TABLE "+DataBase.Table_Class+ "("+DataBase.class_Col1+" INTEGER PRIMARY KEY AUTOINCREMENT," +
DataBase.class_col2+"TEXT," +
DataBase.class_Col3+"INTEGER," +
DataBase.class_Col4+"TEXT," +
DataBase.Class_Col5+"TEXT,"+
DataBase.class_Col6+"TEXT," +
DataBase.class_Col7+"TEXT," +
DataBase.class_Col8+"TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(" DROP TABLE IF EXISTS Subject ");
db.execSQL(" DROP TABLE IF EXISTS Class");
db.execSQL(" DROP TABLE IF EXISTS Tasks");
onCreate(db);
}}
這是我在logcat中脫身跑
10月5日至十六日後:55:02.407 17033-17033 /? d/AndroidRuntime:>>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit < < < < < < 十月5日至16日:55:02.423 17033-17033 /? D/AndroidRuntime:CheckJNI關閉 05-16 10:55:02.443 17033-17033 /? D/dalvikvm:試圖加載lib libjavacore.so 0x0 05-16 10:55:02.443 17033-17033 /? D/dalvikvm:添加共享庫libjavacore.so 0x0 05-16 10:55:02.451 17033-17033 /? D/dalvikvm:試圖加載lib libnativehelper.so 0x0 05-16 10:55:02.455 17033-17033 /? D/dalvikvm:添加共享庫libnativehelper.so 0x0 05-16 10:55:02.455 17033-17033 /? D/dalvikvm:在libnativehelper.so 0x0中找不到JNI_OnLoad,跳過初始化 05-16 10:55:02.499 1282-1288 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.499 1282-1288 /? I/jdwp:忽略第二個調試器 - 接受並丟棄 05-16 10:55:02.527 772-778 /? I/jdwp:忽略第二個調試器 - 接受並丟棄 05-16 10:55:02.527 772-778 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.555 1480-1486 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.559 1480-1486 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.579 17033-17033 /? D/dalvikvm:注意:class Landroid/app/ActivityManagerNative;有179個未實現(抽象)方法 05-16 10:55:02.595 1512-1516 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.595 1512-1516 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.623 17033-17040 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.647 1546-1550 /? I/jdwp:忽略第二個調試器 - 接受並丟棄 05-16 10:55:02.659 1546-1550 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.683 818-824 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.687 818-824 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.711 788-794 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.731 788-794 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.735 885-890 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.743 885-890 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.763 695-701 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.775 695-701 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.823 1207-1213 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.823 1207-1213 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.851 16791-16797 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.851 1529-1534 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.883 1529-1534 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.883 1498-1504 /?I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.927 1498-1504 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.931 1051-1057 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.939 1051-1057 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.955 637-643 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.979 637-643 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:02.979 830-837 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:02.999 830-837 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.023 17033-17033 /? E/memtrack:無法加載memtrack模塊(沒有這樣的文件或目錄) 05-16 10:55:03.023 17033-17033 /? E/android.os.Debug:未能加載memtrack模塊:-2 05-16 10:55:03.139 17033-17033 /? D/AndroidRuntime:調用主條目com.android.commands.pm.Pm 05-16 10:55:03.187 17033-17033 /? D/AndroidRuntime:關閉VM 05-16 10:55:03.191 17033-17040 /? D/jdwp:得到了喚醒信號,從中選出 05-16 10:55:03.195 17033-17040 /? D/dalvikvm:調試器已分離;對象註冊表有1個條目 05-16 10:55:03.223 1282-1288 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.239 1282-1288 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.247 772-778 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.283 1480-1486 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.283 772-778 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.323 1512-1516 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.335 1480-1486 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.343 1546-1550 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.359 1512-1516 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.387 818-824 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.395 1546-1550 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.431 788-794 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.431 818-824 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.475 885-890 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.491 788-794 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.679 695-701 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.755 885-890 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.755 1207-1213 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.827 695-701 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.831 1529-1534 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.871 1207-1213 /? I/jdwp:忽略第二個調試器 - 接受和放棄 05-16 10:55:03.891 1498-1504 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.903 16791-16797 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.919 1051-1057 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.939 1529-1534 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:03.939 637-643 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:04.007 830-837 /? I/jdwp:忽略第二個調試器 - 接受和丟棄 05-16 10:55:04.007 1498-1504 /?I/jdwp:忽略第二個調試器 - 接受並丟棄 05-16 10:55:04.071 1051-1057 /? I/jdwp:忽略第二個調試器 - 接受並丟棄 05-16 10:55:04.087 637-643 /? I/jdwp:忽略第二個調試器 - 接受並丟棄 05-16 10:55:04.107 830-837 /? I/jdwp:忽略第二個調試器 - 接受和丟棄
你可以在這裏發佈logcat錯誤嗎?只有通過查看代碼,我才能想到的是在表名和第一個'('在'CREATE TABLE'語句之間放置一個空格。「 –
*每個問題*包含*」它顯示一個錯誤「*或類似的需要說錯誤是什麼 – Denny
缺失空格,檢查連接的字符串 –