Androidは写真をダウンロードしてアルバムを更新します。

1759 ワード

画像をダウンロードして保存します。
写真をダウンロードするのは簡単です。Okhttpで直接GETしてストリームに変換すればいいです。
 Request request = new Request.Builder().get().url("http://pic.qiantucdn.com/58pic/17/85/35/559de1de9b223_1024.jpg").build();
            Response response = ApiClient.getOkHttpClientInstance().newCall(request).execute();
            if (response != null && response.code() == 200) {
                InputStream inputStream = response.body().byteStream();
                //         Bitmap    
                Bitmap bitmap = BitmapFactory.decodeStream(inputStream);

                File appDir = new File(Environment.getExternalStorageDirectory(), "     ");
                if (!appDir.exists()) {
                    appDir.mkdir();
                }

                String fileName = "  _" + System.currentTimeMillis() + ".jpg";
                File file = new File(appDir, fileName);

                //                   
                FileOutputStream out = new FileOutputStream(file);
                // bitmap   jpg     
                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
                //     
                out.flush();
                out.close();
}
アルバムを更新
ダウンロードした写真は直接アルバムに表示されません。他のソフトウェアに提供する場合は選択できません。
アルバムの更新方法を手動で呼び出す必要があります。
この文章ははっきりと述べている。https://www.cnblogs.com/plokmju/p/android_メディアス.
最後にMedia Scanner Connectionを使ってアルバムを更新します。ファイルを指定して簡単に作成できます。
//              
                MediaScannerConnection.scanFile(context, new String[]{file.getAbsolutePath()}
                        , new String[]{"image/jpeg"}, (path, uri) -> {

                        });
締め括りをつける
写真のダウンロードはアルバムを更新する必要があります。ファイルディレクトリでしか画像を発見できません。