Как мне получить входные данные текущего пользователя для отображения в listview?

#java #php #android

#java #php #Android

Вопрос:

У меня есть приложение, в котором я использую информацию, предоставленную пользователем, для получения списка данных

Используя приведенный ниже код, я получаю два разных результата:

  • Когда where username = '$username' отображается на стороне PHP, я получаю только всплывающее сообщение. Однако, ListView остается пустым.

  • Когда я удаляю where username = '$username' со стороны PHP, отображается всплывающее сообщение, и ListView также отображается некоторый контент

Не могли бы вы, пожалуйста, помочь мне определить, почему ListView остается пустым в этом конкретном случае?

Заранее спасибо

Java

 public void current_user() {
    String url = "http://websie/my.php";

    Calendar calendar = Calendar.getInstance();
    SimpleDateFormat dayes = new SimpleDateFormat("dd-MM-yyyy");
    final String created_date = dayes.format(calendar.getTime());

    StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                //System.out.println(response);
                // Toast.makeText(MainActivity.this,response,Toast.LENGTH_SHORT).show();
                Toast.makeText(show_post_all_sales_2x100.this, response.toString(), Toast.LENGTH_SHORT).show();

                progressBar.setVisibility(View.INVISIBLE);
                listViewAdapter = new ListViewAdapter(show_post_all_sales_2x100.this, R.layout.listview_items_layout, SubjectList);
                listView.setAdapter(listViewAdapter);

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(show_post_all_sales_2x100.this, error.toString(), Toast.LENGTH_SHORT).show();
            }
        }) {
            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<String, String>();
                params.put("username", User.getUsername());
                params.put("created_date", created_date);
                return params;
            }
        };

    RequestQueue requestQueue = com.android.volley.toolbox.Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

private class ParseJSonDataClass extends AsyncTask<Void, Void, Void> {
    public Context context;
    String FinalJSonResult;

    public ParseJSonDataClass(Context context) {
        this.context = context;
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected Void doInBackground(Void... arg0) {

        HttpParseClass httpParseClass = new HttpParseClass(HttpURL);

        try {
            httpParseClass.ExecutePostRequest();

            if (httpParseClass.getResponseCode() == 200) {

                FinalJSonResult = httpParseClass.getResponse();

                if (FinalJSonResult != null) {

                    JSONArray jsonArray = null;
                    try {

                        jsonArray = new JSONArray(FinalJSonResult);
                        JSONObject jsonObject;
                        Subjects subjects;
                        SubjectList = new ArrayList<Subjects>();

                        for (int i = 0; i < jsonArray.length(); i  ) {
                            jsonObject = jsonArray.getJSONObject(i);
                            String tempName = jsonObject.getString("username").toString();
                            String tempFullForm = jsonObject.getString("created_date").toString();
                            subjects = new Subjects(tempName, tempFullForm);
                            SubjectList.add(subjects);
                        }
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            } else {
                Toast.makeText(context, httpParseClass.getErrorMessage(), Toast.LENGTH_SHORT).show();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        progressBar.setVisibility(View.INVISIBLE);
        listViewAdapter = new ListViewAdapter(show_post_all_sales_2x100.this, R.layout.listview_items_layout, SubjectList);
        listView.setAdapter(listViewAdapter);
    }
}
  

PHP

 <?php
    if($_SERVER['REQUEST_METHOD']=='POST'){
        include 'DatabaseConfig.php';
        $username = $_POST['username'];

        // Create connection
        $conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);

        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

        $sql = "SELECT * FROM post_2x  where username = '$username'" ;
        $result = $conn->query($sql);
        if ($result->num_rows >0) {
            while($row[] = $result->fetch_assoc()) {
                $tem = $row;
                $json = json_encode($tem);
            }
        } else {
            echo "No Results Found.";
        }
        echo $json;
        $conn->close();
    }
?>
  

Результат, когда where username = '$username' присутствует

Это изображение, когда я использую (где username = имя пользователя)

Результат при удалении where username = '$username'

Это изображение при удалении (где username = имя пользователя)

Комментарии:

1. Это выглядит как Android . Возможно, вам потребуется добавить этот тег.

2. мне нужен ответ…