пытается получить данные Array из базы данных mysql и добавить эти данные в arraylist - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь получить данные из базы данных моего веб-сайта и пытаюсь вставить эти данные в ArrayList. Поскольку я размещал свой веб-сайт и загружал данные в свою базу данных, сейчас я пытаюсь получить эти данные из своей базы данных, чтобы отправить их в мое приложение android, и после получения этих данных я хочу добавить эти данные в мой ArrayList, чтобы я Я могу использовать эти данные для отображения в полях моего слайдера. Я старался изо всех сил, но Динт получает любую идею, чтобы решить эту проблему. поэтому помогите мне получить данные из моей базы данных и сохранить их в списке массивов, чтобы я мог показать их в своем слайдере. ниже приведены коды, которые я использовал в своем приложении.

   List<sliderclass> slider;
private static final String URL_items = "http://nanb.epizy.com/slider.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    searchbar = findViewById(R.id.searchbar);
    searchbartext = findViewById(R.id.searchbartext);

    slider = new ArrayList<>();
    loadslider();
    searchbar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(),"send to search page",Toast.LENGTH_SHORT).show();
        }
    });

    imageSlider = findViewById(R.id.image_slider);
   slidermethod();

}

private void slidermethod() {
    List<SlideModel> slidermodel = new ArrayList<>();

    slidermodel.add( new SlideModel(R.drawable.slider1));
    slidermodel.add( new SlideModel(R.drawable.slider2));
    slidermodel.add( new SlideModel(R.drawable.slider3));
    slidermodel.add( new SlideModel(R.drawable.slider4));
    imageSlider.setImageList(slidermodel,false);
    if(slider.size() > 0){
        Toast.makeText(getApplicationContext(),"pass",Toast.LENGTH_SHORT).show();
    }
}

private void loadslider() {

    StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_items, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {

            try {
                JSONArray array = new JSONArray(response);
                Toast.makeText(getApplicationContext(),array.length(),Toast.LENGTH_SHORT).show();
                for(int i = 0; i<array.length();i++){
                    JSONObject sliderdata = array.getJSONObject(i);
                    slider.add(new sliderclass(sliderdata.getString("downloadurl")));
                    Toast.makeText(getApplicationContext(),sliderdata.getString("downloadurl"),Toast.LENGTH_SHORT).show();
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });
    Volley.newRequestQueue(this).add(stringRequest);
}


 }

json данные

[{"id": 8, "downloadurl": "http://nanb.epizy.com/upload/Slider/slider1.jpg "}, {" идентификатор ": 6," downloadurl ":" http://nanb.epizy.com/upload/Slider/slider3.jpg "}, {" идентификатор ": 7," downloadurl ":" http://nanb.epizy.com/upload/Slider/slider2.jpg "}, {" id ": 5," downloadurl ":" http://nanb.epizy.com/upload/Slider/slider4.jpg "}]

Ползунок. php

  $stmt = $link->prepare("SELECT id, downloadurl FROM items  WHERE Type = 'Slider';");

//executing the query 
$stmt->execute();

//binding results to the query 
$stmt->bind_result($id, $downloadurl);
$resultarray = array();
      while ($stmt->fetch()) {
         $index = array();
         $index['id'] = $id;
         $index['downloadurl'] = $downloadurl;
         array_push($resultarray, $index);
        }

     echo json_encode($resultarray);

База данных

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...