Cursor appu=X.getsomething();
if (appu.getCount() > 0)
{
if (appu.moveToFirst())
{
do {
String uname = appu.getString(appu.getColumnIndex("content_id"));
String ax= appu.getString(appu.getColumnIndex("content"));
String unknown =url + ax;
t1.append("\n");
t1.append(unknown);
//downloadimages(unknown,uname);
}while (appu.moveToNext());
}
X.close();
これは、データベースから結果を取得するための私のコードであり、この結果によって、画像を含む URL を作成しています。downloadimages()
関数を実行しようとすると、カーソルの結果ごとにその画像をダウンロードしたいのですが、アプリは常にクラッシュします。理由を知っています...しかし、それなしでコードを実行すると、完全に実行されます。
downloadimages メソッド
public void downloadimages(String url,String filename)
{
String ur1=url,v1=filename;
downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
Uri Download_Uri = Uri.parse(ur1);
DownloadManager.Request request = new DownloadManager.Request(Download_Uri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
request.setAllowedOverRoaming(false);
request.setDescription("Android Data download using DownloadManager.");
request.setDestinationInExternalFilesDir(getApplicationContext(),Environment.DIRECTORY_DOWNLOADS,v1 + ".jpg");
downloadManager.enqueue(request);
}
私が間違っていることを教えてください???
Cursor appu=X.getsomething();
if (appu.getCount() > 0)
{
if (appu.moveToFirst())
{
do {
String uname = appu.getString(appu.getColumnIndex("content_id"));
String ax= appu.getString(appu.getColumnIndex("content"));
imageid.add(uname);
String unknown =url + ax;
imagepath.add(unknown);
// t1.append("\n");
//t1.append(unknown);
}while (appu.moveToNext());
}
X.close();
}}
this.getitdone();
}
public void getitdone()
{
int b=imagepath.size();
for(int i=1;i<=b;i++)
{
String extra=imagepath.get(i).toString();
String extra2=imageid.get(i).toString();
downloadimages(extra,extra2);
}
}
今、私はこのようにしており、完全に機能しています