2016-04-19 6 views
0

Я знаю, как разбирать данные через JSON с помощью Android, но я понятия не имею, как отправлять некоторые данные через него на сервер, а затем на основе этих данных извлекать данные через JSON в приложение для Android. Это код для разбора данных на андроид:Json Post через Android

private class GetFixture extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
    } 
    @Override 
    protected Void doInBackground(Void... arg) { 


     ServiceHandler serviceClient = new ServiceHandler(); 
     Log.d("url: ", "> " + URL_ITEMS); 
     String json = serviceClient.makeServiceCall(URL_ITEMS,ServiceHandler.GET); 
     // print the json response in the log 
     Log.d("Get match fixture resps","> " + json); 
     if (json != null) { 
      try { 
       Log.d("try", "in the try"); 
       JSONObject jsonObj = new JSONObject(json); 
       Log.d("jsonObject", "new json Object"); 
       // Getting JSON Array node 
       matchFixture = jsonObj.getJSONArray(TAG_FIXTURE); 
       Log.d("json aray", "user point array"); 
       int len = matchFixture.length(); 
       Log.d("len", "get array length"); 
       for (int i = 0; i < matchFixture.length(); i++) { 
        JSONObject c = matchFixture.getJSONObject(i); 
        String matchId = c.getString(TAG_MATCHID); 
        Log.d("matchId", matchId); 
        String teamA = c.getString(TAG_TEAMA); 
        Log.d("teamA", teamA); 
        String teamB = c.getString(TAG_TEAMB); 
        Log.d("teamB", teamB); 
        // hashmap for single match 
        HashMap<String, String> matchFixture = new HashMap<String, String>(); 
        // adding each child node to HashMap key => value 
        matchFixture.put(TAG_MATCHID, matchId); 
        matchFixture.put(TAG_TEAMA, teamA); 
        matchFixture.put(TAG_TEAMB, teamB); 
        matchFixtureList.add(matchFixture); 
       } 
      } 
      catch (JSONException e) { 
       Log.d("catch", "in the catch"); 
       e.printStackTrace(); 
      } 
     } else { 
      Log.e("JSON Data", "Didn't receive any data from server!"); 
     } 
     return null; 
    } 


    @Override 
    protected void onPostExecute(Void result) { 
     super.onPostExecute(result); 
     ListAdapter adapter = new SimpleAdapter(
       Doctor_Names.this, matchFixtureList, 
       R.layout.list_item, new String[] { 
       TAG_MATCHID, TAG_TEAMA,TAG_TEAMB 
     } 
       , new int[] { 
       R.id.teamA,R.id.name, 
       R.id.teamB 
     } 
     ); 
     setListAdapter(adapter); 

    } 





} 

Но как я могу получить данные POST на PHP, а затем принять некоторые решения? В принципе, у меня есть страница входа в систему - она ​​правильно зарегистрирована, но теперь я хочу показать относительные данные данных в соответствии с зарегистрированным лично. Для этого я должен отправить имя пользователя желаемого пользователя на сервер. Я не знаю, как это сделать.

+0

Попробуйте использовать залп ... проверьте [этот учебник] (http://www.androidhive.info/2014/05/android-working-with-volley-library-1/) – anAmaka

+0

этот сайт полезен вы знаете что-то лучше моего моего проекта в прошлом году, и я много ищу, но ничего не нахожу –

+0

Вам нужно использовать HttpUrlConnection, чтобы сделать HTTP-запрос на веб-сервер. Используйте метод POST и присоедините объект Json, преобразованный в строку, как тело сообщения. Существуют различные библиотеки, которые будут обрабатывать много работы для вас, но это в основном то, что они будут делать в фоновом режиме. –

ответ

-2

OkHttp (tutorial) и Volley (tutorial) лучшие библиотеки там для обработки запроса и ответа.

Вы можете использовать любой из них. Это просто и понятно.

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