将edittext值发送到php json webservice android
我的应用程序中有四个编辑文本和按钮以及php json Web服务。我正在尝试使用json将这些编辑文本值发送到php页面。如果值到达php页面,它将返回将edittext值发送到php json webservice android,php,android,json,web-services,Php,Android,Json,Web Services,我的应用程序中有四个编辑文本和按钮以及php json Web服务。我正在尝试使用json将这些编辑文本值发送到php页面。如果值到达php页面,它将返回success=1,否则返回success=2,但当我单击提交按钮时,应用程序将强制关闭。这是我的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
success=1
,否则返回success=2
,但当我单击提交按钮时,应用程序将强制关闭。这是我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mhost=(EditText) findViewById(R.id.field_host);
mdb=(EditText) findViewById(R.id.field_db);
muser=(EditText) findViewById(R.id.field_user);
mpassword=(EditText) findViewById(R.id.field_password);
mConnection=(Button) findViewById(R.id.insert);
mConnection.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new Connect().execute();
}
});
}
class Connect extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... args) {
// TODO Auto-generated method stub
String HOST=mhost.getText().toString();
String USER=muser.getText().toString();
String DB=mdb.getText().toString();
String PASSWORD=mpassword.getText().toString();
List<NameValuePair> params=new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("nfc_tag", HOST));
params.add(new BasicNameValuePair("meter_reading", USER));
params.add(new BasicNameValuePair("reading_datetime", DB));
params.add(new BasicNameValuePair("image_name", PASSWORD));
JSONObject json=jp.makeHttpRequest(connection_url, "POST", params);
try {
int success=json.getInt(Tag_success);
if(success==1){
Toast.makeText(getApplicationContext(), "Connected :-)", Toast.LENGTH_LONG);
}else{
Toast.makeText(getApplicationContext(), "Not Connected :(", Toast.LENGTH_LONG);
}
} catch (JSONException e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
}
试试这个:
include('connection.php');
$host=$_POST['nfc_tag'];
$user=$_POST['meter_reading'];
$db=$_POST['reading_datetime'];
$password=$_POST['image_name'];
$response=array();
if($host != NULL){
$response['success']=1;
}else{
$response['success']=2;
}
echo json_encode($response);
你也可以发布日志吗?@Lal检查我编辑的帖子请发布日志中的剩余行too@Lal请检查我的更新MainActivity.java中的第114行是什么?
<?php
include('connection.php');
$host=$_POST['nfc_tag'];
$user=$_POST['meter_reading'];
$db=$_POST['reading_datetime'];
$password=$_POST['image_name'];
$response=array();
if($host){
$response['success']=1;
}else{
$response['success']=2;
}
echo json_encode($response);
?>
09-14 15:58:40.823: E/Buffer Error(11735): Connection Errorjava.lang.NullPointerException: lock == null
09-14 15:58:40.833: E/JSON Parser(11735): org.json.JSONException: End of input at character 0 of
09-14 15:58:40.833: E/AndroidRuntime(11735): Exception
09-14 15:58:40.833: E/AndroidRuntime(11735): FATAL EXCEPTION: AsyncTask #1
09-14 15:58:40.833: E/AndroidRuntime(11735): Process: com.example.test_webservice, PID: 11735
09-14 15:58:40.833: E/AndroidRuntime(11735): java.lang.RuntimeException: An error occured while executing doInBackground()
09-14 15:58:40.833: E/AndroidRuntime(11735): at android.os.AsyncTask$3.done(AsyncTask.java:300)
09-14 15:58:40.833: E/AndroidRuntime(11735): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
09-14 15:58:40.833: E/AndroidRuntime(11735): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
09-14 15:58:40.833: E/AndroidRuntime(11735): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
09-14 15:58:40.833: E/AndroidRuntime(11735): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
09-14 15:58:40.833: E/AndroidRuntime(11735): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
09-14 15:58:40.833: E/AndroidRuntime(11735): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
09-14 15:58:40.833: E/AndroidRuntime(11735): at java.lang.Thread.run(Thread.java:841)
09-14 15:58:40.833: E/AndroidRuntime(11735): Caused by: java.lang.NullPointerException
09-14 15:58:40.833: E/AndroidRuntime(11735): at com.example.test_webservice.MainActivity$Connect.doInBackground(MainActivity.java:114)
09-14 15:58:40.833: E/AndroidRuntime(11735): at com.example.test_webservice.MainActivity$Connect.doInBackground(MainActivity.java:1)
09-14 15:58:40.833: E/AndroidRuntime(11735): at android.os.AsyncTask$2.call(AsyncTask.java:288)
09-14 15:58:40.833: E/AndroidRuntime(11735): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
include('connection.php');
$host=$_POST['nfc_tag'];
$user=$_POST['meter_reading'];
$db=$_POST['reading_datetime'];
$password=$_POST['image_name'];
$response=array();
if($host != NULL){
$response['success']=1;
}else{
$response['success']=2;
}
echo json_encode($response);