我有一个不显示错误的应用程序,安装在设备中,工作正常。但它不会创建包文件夹,而且我认为存在数据库创建错误,即DB无法创建。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
context = getBaseContext();
if (intent.getBooleanExtra("qr", false)) {
String msg = context.getString(R.string.getBarcodeScanner);
IntentIntegrator.initiateScan(this, "Kein Barcodescanner", msg,
"Zum App Market", "Nein, danke");
}
int currentTime = (int) (System.currentTimeMillis() / 1000);
if (showSplashScreen || currentTime > loginTime) {
if (!showSplashScreenAlways)
loginTime = (int) (System.currentTimeMillis() / 1000) + 7200;
showSplashScreen = false;
startActivity(new Intent(this, SplashScreenActivity.class));
}
setContentView(R.layout.abp_main_view);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.simple_list_item_1, ITEMS_TEXT);
setListAdapter(adapter);
DatabaseAdapter dbAdapter = DatabaseAdapter.getInstance(this);
ObjectiveRecord objective = new ObjectiveRecord();
objective.setSQLiteDatabase(dbAdapter.getDatabase());
Cursor c = objective.retreiveAll();
startManagingCursor(c);
c.moveToFirst();
while (!c.isAfterLast()) {
long timestamp = c.getLong(c
.getColumnIndex(ObjectiveRecord.COL_TIMESTAMP));
Calendar today = Calendar.getInstance();
Calendar dueTime = Calendar.getInstance();
dueTime.setTimeInMillis(timestamp);
if (today.after(dueTime) || today.equals(dueTime)) {
Builder dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setMessage(R.string.abp_main_due_objective_msg);
dialogBuilder.setPositiveButton(R.string.abp_global_confirm_ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
dialog.dismiss();
}
});
dialogBuilder.show();
break;
}
c.moveToNext();
}
}
以上是我的main.java文件。
这是数据库文件:
public class DatabaseAdapter extends SQLiteOpenHelper {
private static DatabaseAdapter dbAdapter;
private static SQLiteDatabase db;
private static final String DB_NAME = "abp.db";
private static final int DB_VERSION = 1;
private DatabaseAdapter(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(ObjectiveRecord.SQL_CREATE_TABLE);
db.execSQL(ExerciseRecord.SQL_CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.i(getClass().getSimpleName(), "Upgrading database from version "
+ oldVersion + " to " + newVersion
+ ", which will destroy all old data");
db.execSQL("drop table if exists " + ObjectiveRecord.SQL_TABLE_NAME);
db.execSQL("drop table if exists " + ExerciseRecord.SQL_TABLE_NAME);
onCreate(db);
}
private static void init(Context context) {
//if (DatabaseAdapter.dbAdapter == null) {
DatabaseAdapter.dbAdapter = new DatabaseAdapter(context, DB_NAME,
null, DB_VERSION);
DatabaseAdapter.db = DatabaseAdapter.dbAdapter
.getWritableDatabase();
//}
}
public static final DatabaseAdapter getInstance(Context context) {
DatabaseAdapter.init(context);
return DatabaseAdapter.dbAdapter;
}
public SQLiteDatabase getDatabase() {
return DatabaseAdapter.db;
}
@Override
public void close() {
if (DatabaseAdapter.db != null) {
DatabaseAdapter.db.close();
DatabaseAdapter.db = null;
}
}
}
我找不到出错的地方,或者发现错误的地方。