2017-09-16 116 views
2

我想創建一個非常簡單的應用程序與三個字段和數據應保存在SQLite數據庫。當我運行的應用程序未創建SQLite數據庫

  1. 我得到錯誤信息"Error running app: Instant Run requires "Tools..Android..Enable ADB integration" to be enabled .. 我做了亞行的整合從菜單中,但每次我運行應用程序時,顯示此錯誤。我是否需要始終手動選擇此選項?

  2. 當我按下應用程序中的按鈕來保存數據時,應用程序停止運行。我試圖檢查Android設備監視器上的數據庫,但未創建數據文件夾。我發現在這個論壇上一些相關的幫助,我已經做了建議的配置(見下圖):

亞行外殼 蘇 搭配chmod 777個/data/data/com.example.application.sqliteappl 啓動CMD再次.. adb根 adb root -restart

(我的軟件包名稱是:com.example.application.sqliteappl)。

我假設我的應用程序停止運行,因爲它無法創建SQLite數據庫。 任何人有一個想法如何解決這個問題?

在我的應用程序的代碼是很簡單的,我不認爲有任何問題:

public class DatabaseHelper extends SQLiteOpenHelper { 
    private static final String TAG = "MyMessage"; 
public static final String DATABASE_NAME = "Student.db"; 
    public static final String TABLE_NAME = "Student_table"; 
    public static final String COL_1 = "ID"; 
    public static final String COL_2 = "Name"; 
    public static final String COL_3 = "SURNAME"; 
    public static final String COL_4 = "MARKS"; 
    public DatabaseHelper(Context context) { 
     super(context, DATABASE_NAME, null, 1); 
//  SQLiteDatabase db = this.getWritableDatabase(); 
    } 
    @Override 
    public void onCreate(SQLiteDatabase db) { 
db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, SURNAME TEXT, MARKS INTEGER)"); 
    } 
    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

     db.execSQL("DROP TABKE IF EXITS "+TABLE_NAME); 
     onCreate(db); 
Log.i(TAG, "onUpgrade()"); 
    } 

    public boolean insertData(String name, String surname, String marks){ 
     Log.i(TAG, "insertData()"); 
     SQLiteDatabase db = this.getWritableDatabase(); 
     ContentValues contevalues = new ContentValues(); 

     contevalues.put(COL_2, name); 
     contevalues.put(COL_3, surname); 
     contevalues.put(COL_4, marks); 
     long result = db.insert(TABLE_NAME, null, contevalues); 
if (result == -1) 
    return false; 
     else 
      return true; 
    } 
} 

感謝大家看着它。

問候,

塔裏克

+0

你嘗試過禁用即時運行 – Arshad

+0

嘗試無效緩存,並重啓Android Studio中 – UltimateDevil

+0

有你'進入閱讀和'manifest' –

回答

0

決心即時運行錯誤,請參考和嘗試實現像this後,我希望這將有助於。

+0

究竟應該以什麼方式幫助這種方式?當我檢查我的代碼(上面列出)時,它不顯示任何語法問題。任何其他提示? – Tariq