#android AsyncTask development
some points about android AsyncTask ******
Here is something you need to pay attention when accessing Internet in your android APP as it will lead to NetworkNotFound exception if not followed what mentioned next:
- All know we have to add Internet permission in Manifest XML
-
Add function which need Internet access into a class extends AsyncTask, so that it can work properly.
BTW: AsyncTask is an internal android class you can import it easily. - here attached an example which is load a picture on Internet:
private class LoadPic extends
AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... url) {
String returnIt=null;
URL myFileUrl = null;
try {
myFileUrl = new URL(photourl);
}catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();
conn.setDoInput(true);
conn.setUseCaches(false);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
Log.d("loadPic",returnIt);
return returnIt;
} catch (Exception e) {
System.err.println(e);
return null;
}
}
@Override
protected void onPostExecute(String result) {
try {
ImageView connectionPic=(ImageView) findViewById(R.id.postpic);
connectionPic.setImageBitmap(bitmap);
}catch (Exception e) {
System.err.println(e);
}
}
some other tips for myself: .split(‘$’) will not work, modified it to .split(‘\$’). It seems that “$” is one of restricted words in JAVA
end. 2014-04-17