我找不到在我的應用程序中創建的數據庫。
我看過其他類似的問題,我知道這可能是因爲我沒有root權限。
但是,我找不到手機上的實際應用程序文件夾。
在模擬器上的調試模式下,它在數據中,但我安裝apk時無法在手機上看到它。
當我按下按鈕時,它不會給出任何錯誤,所以我假設db正在被創建和使用。移動數據庫的位置
問題是:有什麼辦法可以移動創建數據庫的位置,這樣我就可以看到它。
還有沒有更好的方法來增加數據庫上的數字?
package com.example.a2618436.customersatsifaction;
/**
* Created by 2618436 on 06/05/2016.
*/
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.content.Context;
import android.content.ContentValues;
import android.database.Cursor;
public class MyDBHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "SurveyDB.db";
private static final String TABLE_SURVEY = "Survey";
public static final String KEY_ID= "id";
public static final String KEY_HAPPY = "happy";
public static final String KEY_SAD = "sad";
public MyDBHandler(Context context, String name,
SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db){
String CREATE_SURVEY_TABLE = "CREATE TABLE " +
TABLE_SURVEY + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_HAPPY
+ " INTEGER," + KEY_SAD + " INTEGER" + ")";
db.execSQL(CREATE_SURVEY_TABLE);
}
//
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion){
db.execSQL("DROP TABLE IF EXISTS " + TABLE_SURVEY);
onCreate(db);
}
//needs revision
public void addSurvey(MainActivity mainactivity) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_HAPPY, mainactivity.getHappy()); // Contact Name
values.put(KEY_SAD, mainactivity.getSad()); // Contact Phone Number
// Inserting Row
db.insert(TABLE_SURVEY, null, values);
db.close(); // Closing database connection
}
}
數據庫處理程序。
package com.example.a2618436.customersatsifaction;
/**
* Created by 2618436 on 06/05/2016.
*/
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.content.Context;
import android.content.ContentValues;
import android.database.Cursor;
public class MyDBHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "SurveyDB.db";
private static final String TABLE_SURVEY = "Survey";
public static final String KEY_ID= "id";
public static final String KEY_HAPPY = "happy";
public static final String KEY_SAD = "sad";
public MyDBHandler(Context context, String name,
SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db){
String CREATE_SURVEY_TABLE = "CREATE TABLE " +
TABLE_SURVEY + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_HAPPY
+ " INTEGER," + KEY_SAD + " INTEGER" + ")";
db.execSQL(CREATE_SURVEY_TABLE);
}
//
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion){
db.execSQL("DROP TABLE IF EXISTS " + TABLE_SURVEY);
onCreate(db);
}
//needs revision
public void addSurvey(MainActivity mainactivity) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_HAPPY, mainactivity.getHappy()); // Contact Name
values.put(KEY_SAD, mainactivity.getSad()); // Contact Phone Number
// Inserting Row
db.insert(TABLE_SURVEY, null, values);
db.close(); // Closing database connection
}
}
爲什麼你需要訪問設備上的數據庫?你可以在DDMS中檢查它(請考慮在仿真器上開發,而不是在物理設備上開發 - 這是最糟糕的實踐)。 –
** 1 ** - 如果您願意,您可以在存儲上創建數據庫。然後你會受到欺騙。 ** 2 ** - 你是什麼意思'也有更好的方法來增加數據庫上的數字嗎? –
我無法在模擬器上找到數據庫,所以我不認爲它實際上已經創建。它不在com.example文件夾中,我認爲它應該是。 – user3603437