1

我想从 Web 服务 HttpGet 方法中获取数据。Web Service 需要两个标头信息。

如何添加设置参数?

"Content-Type", "application/json"
"Authorization", "Bearer " + Utils.PreferencesGetir(ActivityPuanlarim.this, "Preferences_Token"))

json数据

[  
{
"ID": 12,
"KayitTarihi": "2016-07-21T08:37:01.603",
"KullanilanPuan": 0,
"KuponID": 2,
"KuponKullanim": [],
"KuponNo": "S7240061",
"KuponAciklama": "Açıklama 1",
"Puan": 40
},
{
"ID": 13,
"KayitTarihi": "2016-07-21T09:38:48.877",
"KullanilanPuan": 0,
"KuponID": 2,
"KuponKullanim": [],
"KuponNo": "S7240071",
"KuponAciklama": "Açıklama 2",
"Puan": 40 
 }
]

AsyncTask doInBackground

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

        List<NameValuePair> params = new ArrayList<NameValuePair>();

        params.add(new BasicNameValuePair("Content-Type", "application/json"));
        params.add(new BasicNameValuePair("Authorization", "Bearer " + Utils.PreferencesGetir(ActivityPuanlarim.this, "Preferences_Token")));


        JSONArray json = jParser.makeHttpRequestArray(URL, "GET", params);

        try {

            if (Utils.InternetKontrol(ActivityPuanlarim.this) == true) {
                for (int i = 0; i < json.length(); i++) {
                    JSONObject c = json.getJSONObject(i);


                    String id = c.getString("ID");
                    String kayitTarihi = c.getString("KayitTarihi");
                    String kullanilanPuan = c.getString("KullanilanPuan");
                    String kuponID = c.getString("KuponID");
                    String kuponKullanim = c.getString("KuponKullanim");
                    String kuponNo = c.getString("KuponNo");
                    String kuponAciklama = c.getString("KuponAciklama");
                    String puan = c.getString("Puan");


                    // Hashmap oluşturulur
                    HashMap<String, String> map = new HashMap<String, String>();


                    map.put("ID", id);
                    map.put("KayitTarihi", kayitTarihi);
                    map.put("KullanilanPuan", kullanilanPuan);
                    map.put("KuponID", kuponID);
                    map.put("KuponKullanim", kuponKullanim);
                    map.put("KuponNo", kuponNo);
                    map.put("KuponAciklama", kuponAciklama);
                    map.put("Puan", puan);

                    puanlarimTumKayitlarList.add(map);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
4

1 回答 1

1

由于您不发送 HttpRequest,因此您不需要这些参数。您应该通过 URLConnection 从 Servlet 请求内容,然后在您的活动中读取数据。

此处示例: https ://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html

编辑:我读过你可以像这样在 Activity 中使用 HttpGet :

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
httpGet.addHeader("key", VALUE);
HttpResponse httpResponse = httpClient.execute(httpGet);
于 2016-08-12T12:29:22.760 回答