モバイル側からリモートサーバーへの情報の充填をユーザーが行う必要があります。たとえば、ログイン/登録用のコードを以下に書いています。私はこれを試したが、サーバに何らかのデータストアを持っていない。私はそれが私のPHPスクリプトが間違っているかもしれないと疑った。リモートデータベースにデータを保存
MainActivity.Java:
public class MainActivity extends Activity {
TextView name, email, number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (TextView) findViewById(R.id.name);
email = (TextView) findViewById(R.id.email);
number = (TextView) findViewById(R.id.number);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void send(View v) {
new Send().execute();
}
class Send extends AsyncTask<String, Void, Long> {
protected Long doInBackground(String... urls) {
String Name = name.getText().toString();
String Email = email.getText().toString();
String Number = number.getText().toString();
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://xxx.000webhostapp.com/phpcode.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("Name", Name));
nameValuePairs.add(new BasicNameValuePair("Email", Email));
nameValuePairs.add(new BasicNameValuePair("Number", Number));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (Exception e) {
// TODO Auto-generated catch block
}
return null;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(Long result) {
}
}
}
新しいレコードは、それをテストするために作成されます。これまでのところ、新しいエントリが作成されました。
PHPスクリプト:
<?php
define('hostname', 'localhost');
define('user', 'xxx_username');
define('passwort', 'xxx');
define('databaseName', 'xxx_name');
$conn = mysqli_connect(hostname, user, passwort, databaseName);
if($conn->connect_error){
die("Connection failed: " .$conn->connect_error);
}
$Name = $_POST['Name'];
$Email = $_POST['Email'];
$Number = $_POST['Number'];
$sql = "INSERT INTO demotable (Name, Email, Number) VALUES ('{$Name}','{$Email}','{$Number}')";
if($conn->query($sql) === TRUE) {
echo "Record created";
} else {
echo "Error: ".$sql. $conn->error;
}
$conn->close();
?>
リスト nameValuePairs =新しいArrayList (2); 「2」は削除する必要があります。 –
Anonymous
ChromeアプリケーションであるPOSTMANやARCなどのRESTクライアントでテストし、サーバエラーかどうかを確認してください –
phpcode.phpを確認してください。私は何かがphpcode.phpで間違っていると思う。 –