Ciao ragazzi, sto provando a creare una delle mie prime applicazioni, che prende dati da un sito e li visualizzi all'utente. Sono riuscito a fare più di qualcosa ma quello che ho fatto non è compatibile con android da 4.0 in poi. Ho letto che serve la classe AsyncTask ma non riesco proprio a capire come farla funzionare.
Allora questo è il codice della MainActivity:
codice:
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Document doc = null;
Document doc2 = null;
final Map<String, Integer> map1 = new HashMap<String, Integer>();
final Map<String, Integer> map2 = new HashMap<String, Integer>();
final List<String> people = new ArrayList<String>();
try {
doc = Jsoup.connect(url1)get();
doc2 = Jsoup.connect(url2).get();
Elements sen = doc.select("option > select");
Elements dep = doc2.select("option > select");
for (Element e : sen){
map1.put(e.text(), (Integer.parseInt(e.attr("value"))));
people.add(e.text());
}
for(Element e: dep){
map2.put(e.text(), (Integer.parseInt(e.attr("value"))));
people.add(e.text());
}
} catch (IOException e) {
e.printStackTrace();
}
final AutoCompleteTextView autocomplete = (AutoCompleteTextView) findViewById(R.id.autocomplete);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_dropdown_item_1line,
people
);
autocomplete.setAdapter(adapter);
}
}
Questo codice fa quello che deve fare, cioè prende dei nomi e al momento della digitazione di un nome nella TextView di autocompletamento fa apparire i nomi uguali a quelli presenti nella lista creata.
A questo punto devo inserire la classe AsyncTask per fare in modo che funzioni anche con ICS e Jelly Bean.
Mi potreste aiutare a capire come fare? Ho letto tante guide a proposito ma non sono ancora riuscito ad applicarla al mio codice.
Grazie