package inh_khc_quy_developer_apps.async;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
//khai bao bien. anh xa.
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//anh xa img.
img = (ImageView) findViewById(R.id.anhTuInternet);
//ham chay.
//chay doInBackground("http://lucidtronix.com/system/attached_files/120/original/Screen_shot_2013-01-30_at_4.00.47_PM.png?1359580997").
runOnUiThread(new Runnable() {
@Override
public void run() {
new LoadHinhTuInternet().execute("http://lucidtronix.com/system/attached_files/120/original/Screen_shot_2013-01-30_at_4.00.47_PM.png?1359580997");
}
});
}
//ASYNC chạy trước:
// tạo lớp kết thừa AsyncTask và hàm doInBackground @override.
class LoadHinhTuInternet extends AsyncTask<String, Integer, String> {
protected String doInBackground(String... params) {
try {
URL u = new URL(params[0]);
// decodeStream tra ve 1 Bitmap. --> openConnection() tra ve 1 URLConnection
//nhan dong code --> mo ket noi --> nhan dong du lieu data.
Bitmap bmp = BitmapFactory.decodeStream(u.openConnection().getInputStream());
img.setImageBitmap(bmp);//yeu cau doi so la 1 bit map de hien thi anh tren phone.
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
//Chạy sau:
protected void onPostExecute(String s) {
Toast.makeText(MainActivity.this, "A good picture of bitmap technology.", Toast.LENGTH_LONG).show();
}
}
}
–> ket qua la no chay roi thoat khoi man hinh dien thoai.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?