2016-08-12 6 views
0

웹 서비스 HttpGet 메서드에서 데이터를 가져 오려고합니다. 웹 서비스에는 두 개의 헤더 정보가 필요합니다.안드로이드 Json에서 헤더를 설정하는 방법

어떻게 매개 변수를 추가 할 수 있습니까? 당신이 HttpRequest를 전송하지 않기 때문에

"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; 
    } 

답변

0

, 당신은 이러한 매개 변수가 필요하지 않습니다. URLConnection을 통해 Servlet에 컨텐츠를 요청한 다음, 활동의 데이터를 읽어야합니다. 여기

예 : https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html

편집 : 내가 JSON 문자열 ID로 다음과 같이 HttpResponse에의 값을 얻을 수있는 방법

DefaultHttpClient httpClient = new DefaultHttpClient(); 
HttpGet httpGet = new HttpGet(url); 
httpGet.addHeader("key", VALUE); 
HttpResponse httpResponse = httpClient.execute(httpGet); 
+0

을 : 나는이 같은 활동에 HttpGet을 사용할 수 있습니다 읽었습니다 = c.getString ("ID"); String kayitTarihi = c.getString ("KayitTarihi"); –

+0

u는 헤더 또는 ObjectEntity에서 설정할 수 있습니다. 참조 : https://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/HttpResponse.html – BuckRogers

관련 문제