猿问

android和php之间的多重连接

我在数据库中有一个动态表,每次有新插入时,我都需要做一些计算并将数据发送到 android,所以我知道如何在 android 和 php 之间建立连接,但如何让 android 执行多个操作检查到 php 文件,以便它可以显示数据?


 private void loadProducts() {


    StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_PRODUCTS,

            new Response.Listener<String>() {

                @Override

                public void onResponse(String response) {

                    try {

                        // converting the string to json array object

                        JSONArray products = new JSONArray(response);


                        // traversing through all the object

                        for (int i = 0; i < products.length(); i++) {


                            // getting product object from json array

      JSONObject productObject = products.getJSONObject(i);

               int Temp_dt = productObject.getInt("Temp_dt");

                 int BusNumber = productObject.getInt("BusNumber");

                    Product product = new Product(Temp_dt, BusNumber);


                            // adding the product to product list

                            productList.add(product);

                        }


      adapter = new ProductsAdapter(WaitingActivity.this, productList);

                        recyclerView.setAdapter(adapter);

                    } catch (JSONException e) {

                        e.printStackTrace();

                    }

                }

            },

            new Response.ErrorListener() {

                @Override

                public void onErrorResponse(VolleyError error) { Toast.makeText(WaitingActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show();

                }

            });

我希望在有新插入时显示数据,但它只显示数据表中存在的内容,如果有新插入,我需要再次进入活动,以便它可以显示我想要的内容。


侃侃无极
浏览 108回答 2
2回答

白衣非少年

没有办法让服务器在没有客户端查询的情况下发送数据。您必须每 N 秒检查一次 android 上的更改。我认为您不想每次都发送完整的表,因此您可以在数据库中创建字段,其中包含表的上次更新时间。它可以被触发器改变。当您第一次下载表格时,您可以在 android 上节省该时间。现在你每 N 秒从服务器获取一次这个时间,如果它与保存的不同 - 重新加载表。或者使用套接字,但在 php 中不支持,您需要另一个服务器应用程序
随时随地看视频慕课网APP
我要回答