首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用MYSQL服务器使用textView插入数据。

无法使用MYSQL服务器使用textView插入数据。
EN

Stack Overflow用户
提问于 2012-12-15 19:29:13
回答 1查看 346关注 0票数 0

帮帮我..。这是下面代码中JSON的问题。无法解析到php文件..android应用程序链接到phpmyadmin@MySQL服务器...使用php文件。这将使用TextView发送数据。数据正在从其他页面传递。并将其放在下面的文本视图中。但是当数据想要发送的时候。JSON不起作用,我创建的应用程序是停止并检测到故障的应用程序。我的php文件没有问题,但在这段代码中,我不知道是什么问题。我想它没有达到试穿功能..我只需要帮助插入数据从这个应用程序到mysql服务器使用php文件。

代码语言:javascript
复制
         @Override
         protected void onPreExecute() {
             super.onPreExecute();
            pDialog = new ProgressDialog(MainActivity3.this);
            pDialog.setMessage("Sending Aduan....");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
         }

         protected String doInBackground(String... args) {


             String nama = txtView1.getText().toString();
             String alamat = txtView2.getText().toString();
             String no_ic = txtView3.getText().toString();
             String mobile = txtView4.getText().toString();
             String telefon = txtView5.getText().toString();
             String email = txtView6.getText().toString();
             String kenyataan = txtView7.getText().toString();
             String pelaksana = txtView8.getText().toString();
             String lokasi = txtView9.getText().toString();
             String daerah = txtView10.getText().toString();    

             List<NameValuePair> params = new ArrayList<NameValuePair>();
             params.add(new BasicNameValuePair("nama", nama));
             params.add(new BasicNameValuePair("alamat", alamat));
             params.add(new BasicNameValuePair("no_ic", no_ic));
             params.add(new BasicNameValuePair("mobile", mobile));
             params.add(new BasicNameValuePair("telefon", telefon));
             params.add(new BasicNameValuePair("email", email));
             params.add(new BasicNameValuePair("kenyataan", kenyataan));
             params.add(new BasicNameValuePair("pelaksana", pelaksana));
             params.add(new BasicNameValuePair("daerah", daerah));
             params.add(new BasicNameValuePair("lokasi", lokasi));



             JSONObject json = jsonParser.makeHttpRequest(url_create_aduan,"POST", params);

             Log.e("Create Response", json.toString());

             try {
                 int success = json.getInt(TAG_SUCCESS);

                 if (success == 1) {

                   Intent i = new Intent(getApplicationContext(),Rujukan.class);
                 startActivity(i);
                 finish();
                } else {
                }
                } catch (JSONException e) {
                        e.printStackTrace();
                    }
             return null;
         }


         protected void onPostExecute(String file_url) {

             pDialog.dismiss();
         }
     }
EN

回答 1

Stack Overflow用户

发布于 2012-12-15 19:39:59

问题:

您正在尝试从AsyncTaskdoInBackground方法执行与UI相关的任务。

解决方案:

因为不可能从UI线程访问UI元素,所以将所有项从doInBackground移动到onPreExecuteonPostExecute,如下所示:

代码语言:javascript
复制
String nama,alamat,no_ic,mobile,telefon;
String email,kenyataan,pelaksana,lokasi,daerah;

 @Override
         protected void onPreExecute() {
             super.onPreExecute();

              nama = txtView1.getText().toString();
              alamat = txtView2.getText().toString();
              no_ic = txtView3.getText().toString();
              mobile = txtView4.getText().toString();
              telefon = txtView5.getText().toString();
              email = txtView6.getText().toString();
              kenyataan = txtView7.getText().toString();
              pelaksana = txtView8.getText().toString();
              lokasi = txtView9.getText().toString();
              daerah = txtView10.getText().toString();  

            pDialog = new ProgressDialog(MainActivity3.this);
            pDialog.setMessage("Sending Aduan....");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
         }

         protected String doInBackground(String... args) {


             List<NameValuePair> params = new ArrayList<NameValuePair>();
             params.add(new BasicNameValuePair("nama", nama));
             params.add(new BasicNameValuePair("alamat", alamat));
             params.add(new BasicNameValuePair("no_ic", no_ic));
             params.add(new BasicNameValuePair("mobile", mobile));
             params.add(new BasicNameValuePair("telefon", telefon));
             params.add(new BasicNameValuePair("email", email));
             params.add(new BasicNameValuePair("kenyataan", kenyataan));
             params.add(new BasicNameValuePair("pelaksana", pelaksana));
             params.add(new BasicNameValuePair("daerah", daerah));
             params.add(new BasicNameValuePair("lokasi", lokasi));


             int success=0;
             JSONObject json = jsonParser.
               makeHttpRequest(url_create_aduan,"POST", params);

             Log.e("Create Response", json.toString());

             try {
                  success = json.getInt(TAG_SUCCESS);

                } catch (JSONException e) {
                  e.printStackTrace();
                  success=0;
                  }
             return ""+success;
         }


         protected void onPostExecute(String result) {

                pDialog.dismiss();
                if (Integer.parseInt(result) == 1) {

                   Intent i = new Intent(
                   Current_Activity.this,Rujukan.class);
                 startActivity(i);
                 finish();
                } else {
                   //your task here
                }
         }
     }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13891775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档