Create class for parser JSON in Fragment Android Studio -


package com.example.sander.app;  import android.app.fragment;  /**  * created sander on 4-4-2017.  */  import android.app.fragment; import android.content.pm.packagemanager; import android.location.address; import android.location.geocoder; import android.os.bundle; import android.support.annotation.nullable; import android.support.v4.app.activitycompat; import android.support.v4.content.contextcompat; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.manifest;  import com.android.volley.request; import com.android.volley.requestqueue; import com.android.volley.response; import com.android.volley.volleyerror; import com.android.volley.toolbox.stringrequest; import com.android.volley.toolbox.volley; import com.google.android.gms.maps.cameraupdatefactory; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.mapfragment; import com.google.android.gms.maps.mapview; import com.google.android.gms.maps.mapsinitializer; import com.google.android.gms.maps.onmapreadycallback; import com.google.android.gms.maps.model.bitmapdescriptorfactory; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions;  import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject;  import java.util.arraylist; import java.util.list; import java.util.locale;   public class googlemaps extends fragment implements onmapreadycallback {     arraylist<string> list = new arraylist<>();     arraylist<double> latitude = new arraylist<>();     arraylist<double> longitude = new arraylist<>();     public googlemaps(){      }     @nullable     @override      public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {         return inflater.inflate(r.layout.fragment_gmaps, container, false);     }      @override     public void onviewcreated(view view, bundle savedinstancestate) {         requestqueue rq = volley.newrequestqueue(getactivity().getapplicationcontext());         string url= "http://test.dontstealmywag.ga/api/parkgarage.php";         stringrequest stringrequest = new stringrequest(request.method.get, url,                 new response.listener<string>() {                     @override                     public void onresponse(string response) {                         // response                         try{                             jsonobject o = new jsonobject(response);                             jsonarray values=o.getjsonarray("parkgarage");                             ( int i=0; i< values.length(); i++) {                                 jsonobject jsonobject = values.getjsonobject(i);                                 list.add(jsonobject.getstring("parkgarage_name"));                                 longitude.add(jsonobject.getdouble("langitude"));                                 latitude.add(jsonobject.getdouble("longitude"));                             }                         }  catch (jsonexception ex){}                     }                 },                 new response.errorlistener() {                     @override                     public void onerrorresponse(volleyerror error) {                         // handle error                     }                 });         rq.add(stringrequest);         super.onviewcreated(view, savedinstancestate);          mapview mapview = (mapview) view.findviewbyid(r.id.map);         mapview.oncreate(savedinstancestate);          mapview.onresume(); // needed map display          try {             mapsinitializer.initialize(getactivity().getapplicationcontext());         } catch (exception e) {             e.printstacktrace();         }         mapview.getmapasync(this);      }      @override     public void onmapready(googlemap googlemap) {         latlng marker = new latlng(51.9244201, 4.4777325);         for(integer = 0; < list.size(); i++){             googlemap.addmarker(new markeroptions().title(list.get(i)).position(new latlng(longitude.get(i), latitude.get(i))));         }         googlemap.addmarker(new markeroptions().title("testing").position(marker));         googlemap.movecamera(cameraupdatefactory.newlatlngzoom(marker, 12));         //googlemap.addmarker(new markeroptions().title(list.get(1)).position(marker));          if (activitycompat.checkselfpermission(getactivity(), manifest.permission.access_fine_location) != packagemanager.permission_granted && activitycompat.checkselfpermission(getactivity(), manifest.permission.access_coarse_location) != packagemanager.permission_granted) {             return;         }         googlemap.setmylocationenabled(true);         googlemap.getuisettings().setcompassenabled(true);         googlemap.getuisettings().setmylocationbuttonenabled(true);      }      @override     public void onactivitycreated(bundle savedinstancestate) {         super.onactivitycreated(savedinstancestate);     }     } 

i've made code google maps api. i'm adding markers map, every seconde time hit "maps" in navigation activity of markers disappear. besides have recylerviewer doesn't data api when use inside oncreate method.

i think issue within json parser code. put in seperate class. me this?

try jsonutils, can parse of data types.


Comments