Android应用程序已安装,但无法找到包文件夹,并且数据库连接也无法正常工作

时间:2017-08-23 11:28:58

标签: android android-sqlite

我有一个不显示错误的应用程序,安装在设备中,工作正常。但它不会创建包文件夹,而且我认为存在数据库创建错误,即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;
    }
}

}

我找不到出错的地方,或者发现错误的地方。

0 个答案:

没有答案