私はアンドロイド開発の初心者です。私は自分のアプリケーションでWebサービスを統合する必要がありますが、うまくいきません。誰かがそれを解決するために私を助けることができますか?私はこのコードは、それは、PLが起こっているとどのように取り組むために何を教えてnull
responcephp webservicesのhttpリクエストを送信するには
返し実行すると、次の
はソースコード
public class Registration extends Activity {
EditText edfnm,edlnm,edmobile,edemail,edpass;
Button b1;
TextView tv1;
private DefaultHttpClient httpclient;
private HttpPost httppost;
private ArrayList<NameValuePair> lst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
edfnm=(EditText)findViewById(R.id.edfirst);
edlnm=(EditText)findViewById(R.id.edlast);
edmobile=(EditText)findViewById(R.id.edmobile);
edemail=(EditText)findViewById(R.id.edemail);
edpass=(EditText)findViewById(R.id.edpass);
b1=(Button)findViewById(R.id.btnreg);
tv1=(TextView)findViewById(R.id.textView1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
httpclient=new DefaultHttpClient();
httppost=new HttpPost("http://amwaveswellness.com/protocol_suggestion/webservice/register.php");
lst=new ArrayList<NameValuePair>();
lst.add(new BasicNameValuePair("first_name",edfnm.getText().toString()));
lst.add(new BasicNameValuePair("last_name",edlnm.getText().toString()));
lst.add(new BasicNameValuePair("mobile",edmobile.getText().toString()));
lst.add(new BasicNameValuePair("email",edemail.getText().toString()));
lst.add(new BasicNameValuePair("password",edpass.getText().toString()));
try {
httppost.setEntity(new UrlEncodedFormEntity(lst));
new add_data().execute();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
class add_data extends AsyncTask<String, integer, String>{
String jsonstring;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
try {
HttpResponse httpresponse=httpclient.execute(httppost);
jsonstring=EntityUtils.toString(httpresponse.getEntity());
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonstring;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
tv1.setText(result);
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
}
}
});
}
です。
OkHttpライブラリを使用することをお勧めします。このライブラリでは、Httpリクエストはあまり労力を必要としません。 –
非同期サーバー接続にVolleyを使用 –
このリンクを試してくださいhttp://www.androidhive.info/2012/01/android-json-parsing-tutorial/ –