5

私のアプリでは、スプラッシュ スクリーンが開始されたときに、URL にアクセスして XML ファイルを取得しているだけです。その XML ファイルから、ユーザー名、ID、URL などのデータを解析して画像をダウンロードしています。その URL から画像をダウンロードし、その画像をアプリ自体に特定の名前で保存したいと考えています。同じ画像を別のアクティビティの背景として使用したいと考えています。アプリに画像をダウンロードして保存するにはどうすればよいですか。rawフォルダーまたはdrawableのいずれかで、アプリのどこに保存できますか。

名前を保存する前に、特定のアクティビティの背景画像として画像を設定できます. 友達を助けてください.

4

2 に答える 2

4

これは、URLから画像をダウンロードするためのコードです。

InputStream in = new URL(image_url).openConnection().getInputStream();
Bitmap bm = BitmapFactory.decodeStream(in);

非同期で実行する必要があることに注意してください(非同期タスクのように)

以下を使用して、システムにビットマップを保存できます。

File fullCacheDir = new File(Environment.getExternalStorageDirectory(),cacheDir);
String fileLocalName = name+".JPEG";
File fileUri = new File(fullCacheDir, fileLocalName);
FileOutputStream outStream = null;
outStream = new FileOutputStream(fileUri);
image.compress(Bitmap.CompressFormat.JPEG, 75, outStream);
outStream.flush();

これは画像を保存する方法の単なる例であり、他の方法があることに注意してください。とにかくドキュメントを見る必要があります。

于 2011-07-08T06:15:02.043 に答える
1

あなたのアプリケーションのためにそれをしたい場合。画像をダウンロードして Drawable インスタンスとして保存し、必要なアプリケーションで使用することをお勧めします

public static Drawable drawable = null;

//get image from URL and store it in Drawable instance

public void getImageFromURL(final String urlString) {

    Thread thread = new Thread() {
        @Override
        public void run() {
            //TODO : set imageView to a "pending" image
            InputStream is = null;
            try{
            URLConnection urlConn = new URL(urlString).openConnection();

            is= urlConn.getInputStream();
            }catch(Exception ex){}
            drawable = Drawable.createFromStream(is, "src");


        }
    };
    thread.start();
}

背景画像を任意のビューに設定

void setImage(View myView){
    myView.setBackgroundDrawable(drawable);
}
于 2011-07-08T06:55:38.140 に答える