Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainActivity extends AppCompatActivity {
- private ListView lv;
- private static String url = "https://api.androidhive.info/contacts/";
- ArrayList<HashMap<String, String>> contactList;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- contactList = new ArrayList<>();
- lv = (ListView) findViewById(R.id.list);
- new GetContacts().execute();
- }
- private class GetContacts extends AsyncTask<Void, Void, Void> {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- }
- @Override
- protected Void doInBackground(Void... arg0) {
- HttpHandler sh = new HttpHandler();
- String jsonStr = sh.makeServiceCall(url);
- if (jsonStr != null) {
- try {
- JSONObject jsonObj = new JSONObject(jsonStr);
- JSONArray contacts = jsonObj.getJSONArray("contacts");
- for (int i = 0; i < contacts.length(); i++) {
- JSONObject c = contacts.getJSONObject(i);
- String name = c.getString("name");
- String email = c.getString("email");
- HashMap<String, String> contact = new HashMap<>();
- contact.put("name", name);
- contact.put("email", email);
- contactList.add(contact);
- }
- } catch (final JSONException e) {
- }
- }
- return null;
- }
- @Override
- protected void onPostExecute(Void result) {
- super.onPostExecute(result);
- ListAdapter adapter = new SimpleAdapter(
- MainActivity.this, contactList,
- R.layout.list_item, new String[]{"name", "email"}, new int[]{R.id.name,
- R.id.email});
- lv.setAdapter(adapter);
- }
- }
- }
- public class HttpHandler {
- public String makeServiceCall(String reqUrl) {
- String response = null;
- try {
- URL url = new URL(reqUrl);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- // read the response
- InputStream in = new BufferedInputStream(conn.getInputStream());
- response = convertStreamToString(in);
- } catch (Exception e) {
- }
- return response;
- }
- private String convertStreamToString(InputStream is) {
- BufferedReader reader = new BufferedReader(new InputStreamReader(is));
- StringBuilder sb = new StringBuilder();
- String line;
- try {
- while ((line = reader.readLine()) != null) {
- sb.append(line).append('n');
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return sb.toString();
- }
- }
- {
- "contacts": [
- {
- "name": "leonardo",
- "email": "leonardo@gmail.com"
- }
- },
- {
- "name": "Johnny",
- "email": "johnny@gmail.com"
- }
- },
- {
- "name": "jack",
- "email": "jack@gmail.com"
- }
- }
- {
- "name": "paul",
- "email": "paul@gmail.com"
- }
- }
- ]
- }
- leonardo - leonardo@gmail.com
- -----------------------------
- johnny - johnny@gmail.com
- -----------------------------
- jack - jack@gmail.com
- -----------------------------
- paul - paul@gmail.com
- paul - paul@gmail.com
- -----------------------------
- jack - jack@gmail.com
- -----------------------------
- johnny - johnny@gmail.com
- -----------------------------
- leonardo - leonardo@gmail.com
Add Comment
Please, Sign In to add comment