بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ارسال اطلاعات از اندروید به پایگاه دادهmysql(فوری)
سلام
من میخام از اندروید یه سری اطلاعات بگیرم و در پایگاه داده sqlاون ها رو ذخیره کنم. اما این داد ه ها در پایگاه داده ذخیره نمیشه. ممنون میشم اگه راهنمایی کنید.قبلا دریافت اطلاعات از پایگاه داده و نمایش در اندروید رو انجام دادم و نتیجه درستی گرفتم و اتصالات برقرار هست.
دو اکتیویتی دارم اکتیویتی اول برای یه سری اتصالات و ..هست و اکتیویتی دوم برای دریافت اطلاعات از کاربر
index.php:
<?php
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
}else{
echo "Error";
exit();
}
if ($action=="read"){
read();
}else if ($action == "insert"){
insert();
}
function connection(){
$con = mysqli_connect("localhost","root","","teldb");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_set_charset($con,"UTF8");
return $con;
}
function read(){
$con = connection();
$result = mysqli_query($con,"select * from teldata");
$output = array();
$fetch_data = array();
while ($row = mysqli_fetch_array($result)){
$fetch_data['person_id'] = $row['person_id'];
$fetch_data['person_name'] = $row['person_name'];
$fetch_data['person_family'] = $row['person_family'];
$fetch_data['person_tel'] =$row['person_tel'];
$fetch_data['address'] = $row['address'];
$output[] = $fetch_data;
}
echo json_encode($output);
mysqli_close($con);
}
function insert(){
$name = $_REQUEST['person_name'];
$family = $_REQUEST['person_family'];
$tel = $_REQUEST['person_tel'];
$address = $_REQUEST['address'];
if (!empty($name) && !empty($family) && !empty($tel) && !empty($address)){
$con = connection();
$result = mysqli_query($con,"insert into teldata values (0,'$name','$family','$tel','$address')");
mysqli_close ($con) ;
}
?>
main activity:
public class MainActivity extends Activity {
private TextView txtShow;
private String result;
String StreamToString(InputStream in){
BufferedReader r = new BufferedReader(new InputStreamReader(in));
StringBuilder total = new StringBuilder();
String line;
try {
while ((line = r.readLine()) != null) {
total.append(line);
}
return total.toString();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
public String getData() {
final StringBuilder sb = new StringBuilder();
try {
JSONArray array = new JSONArray(result);
for (int i = 0 ; i < array.length() ; i++){
JSONObject object = array.getJSONObject(i);
sb.append(object.getLong("person_id"));
sb.append(object.getString("person_name"));
sb.append(object.getString("person_family"));
sb.append(object.getString("person_tel"));
sb.append(object.getString("address"));
}
return sb.toString();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtShow= (TextView) findViewById(R.id.txt);
new Thread(new Runnable() {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://172.17.179.73/TelBook/");
@Override
public void run() {// your codes
try {
HttpResponse response = client.execute(post);
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
result = StreamToString(response.getEntity().getContent());
//txtShow.setText(result);
// txtShow.setText(getData());
Log.d("GetText", result);
Intent i = new Intent(MainActivity.this, form.class);
Log.v("dont enter to form", "hello");
startActivity(i);
}
Log.i("status Code", code + "");
}
/*catch (ClientProtocolException e) {
// TODO Auto-generated catch block
Log.v("s2222", "c1");
e.printStackTrace();
}
*/ catch (IOException e) {
Log.v("s2222", "c2");
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
}
activity form:
public class form extends ActionBarActivity {
private TextView tName,tFamily,tTel,tAdr;
private Button btnSendData;
private ArrayList<NameValuePair> myList=new ArrayList<NameValuePair>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_form);
btnSendData= (Button) findViewById(R.id.btnSend);
tName= (TextView) findViewById(R.id.etName);
tFamily= (TextView) findViewById(R.id.etFamily);
tTel= (TextView) findViewById(R.id.etTel);
tAdr= (TextView) findViewById(R.id.etAdr);
Log.v("enter to form", "hello");
btnSendData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.v("sendData:","start send");
NameValuePair name = new BasicNameValuePair("person_name", tName.getText().toString());
NameValuePair family = new BasicNameValuePair("person_family", tFamily.getText().toString());
NameValuePair tel = new BasicNameValuePair("person_tel", tTel.getText().toString());
NameValuePair address = new BasicNameValuePair("address", tAdr.getText().toString());
myList.add(name);
Log.v("sendData:", myList.toString());
myList.add(family);
Log.v("sendData:", myList.toString());
myList.add(tel);
Log.v("sendData:", myList.toString());
myList.add(address);
Log.v("sendData:", myList.toString());
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://172.17.179.73/TelBook/?action=insert");
try {
//item = ArrayList<NameValuePair>
post.setEntity(new UrlEncodedFormEntity(myList));
Log.v("value of post", post.toString());
Log.v(" enter to try:", "hello try");
} catch (UnsupportedEncodingException e) {
Log.v(" enter to catch:","hello catch");
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .