Partage
  • Partager sur Facebook
  • Partager sur Twitter

Appli marche en localhost mais pas online

    15 octobre 2019 à 19:56:41

    Bonjour j'ai fait une application qui reçoit une list json dans un recyclerView bref tout fonctionne avec mon serveur local mais si je met l'adresse de mon serveur OVH ça ne fonctionne plus ,la Database est la même et les script php aussi donc je ne comprend pas pourquoi rien ne s'affiche dans mon recyclerView le Logcat m'affiche ça : E/RecyclerView: No adapter attached quand je met le lien de mon serveur ovh.

    public class ListActivity extends AppCompatActivity {
    
        RecyclerView mrecyclerView;
        private RequestQueue queue;
        private MysqlRequest request;
        List<Location> list;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_list);
    
    
    
            Intent intent = getIntent();
            String type = "";
            type = intent.getStringExtra("location");
    
            queue = MySingleton.getInstance(this).getRequestQueue();
            request = new MysqlRequest(queue, this);
    
            request.checkLocationType(type, new MysqlRequest.LocationCallback() {
                @Override
                public void onSuccess(List<Location> list) {
    
                    mrecyclerView = findViewById(R.id.recyclerview);
                    GridLayoutManager gridLayoutManager = new GridLayoutManager(ListActivity.this,1);
                    mrecyclerView.setLayoutManager(gridLayoutManager);
    
                    MyAdapter myAdapter = new MyAdapter(ListActivity.this,list);
                    mrecyclerView.setAdapter(myAdapter);
    
                }
    
                @Override
                public void dontExist(String message) {
    
                }
    
                @Override
                public void onError(String message) {
    
                }
            });
    
    
    
       }
    }


    public class MysqlRequest {
    
    
        private RequestQueue queue;
        private Context context;
        private String type ;
        LatLng latLng;
    
        public MysqlRequest(RequestQueue queue, Context context){
            this.queue = queue;
            this.context = context;
    
        }
    
        public void checkLocationType(final String type, final LocationCallback callback){
            String url = "http://carte-05.fr//location//locationcontroller.php?view="+type;
    
            JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
    
                    List<Location> list = new ArrayList<>();
    
    
    
    
                    try {
                        JSONArray jsonArray = response.getJSONArray("location");
    
                        for (int i = 0; i < jsonArray.length(); i++){
                            JSONObject location = jsonArray.getJSONObject(i);
                            String nom = location.getString("nom");
                            String lieu = location.getString("ville");
                            String description = location.getString("description");
                            String telephone = location.getString("telephone");
                            String imgurl = location.getString("imageurl");
                            Double lat = location.getDouble("lat");
                            Double lng = location.getDouble("lng");
    
    
                            Location singleLocation = new Location(nom,lieu,description, telephone,imgurl,lat,lng);
    
                            list.add(singleLocation);
    
    
    
                        }
    
    
    
    
                        callback.onSuccess(list);
    
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
    
    
                }
    
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
    
                    if(error instanceof NetworkError){
                        callback.onError("Connection impossible");
                    }else if (error instanceof ServerError){
                        callback.dontExist("Cette location n'existe pas");
                    }
    
    
                    Log.d("APP", "ERROR = " + error);
    
                }
            });
            queue.add(request);
    
    
        }
    
        public interface LocationCallback{
            void onSuccess(List<Location> list);
            void dontExist(String message);
            void onError(String message);
        }
    
    }



    -
    Edité par divdev 15 octobre 2019 à 19:58:50

    • Partager sur Facebook
    • Partager sur Twitter
      16 octobre 2019 à 14:28:22

      Salut,

      Si ton url est bien celle ci : http://carte-05.fr//location//locationcontroller.php?view=xxx il y a un problème de / deux fois y en a un de trop

      • Partager sur Facebook
      • Partager sur Twitter

      Appli marche en localhost mais pas online

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown