Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.nijdeken.whattodoo;
- import android.app.ListActivity;
- import android.app.ProgressDialog;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ListAdapter;
- import android.widget.ListView;
- import android.widget.SimpleAdapter;
- import android.widget.TextView;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import java.util.HashMap;
- public class things extends ListActivity {
- TextView text2;
- private ProgressDialog pDialog;
- // URL to get contacts JSON
- private static String url = "http://nijdeken.com/wtd/api.php";
- // JSON Node names
- private static final String TAG_THING = "Thing";
- private static final String TAG_PLACE = "Place";
- private static final String TAG_TIME = "Time";
- // contacts JSONArray
- JSONArray contacts = null;
- // Hashmap for ListView
- ArrayList<HashMap<String, String>> contactList;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_things);
- // Intent intent = getIntent();
- // String text = intent.getExtras().getString("Place");
- //
- // text2 = (TextView) findViewById(R.id.textView5);
- //
- // text2.setText("Hier kan je zien wat er in " + text + " te doen is.");
- contactList = new ArrayList<HashMap<String, String>>();
- ListView lv = getListView();
- // Listview on item click listener
- lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view,
- int position, long id) {
- // getting values from selected ListItem
- String place = ((TextView) view.findViewById(R.id.place))
- .getText().toString();
- String time = ((TextView) view.findViewById(R.id.time))
- .getText().toString();
- String thing = ((TextView) view.findViewById(R.id.thing))
- .getText().toString();
- // Starting single contact activity
- //Intent in = new Intent(getApplicationContext(),
- // SingleContactActivity.class);
- //in.putExtra(TAG_LESSON, lesson);
- //in.putExtra(TAG_TEACHER, teacher);
- //in.putExtra(TAG_ROOM, room);
- //startActivity(in);
- }
- });
- // Calling async task to get json
- new GetContacts().execute();
- }
- /**
- * Async task class to get json by making HTTP call
- * */
- private class GetContacts extends AsyncTask<Void, Void, Void> {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- // Showing progress dialog
- pDialog = new ProgressDialog(things.this);
- pDialog.setMessage("Please wait...");
- pDialog.setCancelable(false);
- pDialog.show();
- }
- @Override
- protected Void doInBackground(Void... arg0) {
- // Creating service handler class instance
- ServiceHandler sh = new ServiceHandler();
- // Making a request to url and getting response
- String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);
- Log.d("Response: ", "> " + jsonStr);
- if (jsonStr != null) {
- try {
- JSONObject jsonObj = new JSONObject(jsonStr);
- // Getting JSON Array node
- contacts = jsonObj.getJSONArray("");
- // looping through All Contacts
- for (int i = 0; i < contacts.length(); i++) {
- JSONObject c = contacts.getJSONObject(i);
- String place = c.getString(TAG_PLACE);
- String time = c.getString(TAG_TIME);
- String thing = c.getString(TAG_THING);
- // Phone node is JSON Object
- // JSONObject phone = c.getJSONObject(TAG_PHONE);
- // String mobile = phone.getString(TAG_PHONE_MOBILE);
- // String home = phone.getString(TAG_PHONE_HOME);
- // String office = phone.getString(TAG_PHONE_OFFICE);
- // tmp hashmap for single contact
- HashMap<String, String> contact = new HashMap<String, String>();
- // adding each child node to HashMap key => value
- contact.put(TAG_PLACE, place);
- contact.put(TAG_TIME, time);
- contact.put(TAG_THING, thing);
- // adding contact to contact list
- contactList.add(contact);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- } else {
- Log.e("ServiceHandler", "Couldn't get any data from the url");
- }
- return null;
- }
- @Override
- protected void onPostExecute(Void result) {
- super.onPostExecute(result);
- // Dismiss the progress dialog
- if (pDialog.isShowing())
- pDialog.dismiss();
- /**
- * Updating parsed JSON data into ListView
- * */
- ListAdapter adapter = new SimpleAdapter(
- things.this, contactList,
- R.layout.list_item, new String[] { TAG_PLACE, TAG_THING,
- TAG_TIME }, new int[] { R.id.place,
- R.id.thing, R.id.time });
- setListAdapter(adapter);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement