[英]Submit data to MySQL database from android app
我正在嘗試編寫保留表格並將其保存為mysql。 因此,表單name, phone, email, comment, time, date, table, people
有4-5個字段。 我必須告訴我,我在Java和Android中是一個新手,不知道該怎么做,但我正在嘗試。 我也認為代碼現在真的很亂,所以我需要一些幫助。 這是到目前為止Reservation.java
的代碼
public class Reservation extends Activity implements
OnClickListener {
String Name;
String Email;
String Phone;
String Comment;
String DateTime;
String Time;
String Table;
String numberOfPeople;
private EditText editText1, editText3, editText2, editText4, txtDate, txtTime;
private Button btnCalendar, btnTimePicker, btnMenues;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reservation);
editText1 = (EditText) findViewById(R.id.editText1);
editText3 = (EditText) findViewById(R.id.editText3);
editText2 = (EditText) findViewById(R.id.editText2);
editText4 = (EditText) findViewById(R.id.editText4);
txtDate = (EditText) findViewById(R.id.txtDate);
txtTime = (EditText) findViewById(R.id.txtTime);
btnCalendar = (Button) findViewById(R.id.btnCalendar);
btnTimePicker = (Button) findViewById(R.id.btnTimePicker);
btnMenues = (Button) findViewById(R.id.btnMenues);
btnMenues.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Name = editText1.getText().toString();
Phone = editText3.getText().toString();
Email = editText2.getText().toString();
Comment = editText4.getText().toString();
DateTime = txtDate.getText().toString();
DateTime = txtTime.getText().toString();
new SummaryAsyncTask().execute((Void) null);
}
});
}
class SummaryAsyncTask extends AsyncTask<Void, Void, Boolean> {
private void postData(String name, String email, String phone,
String comment, String date, String table, String numberofpeople) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://link.to.server.com/saveReservation.php");
try {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
nameValuePairs.add(new BasicNameValuePair("Name", name));
nameValuePairs.add(new BasicNameValuePair("Email", email));
nameValuePairs.add(new BasicNameValuePair("Phone", phone));
nameValuePairs.add(new BasicNameValuePair("Comment", comment));
nameValuePairs.add(new BasicNameValuePair("Date", date));
nameValuePairs.add(new BasicNameValuePair("Table", table));
nameValuePairs.add(new BasicNameValuePair("numberOfPeople", numberofpeople));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
}
catch(Exception e)
{
Log.e("log_tag", "Error: "+e.toString());
}
}
@Override
protected Boolean doInBackground(Void... params) {
postData(Name, Email, Phone, Comment, DateTime, Time, Table );
return null;
}
}
}
目前我得到的錯誤是
類型Reservation必須實現繼承的抽象方法View.OnClickListener.onClick(View)Update:
以及如何在一兩行中在數據庫中保存日期和時間? 如果是一行如何在android端做到這一點?
UDPATE2:現在如何實現btnCalendar, btnTimePicker
我讓他們在reservation.xml
,他們是在形式上。 我必須在此代碼中實現日期和時間選擇器嗎?
您的類實現了onClick偵聽器,但是您缺少該方法。
刪除implement
語句或重寫方法
您的logcat問題在這里:
public class Reservation extends Activity implements OnClickListener
要實現OnClickListener
,然后你正在實施一個匿名onClickListener
在btnMenues
。 刪除您的implements OnClickListener
,錯誤將消失。
您implements OnClickListener
但是您並沒有過度使用onclicklistener界面的onClick(View view)
方法。 因此,請先覆蓋方法, click listener
從oncreate
方法中刪除click listener
oncreate
。
有關更多信息,請參見以下鏈接:-
我認為問題是
public class Reservation extends Activity implements OnClickListener
只是刪除
implements OnClickListener
你不需要這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.