Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaKatalin Deákné Megváltozta több, mint 10 éve
1
HTTP kommunikáció Androidon HttpClient-en keresztűl HttpPost/HttpGet objektum használatával HttpClient execute metódusának meghívása
2
HttpPost HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(SERVER_ADDRESS); try { List params = new ArrayList (); params.add(new BasicNameValuePair("text", texts[0])); httpPost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse response = httpClient.execute(httpPost); } catch (Exception e) { e.printStackTrace(); } Ez így már működik, de van vele egy kis gond...
3
UI Thread blokkolása Nem szerencsés User-t zavarja Rendszer kilőheti az appot (ANR) Hálózati kommunikáció nem megengedett Többféle megoldás Runnable – runOnUIThread AsyncTask
4
AsyncTask Automatikusan kezeli a szálváltást Saját osztályt kell belőle származtatni Meg van a saját életciklusa doInBackground Háttérben fut OnPostExecute UI Thread-en fut
5
AsyncTask példa private class SendTask extends AsyncTask { @Override protected Void doInBackground(String... texts) { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(SERVER_ADDRESS); try { List params = new ArrayList (); params.add(new BasicNameValuePair("text", texts[0])); httpPost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse response = httpClient.execute(httpPost); } catch (Exception e) { e.printStackTrace(); } return null; } Futtatás: new SendTask().execute(new String[] { param });
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.