サーバーから画像をダウンロードし、SD カードに保存して表示したい。私はそのコードを書きましたが、動作しません。バグはありませんが、画像ではなく黒い画面しか表示されません。
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyTask mt = new MyTask();
mt.execute();
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File("/sdcard/askeroid/logos/1_mobile.png");
intent.setDataAndType(Uri.fromFile(file), "image/*");
startActivity(intent);
}
クラスMyTask
は AsyncTask を拡張します {
@Override
protected Void doInBackground(Void... params) {
try{
URL url = new URL("http://ed.sadko.mobi/logo/logo_1mobile.png");
URLConnection connection = url.openConnection();
connection.connect();
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream("/sdcard/askeroid/logos/1_mobile.png");
output.flush();
output.close();
input.close();
} catch(Exception e){e.printStackTrace();}
return null;
}
}