2015-03-13 4 views
0

Я создаю projenct для андроидной аутентификации с помощью веб-сервисов. Я использую post и json-синтаксический анализ для получения данных, я отправляю на веб-сервис имя пользователя и пароль для аутентификации, которые берут то, что я хочу выбрать любую информацию в файлах pesponse, но что бы я не удался взять то, что я хочу, я думаю, что я ошибаюсь или что-то забыл. Я хочу войти в веб-аутентификацию и после аутентификации. Как принять то, что я хочу для конкретной информации.Как аутентифицировать Android и принимать данные с помощью Json?

class Post extends AsyncTask<Void, Void, Void>{ 
    // Post tan önce yapılacak işlemler. Yükleniyor yazısını(ProgressDialog) gösterdik. 
    JSONObject veri_json; 
    JSONObject jsonobj; 
    protected void onPreExecute() { 

     pDialog=new ProgressDialog(OgrenciBilgiSistemi.this); 
     pDialog.setMessage("Yükleniyor"); 
     pDialog.setIndeterminate(true); 
     pDialog.setCancelable(true);// ProgressDialog u iptal edilemez hale getirdik. 
     pDialog.show(); 
    }; 
    @Override 
    protected Void doInBackground(Void... unused) {// Arka Planda yapılacaklar. Yani Post işlemi 

     //Post edilecek değişkenleri ayarliyoruz. 
     List<NameValuePair> params=new ArrayList<NameValuePair>(); 

     params.add(new BasicNameValuePair("login", og_no.getText().toString())); 
     params.add(new BasicNameValuePair("password", og_sifre.getText().toString())); 
     params.add(new BasicNameValuePair("Accept", "application/json")); 
     params.add(new BasicNameValuePair("Content-type", "application/json")); 


     //PostClass daki httpPost metodunu çağırdık.Gelen string değerini aldık 
     veri_string=post.httpPost(url, "POST", params, 2000); 

     try { 
      ////gelen veri_string değerini json arraye çeviriyoruz. 
      //try içinde yapmak zorunlu çıkabilecek bir sorunda uygulamanın patlamaması için 
      veri_json=new JSONObject(veri_string); 




     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     // gelen veriyi log tuttuk 
     Log.d("HTTP POST CEVAP:",""+ veri_string); 
     return null; 
    } 

И у меня есть сообщение Класс

try { 

     if (method == "POST") { 

      HttpParams httpParameters = new BasicHttpParams(); 
      int timeout1 = time; 
      int timeout2 = time; 
      HttpConnectionParams.setConnectionTimeout(httpParameters, timeout1); 
      HttpConnectionParams.setSoTimeout(httpParameters, timeout2); 
      DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); 
      HttpPost httpPost = new HttpPost(url); 
      httpPost.setEntity(new UrlEncodedFormEntity(params,"UTF-8")); 
      HttpResponse httpResponse = httpClient.execute(httpPost); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      veri = httpEntity.getContent(); 

     } else if (method == "GET") { 

      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      String paramString = URLEncodedUtils.format(params, "utf-8"); 
      url += "?" + paramString; 
      HttpGet httpGet = new HttpGet(url); 

      HttpResponse httpResponse = httpClient.execute(httpGet); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      veri = httpEntity.getContent();    
     } 

    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     BufferedReader reader = new BufferedReader(new InputStreamReader(
       veri, "iso-8859-1"), 8); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
     veri.close(); 
     veri_string = sb.toString(); 
    } catch (Exception e) { 
     Log.e("Buffer Error", "Hata " + e.toString()); 
      } 

    return veri_string; // Aldığımız cevabın string halini geri dönüyoruz 

} 

Я пользуюсь этой pesponse enter image description here

ответ

0

Вы можете разобрать дату в onPostExecute Сначала создайте JSONObject MyObject = новый JSONObject (ваш JSON строку с сервера) , тогда вы можете извлечь свои массивы или внутренние json-объекты, вызвав my mybject.getJSONArray («имя массива»), myObject.getJSONObject («имя объекта») , а затем из этих объектов и массивов вы можете извлекать значения, вызывая соответствующие методы, такие как getString getInt и т. Д. После извлечения всего этого информационного хранилища эти значения в SharedPreferences используются в любом месте вашего приложения. Ссылки для JSON синтаксического анализа и SharedPreferences JSON parsing

SharedPreferences

+0

Можете ли вы дать мне Конкретный пример @Krishna TĒJA Velagapudi – Mercur

+0

Из вышеприведенного JSon файла, публикуемую что вы хотите извлечь. Я могу привести пример, извлекая этот текст – krishna

Смежные вопросы