一旦从服务器android检索数据,如何使用本地数据加载微调器

时间:2017-10-03 07:29:37

标签: android

我想实现一个Spinner,其中微调器项目将来自服务器端,我希望项目第一次来到微调器后,每当我重新打开该应用程序或微调器时,项目不会来自服务器端,项目应该在那里。下面是我的自定义微调器,其中国家名称来自服务器端。

    // for country spinner
                    StringRequest sR = new StringRequest(Request.Method.POST, country_url,
                            new Response.Listener<String>() {
                                @Override
                                public void onResponse(String response) {
                                    ArrayList<String> arr = new ArrayList<String>(Arrays.asList(response.trim().split(",")));
                                    for (int i = 0; i < arr.size(); i++) {
                                        if (arr.get(i).equals("India")) {
                                            arr.remove(i);
                                        }
                                    }
                                    arr.add(0, "Select Country");
                                    arr.add(1, "India");
                                    ArrayAdapter<String> adapter = new ArrayAdapter<String>(EditDetails7.this, android.R.layout.simple_list_item_1, arr);
                                    spinCountry.setAdapter(adapter);
                                    for(int i=0; i < adapter.getCount(); i++) {
                                        if (country.trim().equals(adapter.getItem(i).toString())) {
                                            spinCountry.setSelection(i);
                                            break;
                                        }
                                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(EditDetails7.this, error.toString(), Toast.LENGTH_LONG).show();
        }
    });
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(sR);

1 个答案:

答案 0 :(得分:1)

您需要将服务响应保存在本地存储中。要做到这一点,你可以做以下两件事之一:

1)您可以将数据保存在数据库中 2)您可以将数据保存在共享首选项中

这完全取决于您的要求。如果数据量巨大,我宁愿使用数据库,否则共享首选项是最佳选择。希望有所帮助。

以下是可能对您有所帮助的链接 对于SharedPreference

https://www.androidhive.info/2017/07/android-implementing-preferences-settings-screen/

对于数据库

https://www.androidhive.info/2011/11/android-sqlite-database-tutorial/