2011-11-14 43 views
1

私のアプリケーションでは、Androidに画像とともに質問を表示する必要があります。私はsqliteデータベースに質問を格納し、それらを表示しています。資産フォルダにDBimagesフォルダを作成しました。これですべての画像がDBimagesフォルダにあります。イメージをsqliteデータベースに保存して表示する方法は?

私は2つのクラスを作成しました。質問とオプションをローカルのsqlite dbから表示できますが、assets\DBimages\abc.pngに格納されているイメージを表示できません。

すべての画像の名前は、sqlite dbテーブルの画像の列に格納されています。しかし、その特定の質問に関連する画像を表示する方法。これに関して私を助けてください。

UserBO.java

public String getQuestion() { 
return question; 
} 
public void setQuestion(String question) { 
this.question = question; 
} 
public String getImage() { 
return pictures; 
} 

public void setImage(String pictures) { 
this.pictures = pictures; 
} 

Select.java

ArrayList<UserBO> usersList = new ArrayList<UserBO>(); 
for (int i = 0; i < stringList.size(); i++) { 
ArrayList<String> list = stringList.get(i); 
UserBO user = new UserBO(); 
try { 
user.id = Integer.parseInt(list.get(0)); 
user.name = list.get(2); 
user.question = list.get(3); 
user.option1 = list.get(4); 
user.option2 = list.get(5); 
user.option3 = list.get(6); 
user.option4 = list.get(7); 
user.option5 = list.get(8); 
user.pictures = list.get(9); 
user.answer = (list.get(10)); 
} 
catch (Exception e){} 
public View getView(int position, View convertView, ViewGroup parent){ 
View view = convertView; 
try{ 
if (view == null) { 
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view = vi.inflate(R.layout.list_item, null); 
} 
final UserBO listItem = mList.get(position);     
if (listItem != null) { 
((TextView) view.findViewById(R.id.tv_question)).setText(listItem.getQuestion()+""); 
((ImageView) view.findViewById(R.id.imageView1)).setImageResource(R.drawable.f); 
((RadioButton) view.findViewById(R.id.option1)).setText(listItem.getOption1()); 
((RadioButton) view.findViewById(R.id.option2)).setText(listItem.getOption2()+""); 
((RadioButton) view.findViewById(R.id.option3)).setText(listItem.getOption3()+""); 
((RadioButton) view.findViewById(R.id.option4)).setText(listItem.getOption4()+""); 
((RadioButton) view.findViewById(R.id.option5)).setText(listItem.getOption5()+""); 
}}catch(Exception e){} 
return view; 

}}

答えて

2

SQLiteのデータベースに画像を保存するためにいくつかの醜い方法。 イメージをsdcardに保存し、それらのイメージの関連するパスをSQLiteデータベースに保存するだけです。

In your need, put the images in either drawable folder or in asset folder then store its 
name(with question ID or number also) in SQLite and use it in application. 
+0

こんにちは感謝の例を見ることができるウェブサイト

からURLを使用しているとき イメージパスが適しています。私はdrawableフォルダに画像を保存しました。今私はimgのパスとsqliteのDBの画像の列から画像の名前を取得する必要があります。サンプルコードでこれの例を挙げてください。前もって感謝します。 – RaagaSudha

+0

イメージをdrawableフォルダに格納している場合、イメージをデータベースファイルに保存する必要はありません。イメージを質問idまたは名前として名前を変更し、drawableから直接使用する必要があります。 – user370305

+0

こんにちはサンプルコードで見せていただけますか?例えば、 – RaagaSudha

0

私は同じ問題を抱えていたし、私はこれを明確にするために最初にしたい、文字列としてギャラリーから画像パスまたはURIを格納して取り込む際に良好な結果を与えるか、特定の画像をListViewのためにデータが表示されない場合があります。 BLOBデータ型としてsqliteデータベースにイメージを格納する必要があり、イメージをバイトとしてDBに挿入する必要があります。

私の場合、私はギャラリーからの画像パスで作業を試みましたが、私から働いたことはありません。唯一のあなたは、あなたがresponeため、このlink

関連する問題