0

ミニ日記プロジェクトを行います。収納についての希望は?Androidのメモは使えますか? 写真とその下にテキストを表示します。

4

2 に答える 2

1

用途に合わせてご利用いただくことをお勧めしますsqlite。テーブルには複数のエントリがあるためsqlite、画像データとテキストの両方を同じ行に格納できます。

ここでの課題は、sqlite に画像を保存する方法ですか?

これに対する解決策は、画像をバイト配列に、バイト配列を文字列に変換できることです。この文字列はテキストとして sqlite テーブルに格納でき、この文字列からバイト配列を取得し、バイト配列から画像を取得できます。

画像をバイト配列に変換するコード:

public static byte[] drawableToByteArray(Drawable d) {

    if (d != null) {
        Bitmap imageBitmap = ((BitmapDrawable) d).getBitmap();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        imageBitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
        byte[] byteData = baos.toByteArray();

        return byteData;
    } else
        return null;

}

上記の関数が返すバイト配列は、文字列に変換してデータベースに格納する必要があります。

以下に示すように、sqlite テーブルを作成する必要があります。

CREATE TABLE IF NOT EXISTS Your_table ( id INTEGER PRIMARY KEY NOT NULL UNIQUE, someOtherField TEXT, pictureData TEXT);

sqlite からデータを取得した後、文字列をバイト配列に変換します。バイト配列をビットマップに変換するコードを以下に示します。

public static Drawable byteToDrawable(byte[] data) {

    if (data == null)
        return null;
    else
        return new BitmapDrawable(BitmapFactory.decodeByteArray(data, 0, data.length));
}

お役に立てれば!!

于 2013-08-22T09:44:57.643 に答える
0

SQLite データベースを使用してミニ日記プロジェクトを開発するための最良の方法。レコード (テキストと画像の両方) を取得して保存するための適切な方法。

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

基本的なリファレンスについては、上記のリンクを参照してください。

于 2013-08-22T09:37:42.537 に答える