0

学生テーブルと3つのフィールドを含むデータベース用のアプリを1つ作成しましたが、アプリ内のファイルをに追加する方法がわかりませんsqlite database

データベースヘルパー:

  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));
}
}
4

3 に答える 3

0

次の手順を実行することで、データベースをエミュレーターからプルして表示できます。

1)EclipseのDDMS画面に移動します。
2)「ファイルエクスプローラー」というタブを開きます
。3)データベースを含むディレクトリに移動します(通常data\data\your.package.name\databases
4)データベースファイルを強調表示/選択します
5)右上隅にあるアイコンをクリックします。矢印は右の「プル」を指します。デバイスからのファイル」
6)プロンプトに従って、ファイルをコンピュータに保存します。
7)選択したSQLiteデータベースブラウザでファイルを開きます。

編集

これはエミュレーター上のデータでのみ機能することに注意してください...実際のデバイスのdataディレクトリはアプリの外部で保護/アクセスできないため、実際のデバイスからデータベースをプルすることはありません。

于 2012-06-20T07:04:40.520 に答える
0

Eclipseで、Windows-> Showview-> android->FileExplorerに移動します。ここにデータベースが表示されます/data/ data / yourpackage / database右隅のボタンを使用して、そこからデータベースをプルします。 https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/ このFirefoxアドオンを使用してデータを表示します。

于 2012-06-20T07:05:05.790 に答える
0

あなたはここであなたの答えを見つけることができます。SDカード内の場所にファイルを作成するだけです。

data /フォルダーはOSによって保護されており、root化されたデバイスだけがそれを見ることができます。

必要なのはリンクの答えの中にあります:新しいFile( "/ sdcard / myFolder / myFile.sqlite")でSDCARD内のファイルを開きます。

File databaseLocation = new File("/sdcard/myFolder/myFile.sqlite" ); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(databaseLocation , null);
于 2012-06-20T06:36:57.217 に答える