Android Что касается доступа к мыльным веб-сервисам и анализа данных с помощью json - PullRequest
0 голосов
/ 09 марта 2011

У меня есть кусок кода, касающийся аутентификации при входе в систему с использованием мыльных веб-сервисов и анализа json, но я не уверен, что это правильно или нет, пожалуйста, сообщите мне ??если возможно, укажите кодпроблема не в состоянии понять, пожалуйста, направьте меня ???

1 Ответ

0 голосов
/ 09 марта 2011

Пожалуйста, следуйте приведенному ниже коду.Здесь я отправляю запрос на сервер и получаю этот ответ и анализирую этот ответ в формате json.

public void Login(final String UserName,final String Password)
{
    try
    {
        new Thread()
        {
            public void run()
            {
                try
                {
                    HttpPost postMethod = new HttpPost("Your Url");
                    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

                    nameValuePairs.add(new BasicNameValuePair("UserName","Your UserName");
                    nameValuePairs.add(new BasicNameValuePair("Password", "Your Password"));

                    postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    DefaultHttpClient hc = new DefaultHttpClient();

                    HttpResponse response = hc.execute(postMethod);
                    HttpEntity entity = response.getEntity();

                    // If the response does not enclose an entity, there is no need
                    // to worry about connection release

                    if (entity != null) 
                    {
                        InputStream inStream = entity.getContent();
                        result= convertStreamToString(inStream);
                        jsonObject = new JSONObject(result);
                        responseHandler.sendEmptyMessage(0);
                    }
                }
                catch(Exception e)
                {
                    e.printStackTrace();
                }
            }
        }.start();

        responseHandler = new Handler() 
        {                               
            public void handleMessage(Message msg) 
            {
                super.handleMessage(msg);
                try 
                {
                    Log.i("-------------------- Response",result);
                    if(jsonObject.getJSONObject("response").getString("msg").equalsIgnoreCase("Success"))
                    {

                        Log.i("Login","--- Login Success");
                    }
                } 
                catch (Exception e) 
                {
                    e.printStackTrace();
                }                       
            }
        };
    }
    catch(Exception e)
    {

    }
}

public static String convertStreamToString(InputStream is)
{
   BufferedReader reader = new BufferedReader(new InputStreamReader(is));
   StringBuilder sb = new StringBuilder();

   String line = null;
   try 
   {
       while ((line = reader.readLine()) != null) 
       {
           sb.append(line + "\n");
       }
   } 
   catch (IOException e) 
   {
       e.printStackTrace();
   } 
   finally 
   {
       try 
       {
           is.close();
       } 
       catch (IOException e) 
       {
           e.printStackTrace();
       }
   }
   return sb.toString();

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...