-1

SQLite を使用してデータベースを作成しました。次に、Android アプリケーションを使用してそのテーブルにデータを挿入します。

このコードはすべて SQLiteOpenHelper で記述しました。

try
        {
        SQLiteDatabase db=this.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put(key_id, 10);
        values.put(key_name,"neha");

        db.insert(database_table, null, values);
        db.close();
        }
        catch(Exception e)
        {
            System.out.println(e);          
        }

アプリケーションを実行します。そのようなテーブル例外はスローされません。

これらすべての手順に従い"data/data/[your_package_name]/databases/"まし"pull a file from device"たが、データベースがエミュレーターに乗りません。

何が問題ですか?

4

1 に答える 1

2

あなたはアンドロイドが初めてだと思います。いくつかの開発者向けチュートリアルを読み、コーディングを開始するとよいでしょう。現在のアプリケーションの場合

1つ目:データベース用に別のクラスを作成します(例:HandleDatabase.java)

2つ目:この中に(SQLiteOpenHelperを拡張した)ヘルパークラスを作成し、onCreate(テーブル作成用)とonUpgrade(バージョン変更時のテーブル再作成用)メソッドを記述します。

3 番目: 現在のコンテキストを使用して、HandleDatabase クラスの構造を作成します。

4td: すべての CUID メソッドを HandleDatabase クラスに記述します。

元:

//1st STEP
public class HandleDatabase {
private static final String KEY_ID = "_id";
private static final String KEY_NAME = "_name";
public static final String DATABASE_NAME = "_myrnddb";
public static final String YOUR_TABLE = "_table";
public static final int DATABASE_VERSION = 1;

private final Context ourContext;
private SQLiteDatabase ourDatabase;
private DbHelper ourHelper;

       //2nd STEP
        public class DbHelper extends SQLiteOpenHelper {

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

        }

        @Override
        public void onCreate(SQLiteDatabase db) {
        String createtableQuery = "CREATE TABLE " + YOUR_TABLE + " ("
                + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                + KEY_NAME + " TEXT NOT NULL);";

            db.execSQL(createtableQuery);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)   {
        db.execSQL("DROP TABLE IF EXISTS " + YOUR_TABLE);
        onCreate(db);

        }
    }
   //3rd STEP
   public HandleDatabase(Context c) {
    ourContext = c;
    }

    public HandleDatabase open() throws SQLException {
    ourHelper = new DbHelper(ourContext);
    ourDatabase = ourHelper.getWritableDatabase();
    return this;
    }

    public void close() {
    ourHelper.close();
    }

    //Insertion(4th STEP)
    public long insertData(String name)
        throws SQLException {
    ContentValues cv = new ContentValues();
    cv.put(KEY_NAME , name);
    return ourDatabase.insert(YOUR_TABLE, null, cv);
    }

 }

このように、データベースからデータを選択、更新、および削除できます。

SQLite データベースについて学ぶには、 SQLite チュートリアルに従うことができます

于 2013-10-15T12:38:07.570 に答える