0

これが私がやろうとしていることであり、それを行うための最良の方法についてアドバイスをお願いします。

  • 単語を含むデータベースと、その単語に関連付けられた画像ファイルの名前があります。
  • データベースからの単語がリストビューに表示されます
  • 単語が選択されると、新しいアクティビティが開始され、画像ビューに単語と画像が表示されます。

用語を配列に保存し、リスト ビューにこの配列から値を入力してから、データベース onitemclick から取得するのが最善でしょうか? または、リスト ビューにデータベースからの用語を取り込むことはできますか?

ファイルの名前がデータベースに保存されている場合、アンドロイドは画像を表示できますか?

4

1 に答える 1

0

探しているものを実現するための最良の方法は、用語と画像パスをDBに保存し、そのパスを使用して、配置した場所から画像をフェッチすることです。

画像はDBに保存できますが、一般的なコンセンサスは、画像をDBの外部に保存し、その画像へのパスをDBに保存することをお勧めします。

DBは、「_ id」、「term」、「term_image」の3つの列のように単純にすることができます。

簡単なクエリを実行して、すべての情報を一度にフェッチできます(したがって、DBにクエリを実行するのは1回だけです)。

次に、そのクエリによって返されたカーソルを使用して用語のリストにデータを入力しonListItemClick、新しいアクティビティを開始して、リストの用語と同じレコードにあるリストのパスを使用して、関連付けられた画像を表示します。

データをフェッチするためのクエリ:

public Cursor fetchAllTerms() {
    return mDb.query(TERMS_TABLE, new String[] { "_id", "term", "term_img" }, null, null, null, null, null);
}

あなたのリストでそれを使用する:

    mTermCursor = mDbHelper.fetchAllTerms();
    getActivity().startManagingCursor(mTermCursor);

    String[] from = new String[] { YourDBClass.term };
    int[] to = new int[] { android.R.id.Text1 };
    SimpleCursorAdapter ranks = new SimpleCursorAdapter(getActivity(),
            android.R.layout.simple_list_item_1, mRankCursor, from, to);
    setListAdapter(ranks);

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
     String imagePath = mTermCursor.getString(mTermCursor.getColumnIndexOrThrow("term");
     // code to start your new activity and put the image path into the bundle to be passed
}
于 2012-08-11T22:36:36.593 に答える