I'm trying to parse Foursquare places into android application and i got
success as i can view the JSON data in Logcat but listview is not showing
any data.
Here is the code:
public class FoursquarePlacesActivity extends ListActivity {
>
> private ProgressDialog dialog;
> private static final String foursquareClientid="Clientid";
> private static final String foursquareClientsecret="clientsecret";
>
> private static String
> url="https://api.foursquare.com/v2/venues/explore?ll=24.58,73.68&client_id="
> +foursquareClientid + "&client_secret=" +foursquareClientsecret;
>
> //JSON Nodes Name that Foursquare will throw
>
> private static final String GROUPS="groups";
> private static final String NAME_TAG = "name";
>
> ArrayList<HashMap<String,String>> venueList;
>
>
>
> @Override
> public void onCreate(Bundle savedInstanceState){
> super.onCreate(savedInstanceState);
> setContentView(R.layout.main);
>
> venueList=new ArrayList<HashMap<String,String>>();
>
> new getPlaces().execute();
>
> }
>
> //AsyncTask starts here
> public class getPlaces extends AsyncTask<String, String, String>{
>
>
> @Override
> protected void onPreExecute(){
> super.onPreExecute();
> dialog=new ProgressDialog(FoursquarePlacesActivity.this);
> dialog.setMessage("Please wait");
> dialog.setIndeterminate(false);
> dialog.setCancelable(false);
> dialog.show();
> }
>
> @Override
> protected String doInBackground(String... args) {
> // TODO Auto-generated method stub
>
> List<NameValuePair> params=new
> ArrayList<NameValuePair>();
>
> JSONObject
> json=JSONParser.makeHttpRequest(url,"GET",params);
> JSONArray groups= null;
> Log.d("Inbox JSON:", json.toString());
>
> try{
> groups=json.getJSONArray(GROUPS);
>
> //looping all the objects of Groups
> for(int i=0;i<groups.length();i++){
> JSONObject
> group=(JSONObject)groups.get(i);
> //Editing part (may be incorrect
> JSONArray
> items=(JSONArray)group.getJSONArray("items");
>
> for (int j=0;j<items.length();j++){
> JSONObject
> item=(JSONObject)items.get(j);
> //Editing part end
> //Store json item in variable
> String
> name=item.getString(NAME_TAG);
> HashMap<String,String>map=new
> HashMap<String, String>();
>
> map.put(NAME_TAG, name);
>
> venueList.add(map);
> }
>
>
> }
>
>
> } catch (JSONException e){
> e.printStackTrace();
> }
>
> return null;
> }
>
> protected void onPostExecute(String file_url){
> dialog.dismiss();
>
> runOnUiThread(new Runnable(){
> public void run(){
> ListAdapter adapter=new
> SimpleAdapter(FoursquarePlacesActivity.this, venueList,R.layout.list_item,new
> String[]{ NAME_TAG },new int[] { R.id.name });
>
> setListAdapter(adapter);
>
> ListView lv = getListView();
>
> // Launching new screen on
> Selecting Single ListItem
> lv.setOnItemClickListener(new
> OnItemClickListener(){
>
>
> @Override
> public void
> onItemClick(AdapterView<?> parent, View view,
> int position, long
> id) {
>
> String
> name=((TextView)view.findViewById(R.id.name)).getText().toString();
> }
> });
>
> }
> });
> }
>
>
>
> }
>
>
> }
>
>
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en