0

データベース プログラムの作成に成功しました。基本的に、私は少し複雑なデータベースを扱っているので、SQLITE MANAGER でデータベースを作成し、そのデータベースを Android コードにインポート/リンクする必要があります。これを行うためのチュートリアルを提案してください。または私を助ける他のコードの一部。ありがとう

ここにデータベースの私のコードがあります。その中にmYdataBase.sqliteファイルをインポートしたいと思います。

public class DatabaseHandler extends SQLiteOpenHelper {
    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "contactsManager";
    private static final String TABLE_CONTACTS = "contacts";
    private static final String KEY_ID = "id";
    private static final String KEY_NAME = "name";
    private static final String KEY_PH_NO = "phone_number";

    public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    // Creating Tables
    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT," + KEY_PH_NO + " TEXT" + ")";
        db.execSQL(CREATE_CONTACTS_TABLE);
    }

    // Upgrading database
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Drop older table if existed
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);

        // Create tables again
        onCreate(db);
    }
4

2 に答える 2

5

以下のコードよりもアセットフォルダーからデータベースファイルをインポートしたい場合は、あなたを助けることができます

void checkDB() throws Exception {
        try {
            SQLiteDatabase dbe = SQLiteDatabase
                    .openDatabase(
                            "/data/data/com.yourpackagename/databases/yourfile.sqlite",
                            null, 0);
            Log.d("opendb", "EXIST");
            dbe.close();
        } catch (Exception e) {

            AssetManager am = getApplicationContext().getAssets();
            OutputStream os = new FileOutputStream(
                    "/data/data/com.yourpackagename/databases/yourfile.sqlite");
            byte[] b = new byte[100];

            int r;
            InputStream is = am.open("yourfile.sqlite");
            while ((r = is.read(b)) != -1) {
                os.write(b, 0, r);
            }
            Log.i("DATABASE_HELPER", "Copying the database ");
            is.close();
            os.close();
        }
于 2012-09-05T17:48:03.610 に答える
0

このhttp://codinglookseasy.blogspot.in/2012/08/sqlite-database.htmlを使用してみてください。これは、アプリケーションでデータベースを使用するためのサンプルです。これがあなたに役立つことを願っています

于 2012-09-05T17:45:15.693 に答える