안드로이드
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_store:
String url = "http://14.43.194.178/insert.php";
StringBuffer buffer = new StringBuffer();
buffer.append("id").append("=").append(id.getText().toString()).append("&");
buffer.append("pw").append("=").append(pw.getText().toString()).append("&");
buffer.append("Contents").append("=").append(Contents.getText().toString());
// 변수구분은'&' 사용
NetworkTask networkTask = null;
networkTask = new NetworkTask(url, buffer);
networkTask.execute();
return true;
default: return
super.onOptionsItemSelected(item);
}}
private class NetworkTask extends AsyncTask<Void, Void, String>
{
private String url;
private StringBuffer values;
private NetworkTask(String url, StringBuffer val) {
this.url = url;
this.values = val;
}
@Override
protected void onPreExecute() {
Toast toast = null;
toast = Toast.makeText(WriteReview.this,values,Toast.LENGTH_SHORT);toast.show();}
@Override
protected String doInBackground(Void... params) {
HttpURLConnection urlConn = null;
try{
URL _url = new URL(url);
urlConn = (HttpURLConnection) _url.openConnection();
urlConn.setRequestMethod("POST");
urlConn.setConnectTimeout(10000);
urlConn.setReadTimeout(10000);
urlConn.setDoOutput(true);
urlConn.setDoInput(true);
urlConn.setRequestProperty("content-type", "application/x-www-form-urlencoded");
OutputStream os = urlConn.getOutputStream();
os.write(values.toString().getBytes("utf-8"));
os.flush();
if (urlConn.getResponseCode() != HttpURLConnection.HTTP_OK)
return null;
} catch (MalformedURLException e) {
// for URL.e.printStackTrace();
} catch (IOException e) { // for openConnection().e.printStackTrace();
} finally {if (urlConn != null)urlConn.disconnect();
}
return "me";
}@Overrideprotected void onPostExecute(String s) {
super.onPostExecute(s);
//doInBackground()로부터리턴된값이onPostExecute()의매개변수로넘어오므로s를출력한다.
}
}
================================================================================
php파일
<?php
$id=isset($_POST["id"]) ? $_POST["id"] : 'fail';
$pw=isset($_POST["pw"]) ? $_POST["pw"] : 'fail';
$Contents=isset($_POST["Contents"]) ? $_POST["Contents"] : 'fail';
$conn = mysqli_connect("127.0.0.1","root","","foodpick");
$query = "INSERT INTO foodrivew(Uname,pw,content) VALUES ('$id','$pw','$Contents')";
$result = mysqli_query($conn, $query);
if($result){
echo "1";
echo $id;
echo $pw;
}
else
echo "-1";
mysqli_close($conn);
?>
=============================================================================
로그
05-26 08:02:45.527 20946-29719/com.example.ckckd.review W/System.err: java.net.SocketTimeoutException: failed to connect to /14.43.194.178 (port 80) after 10000ms
05-26 08:02:45.528 20946-29719/com.example.ckckd.review W/System.err: at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
05-26 08:02:45.528 20946-29719/com.example.ckckd.review W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:122)