2012-06-20 108 views
0

我創建了一個數據庫的應用程序,其中包含一個學生表和3個領域,但我不知道如何將該應用程序中的文件添加到sqlite database從哪裏把我們的應用程序從sqlitedatabase的文件

數據庫助手:

public class DatabaseHelper extends SQLiteOpenHelper { 

    public static final String DATA_BASE="Mydatabase.db"; 
public static final String TABLE_NAME="Student"; 
public static final int DATABASE_VERSION =1; 

public DatabaseHelper(Context context) { 
super(context, DATA_BASE, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 

db.execSQL("CREATE TABLE " + TABLE_NAME + 
"(Name TEXT, AGE NUMERIC, ADDRESS TEXT)"); } 

@Override 
public void onUpgrade(SQLiteDatabase db, 
     int oldVersion, int newVersion) { 

} 
} 

主要活動:

public class DatabaseHelper extends SQLiteOpenHelper { 

public static final String DATA_BASE="Mydatabase.db"; 
public static final String TABLE_NAME="Student"; 
public static final int DATABASE_VERSION =1; 

public DatabaseHelper(Context context) { 
super(context, DATA_BASE, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 

db.execSQL("CREATE TABLE " + TABLE_NAME + 
"(Name TEXT, AGE NUMERIC, ADDRESS TEXT)"); } 

@Override 
public void onUpgrade(SQLiteDatabase db, 
     int oldVersion, int newVersion) { 

} 
} 

顯示活動:

public class DisplayActivity extends Activity { 

private ArrayList<String> arrayList = 
        new ArrayList<String>(); 

private SQLiteDatabase Mydatabase; 
ListView listView; 
EditText enter; 
@Override 
public void onCreate(Bundle b) { 
    super.onCreate(b); 
    setContentView(R.layout.display); 
    listView=(ListView)findViewById(R.id.listView); 

    //OpenAndQueryDatabase 

    try { 
    DatabaseHelper db = new DatabaseHelper(this); 
     //Open the database 
     Mydatabase = db.getWritableDatabase(); 
     Cursor c = Mydatabase.rawQuery(
       "SELECT * FROM Student", null); 

     if (c != null) { 
      if (c.moveToFirst()) { 
       do { 
        String Name = c.getString(
          c.getColumnIndex("Name")); 
        int age = c.getInt(
          c.getColumnIndex("AGE")); 
        String address = c.getString(
          c.getColumnIndex("ADDRESS")); 
       arrayList.add("Name : " + Name +"\n"+ 
           "Age  : " +age +"\n"+ 
           "Address : " + address+"\n"); 
       }while (c.moveToNext()); 
      } 
     }   
     } catch (SQLiteException se) { } 
     finally { 
     if (Mydatabase != null) 
      Mydatabase.close(); 
    } 


    //displayResultList 

    listView.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, 
            arrayList)); 
} 
} 
+0

我不清楚你想要什麼......你的代碼顯示你正在創建一個空的數據庫......然而你說你想複製一個文件......你是否在你的應用程序之外創建了數據庫,現在想要加載它並在你的應用中使用它? – Barak

+0

不...我創建了我的應用程序..我想在sqlitedatabase.i中查看它在應用程序運行時在emmulator中插入數據..並且我獲得了在列表視圖中輸入到另一個頁面中的所有數據.... 。現在我想看到在SQLite數據庫中輸入的數據 –

回答

0

您可以在這裏找到答案here。只需在SD卡中的某個位置創建一個文件即可。

數據/文件夾受操作系統保護,只有根植設備才能看到它。

你需要的是鏈接的答案:用新文件(「/ sdcard/myFolder/myFile.sqlite」)打開SDCARD裏面的文件。

File databaseLocation = new File("/sdcard/myFolder/myFile.sqlite"); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(databaseLocation , null); 
+0

:但我使用eclipse開發應用程序....我找到了數據/數據/ /數據庫/ <數據庫名稱>路徑...所以我被卡在這裏如何查看日期在sqlite數據庫中插入emmulator –

0

通過執行以下操作,可以將數據庫從模擬器拉出來查看。

1)轉到Eclipse中的DDMS屏幕。
2)打開所謂的「資源管理器」
3選項卡)瀏覽到包含數據庫(通常data\data\your.package.name\databases
4)選中目錄/選擇您的數據庫文件
5)在上的圖標右上角點擊將箭頭指向右側「從設備中拉出文件」
6)按照提示將文件保存到您的計算機。
7)打開你選擇的SQLite數據庫瀏覽器的文件。

編輯

注意這僅在模擬器上的數據工程...它不會從實際設備拉數據庫作爲一個真正的設備上的data目錄被保護您的應用程序/交通不便外outdside 。

+0

你可以告訴我如何添加搜索選項到我的目前的代碼... –

0

在Eclipse中去窗口 - > Showview - > Android的 - >文件瀏覽器 有ü可以在這裏看到你的數據庫/數據/數據/ yourpackage /數據庫 從右上角有使用按鈕拉你的數據庫。 https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/ 使用此Firefox添加來查看您的數據。

+0

:非常感謝你...你也可以告訴我的應用程序的代碼,這樣我可以添加基於關鍵字搜索選項 –

+0

最welcome.check此鏈接.http://stackoverflow.com/questions/9861156/sqlite-advanced-search – machu

+0

你也可以告訴我如何在編輯文本中輸入編輯文本值爲字符串 –

相關問題