KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
How do I replace the following lines of code with an Asynctask ? How do you "get back" the Bitmap from the Asynctask ? Thank you. ImageView mChart = (ImageView) findViewById(R.id.Chart); String URL = "http://www...anything ..."; mChart.setImageBitmap(download_Image(URL)); public static Bitmap download_Image(String url) { //--------------------------------------------------- Bitmap bm = null; try { URL aURL = new URL(url); URLConnection conn = aURL.openConnection(); conn.connect(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); bm = BitmapFactory.decodeStream(bis); bis.close(); is.close(); } catch (IOException e) { Log.e("Hub","Error getting the image from server : " + e.getMessage().toString()); } return bm; //--------------------------------------------------- } I thought about something like this : replace : mChart.setImageBitmap(download_Image(graph_URL)); by something like : mChart.setImageBitmap(new DownloadImagesTask().execute(graph_URL)); and public class DownloadImagesTask extends AsyncTask<String, Void, Bitmap> { @Override protected Bitmap doInBackground(String... urls) { return download_Image(urls[0]); } @Override protected void onPostExecute(Bitmap result) { mChart.setImageBitmap(result); // how do I pass a reference to mChart here ? } private Bitmap download_Image(String url) { //--------------------------------------------------- Bitmap bm = null; try { URL aURL = new URL(url); URLConnection conn = aURL.openConnection(); conn.connect(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(i
Tags (comma-separated)
Save Edits
Cancel