私は基本的に、一方の側に単語/ヒントを表示し、反対側に関連する画像を表示するフリップカードであるアプリを作成しています.2つのビューにviewflipperを使用しています.問題は、画像がインターネットから読み込まれることです.AppはデータベースにアクセスしますURLを抽出してから画像をロードします。つまり、ビューの変更には、画像をダウンロードするのと同じくらいの時間がかかります。ユーザーがアプリが遅いと思わないように、すぐにカードをめくって画像をロードしたい.むしろ、彼らはそれを知っておくべきです.画像がロードされているため、遅延が発生しています。コードの改善をお勧めします。フリップカードに画像をロードするための私のコードは次のとおりです。
public void setBMP(String s) //String passed is url extracted from column of db uing
{ //internal db
try{
//String url1 = "c.getString(3)";
String url1= s;
System.out.println(url1);
URL ulrn = new URL(url1);
HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
InputStream is = con.getInputStream();
Bitmap bmp = BitmapFactory.decodeStream(is);
if (null != bmp)
{
im.setImageBitmap(bmp);
}
else
System.out.println("The Bitmap is NULL");
}catch(Exception e){}
}
}
ビューを変更するために、actionListener を設定しました。ユーザーが画面カードのフリップと画像の読み込みに触れるとすぐに。
また、ユーザーが他のカードを表示している間にバックグラウンドで画像をプリロードすることは可能ですか? または、表示されたカードをキャッシュすることは可能ですか?