intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình di động - Lab 08: AsynTask,XML,JSON

Chia sẻ: Roong KLoi | Ngày: | Loại File: PDF | Số trang:6

105
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nội dung của tài liệu trình bày về load hình từ Internet, hàm load hình từ Internet, gọi Thread trong OnCreate, đọc JSON, thiết kế giao diện, code xử lý, demo thử, màn hình xem sản phẩm và đọc RSS.

Chủ đề:
Lưu

Nội dung Text: Lập trình di động - Lab 08: AsynTask,XML,JSON

Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 08: AsynTask, XML, JSON<br /> <br /> 1 Load hình từ Internet<br /> hinh = (ImageView) findViewById(R.id.imageView);<br /> <br /> 1.1<br /> <br /> Hàm load hình từ Internet<br /> <br /> private class LoadHinhTuInternet extends AsyncTask {<br /> @Override<br /> protected String doInBackground(String... params) {<br /> try {<br /> URL uri = new URL(params[0]);<br /> Bitmap bmp =<br /> BitmapFactory.decodeStream(uri.openConnection().getInputStream());<br /> hinh.setImageBitmap(bmp);<br /> } catch (MalformedURLException e) {<br /> e.printStackTrace();<br /> } catch (IOException e) {<br /> e.printStackTrace();<br /> }<br /> return null;<br /> }<br /> }<br /> <br /> 1.2<br /> <br /> Gọi Thread trong OnCreate<br /> <br /> runOnUiThread(new Runnable() {<br /> @Override<br /> public void run() {<br /> new LoadHinhTuInternet()<br /> .execute("http://hcmup.edu.vn/images/stories/site_18/mainsite/daotao.pn<br /> g");<br /> }<br /> });<br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 1<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 08: AsynTask, XML, JSON<br /> <br /> Chú ý cấp quyền truy cập ra Internet<br /> <br /> 2 Đọc JSON<br /> Dữ liệu JSON chuẩn bị sẵn: http://etouchboard.com/EJSON.aspx<br /> <br /> Ngoài ra các bạn cũng có thể tạo ra file JSON dùng ngôn ngữ PHP/MySQL hoặc<br /> ASP.NET.<br /> Yêu cầu: Đọc dữ liệu JSON và trình bày ra ListView<br /> <br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 2<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> 2.1<br /> <br /> Thiết kế giao diện<br /> <br /> 2.2<br /> <br /> Lab 08: AsynTask, XML, JSON<br /> <br /> Code xử lý<br /> <br /> @Override<br /> protected void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.activity_main);<br /> //Lấy lại listview Chủng loại<br /> lv = (ListView)findViewById(R.id.lvChungLoai);<br /> runOnUiThread(new Runnable() {<br /> @Override<br /> public void run() {<br /> new docJSON()<br /> .execute("http://etouchboard.com/EJSON.aspx");<br /> }<br /> });<br /> }<br /> class docJSON extends AsyncTask {<br /> @Override<br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 3<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 08: AsynTask, XML, JSON<br /> <br /> protected String doInBackground(String... params) {<br /> //Len mang doc tra ve cho bien s<br /> return docNoiDung_Tu_URL(params[0]);<br /> }<br /> @Override<br /> protected void onPostExecute(String s) {<br /> //Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();//hien thong bao bien s<br /> ArrayList arrChungLoai = new ArrayList();<br /> try {<br /> JSONArray mang = new JSONArray(s);<br /> for(int i = 0; i < mang.length(); i++)<br /> {<br /> JSONObject loai = mang.getJSONObject(i);<br /> arrChungLoai.add(<br /> loai.getString("MaLoai") + " : " +<br /> loai.getString("TenLoai"));<br /> }<br /> ArrayAdapter adapter = new ArrayAdapter(<br /> MainActivity.this,<br /> android.R.layout.simple_list_item_1,<br /> arrChungLoai<br /> );<br /> lv.setAdapter(adapter);<br /> } catch (JSONException e) {<br /> e.printStackTrace();<br /> }<br /> }<br /> }<br /> <br /> private static String docNoiDung_Tu_URL(String theUrl)<br /> {<br /> StringBuilder content = new StringBuilder();<br /> try<br /> {<br /> URL url = new URL(theUrl);<br /> URLConnection urlConnection = url.openConnection();<br /> BufferedReader bufferedReader = new BufferedReader(<br /> new InputStreamReader(urlConnection.getInputStream()));<br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 4<br /> <br /> Ver 1.0 – 2016, FIT - HCMUP<br /> <br /> Lab 08: AsynTask, XML, JSON<br /> <br /> String line;<br /> while ((line = bufferedReader.readLine()) != null)<br /> {<br /> content.append(line + "\n");<br /> }<br /> bufferedReader.close();<br /> }<br /> catch(Exception e)<br /> {<br /> e.printStackTrace();<br /> }<br /> return content.toString();<br /> }<br /> <br /> Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2