2015-01-18 2 views
0

Я хочу отправить объект json в свой WebService и прочитать ответ, но мой код не работает. Объект JSON был создан, но не поддерживается. WebService не получил этот объект.Отправка объекта json с помощью android не работает

моя активность:

package com.example.secapp; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.StringEntity; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.*; 
import java.io.InputStream; 





public class dwa extends Activity { 


    Context context; 


    TextView imie; 
    TextView wiek; 
    Button przycisk; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.wynik); 
     context = getApplicationContext(); 

     Bundle bundle = getIntent().getExtras(); 
     String URL = "http://192.168.0.105:8080/2WS/test/login"; 
     JSONObject json = new JSONObject(); 
     HttpResponse response; 
     HttpClient client = new DefaultHttpClient(); 

     try { 
      json.put("login",bundle.getString("login")); 
      json.put("password",bundle.getString("pass")); 
      System.out.println(json.toString()); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 


     try { 
      HttpPost post = new HttpPost(URL); 
      StringEntity se = new StringEntity(json.toString()); 
      post.setHeader("Accept", "application/json"); 
      post.setEntity(se); 
      response = client.execute(post); 
      if(response!=null){ 
       InputStream in = response.getEntity().getContent(); 
      } 

     } catch(Exception e) { 
      e.printStackTrace(); 
     } 

     imie = (TextView) findViewById(R.id.textView3); 
     wiek = (TextView) findViewById(R.id.textView5); 



     String imieString = bundle.getString("login"); 
     String wiekString = bundle.getString("pass"); 


     imie.setText(imieString); 
     wiek.setText(wiekString); 

    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 

Спасибо за помощь и извините за мой английский. :)

+0

Попробуйте выполнить запрос из веб-браузера и проверьте, отвечает ли веб-служба. – nasch

+0

Yup, веб-сервис работает и отвечает. – Lestad

+0

Как насчет браузера на устройстве? Проблема может заключаться в получении соединения с этим адресом, а не с чем-либо неправильным с вашим кодом. – nasch

ответ

0

Если вы хотите интегрировать API в вашем использовании приложения дооснащения: square.github.io/retrofit/

Надеется, что это помогает.

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