如何通过使用Android中的哈希图获取唯一的电话号码

时间:2019-02-08 07:03:47

标签: android-studio

我使用列中的图像和电话号码创建了一个数据库服务器,并给出了一个特定的单一电话号码,使用该单一号码将所有图像存储在数据库服务器中。现在,我直接用不同的数字更改了服务器中的电话号码。现在我要显示带有电话号码的图像。因此,我该如何在android中编写代码以显示图像以及电话号码(HashMap中的号码)。

 StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
        @RequiresApi(api = Build.VERSION_CODES.KITKAT)
        @Override
        public void onResponse(String response) {
            Log.d("asd", response);


            try {
                JSONObject jsonObject = new JSONObject(response);

                JSONArray jsonArray = new JSONArray(jsonObject.getString("documents"));


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

                    JSONObject jsonObject1 = jsonArray.getJSONObject(i);

                    String docId = jsonObject1.getString("docId");
                    String docImage = jsonObject1.getString("docImage");
                    String uid = jsonObject1.getString("uid");

                    arrayList.add(docImage);
                    // arrayList.add(uid);

                }

                CustomSwipeAdapter customSwipeAdapter = new CustomSwipeAdapter(ImagesSlidingActivity.this, arrayList);

                viewPager.setAdapter(customSwipeAdapter);

            } catch (JSONException e) {

                Log.d("asd", e.getLocalizedMessage());
                Log.d("asd", "error");
                e.printStackTrace();
            }


        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
        }
    });


    requestQueue.add(stringRequest);` 

1 个答案:

答案 0 :(得分:0)

根据您的代码,我假设您的arrayList是字符串类型。喜欢

List<String> arrayList = new ArrayList<>();

将其更改为

List<Pair<String, String>> arrayList = new ArrayList<>();

因此您的代码将如下所示。

List<Pair<String, String>> arrayList = new ArrayList<>();
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    @Override
    public void onResponse(String response) {
        Log.d("asd", response);
        try {
            JSONObject jsonObject = new JSONObject(response);
            JSONArray jsonArray = new JSONArray(jsonObject.getString("documents"));
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                String docId = jsonObject1.getString("docId");
                String docImage = jsonObject1.getString("docImage");
                String uid = jsonObject1.getString("uid");
                Pair<String, String> pair = new Pair<>(uid, docImage);
                arrayList.add(pair);
            }

            CustomSwipeAdapter customSwipeAdapter = new CustomSwipeAdapter(ImagesSlidingActivity.this, arrayList);

            viewPager.setAdapter(customSwipeAdapter);

        } catch (JSONException e) {

            Log.d("asd", e.getLocalizedMessage());
            Log.d("asd", "error");
            e.printStackTrace();
        }


    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
    }
});


requestQueue.add(stringRequest);

请注意,通过更改此项,您需要在 CustomSwipeAdapter 中更改数组列表的类型。 从对对象中,您可以使用 pair.first 获得ID,并使用 pair.second

获得图像

快乐编码..:)