0

私はAndroidアプリケーションを(初めて)開発しようとしているので、SQLiteを使用してデータを保存しています。しかし、アプリケーションを実行するたびに、すべてのデータがnullになります。問題は、アプリケーションを実行すると、すべてのテーブルが再作成され、新しい空のテーブルとして表示されることだと思います。

誰かがテーブルがすでに作成されているかどうかを確認する方法を助けたり、例を挙げたりできますか?はいの場合はデータをコピーし、作成されていない場合はそれが初めてです!SQLiteを使用してデータを長期間保存するにはどうすればよいですか?データを保存するための最良の方法がわからない場合はどうすればよいですか?

        //food
        private static final String food= "food";
        //---- columns ----- 
        private static final String fid = "fid";
        private static final String fname= "fname";
        private static final String category = "category";
        private static final String quantity= "quantity";
        private static final String unit= "unit";
        private static final String carbs= "carbs";

        //food
            private static final String DATABASE_CREATE_Food="CREATE TABLE "
        +food+" ("+fid
        + " INTEGER PRIMARY KEY AUTOINCREMENT , "
        +fname+ " TEXT NOT NULL, "
        +category+" TEXT Not NULL, "
        +quantity+" Double Not Null, "
        +carbs+" Integer NOT NULL, "
        +unit+" TEXT NOT NULL" 
        +");";



public void onCreate(SQLiteDatabase database) {
        database.execSQL(DATABASE_CREATE_Food);

    }
    /** Called when the DATABASE_VERSION is changed to higher version */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.w(MyAppDB.class.getName(),
                "Upgrading database from version " + oldVersion + " to "
                        + newVersion + ", which will destroy all old data");

        db.execSQL("DROP TABLE IF EXISTS" + food);

        onCreate(db);
    }
4

1 に答える 1

0

Androidにデータを保存する方法はたくさんありますが、SQLiteはその1つです。
アプリを起動するたびにnullになるべきではないため、コードに問題がある可能性があります。ここにコードを投稿して、誰かがコードの何が問題になっているのかを見つけられるようにします。

androidにデータを保存する他の方法については、developer.androidサイトhttp://developer.android.com/guide/topics/data/data-storage.htmlからこのリンクをチェックしてください。

于 2013-03-18T00:15:46.380 に答える