[英]Sending a POST request
I am trying to make a post request to a php file with data from 2 edittext fields. 我正在尝试使用2个edittext字段中的数据向php文件发出发布请求。 But it is not working. 但这是行不通的。 The php file is accesable and working. php文件是可访问的并且可以运行。 Any1 that could help me? 有什么可以帮助我的吗?
public class AddInfo extends Activity {
private EditText etxt1, etxt2;
private String result, code, omschrijving;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_info);
etxt1 = (EditText) findViewById(R.id.etext1);
etxt2 = (EditText) findViewById(R.id.etext2);
result = getIntent().getStringExtra("message_key");
etxt1.setText(result);
}
public void saveInfo (View view)
{
code = etxt1.getText().toString();
omschrijving = etxt2.getText().toString();
BackgroundTask backgroundTask = new BackgroundTask();
backgroundTask.execute(code,omschrijving);
finish();
}
class BackgroundTask extends AsyncTask<String,Void,String>
{
String add_info_url;
@Override
protected void onPreExecute() {
add_info_url = "192.168.0.41/add_info.php";
}
@Override
protected String doInBackground(String... args) {
String code,omschrijving;
code = args[0];
omschrijving = args[1];
try {
URL url = new URL(add_info_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String data_string = URLEncoder.encode("code","UTF-8")+"="+URLEncoder.encode(code, "UTF-8")+"&"+
URLEncoder.encode("omschrijving","UTF-8")+"="+URLEncoder.encode(omschrijving, "UTF-8");
bufferedWriter.write(data_string);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
inputStream.close();
httpURLConnection.disconnect();
return "Row added";
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Void... values){
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String resultt){
Toast.makeText(getApplicationContext(),resultt,Toast.LENGTH_LONG).show();
}
}
}
The Toast should also show 'row added but it is just empty. Toast还应该显示“已添加行”,但它只是空的。
Just for the record, I have added the permissions. 仅作记录,我添加了权限。
android.permission.INTERNET" android.permission.INTERNET”
android.permission.ACCESS_NETWORK_STATE" android.permission.ACCESS_NETWORK_STATE“
Greenapps solved the problem for me. Greenapps为我解决了这个问题。 I just forgot the protocol in front of my url ( http:// ) 我只是忘记了网址(http://)前面的协议
add_info_url = "192.168.0.41/add_info.php";. add_info_url =“ 192.168.0.41/add_info.php”;。 You forgot the protocol. 您忘记了协议。 add_info_url = " http://192.168.0.41/add_info.php "; add_info_url =“ http://192.168.0.41/add_info.php ”;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.