【问题标题】:android app unfortunately stopped ( database connection )android 应用程序不幸停止(数据库连接)
【发布时间】:2015-07-15 04:17:11
【问题描述】:

我正在尝试开发单个 login registeration 页面。在学习了几个教程之后,我终于找到了 API 22 的唯一教程,因为其他教程中使用的 http post 方法已被弃用。

<<<---Tutorial--->>>

我没有遵循整个教程,因为我一直在尝试将数据存储到数据库中。我的应用程序运行完美,但在注册过程中,它说我的应用程序“不幸停止了”。我是android新手,所以请礼貌。下面是我的signup.javabackgroundtask.java 文件。

我在 000webhost 托管了一个免费的 sql 数据库

public class Signup extends Activity{

    Button signupbutt;
    EditText name , username , userpass , dob , email ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.signup);

        name = (EditText) findViewById(R.id.editname);
        username = (EditText) findViewById(R.id.edituser);
        userpass = (EditText) findViewById(R.id.editpass);
        dob = (EditText) findViewById(R.id.editdob);
        email = (EditText) findViewById(R.id.editemail);

        signupbutt = (Button) findViewById(R.id.signupbuttonn);
        signupbutt.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                userreg(v);
            }
        });
    }

    public void userreg(View view)
    {
        String etname = name.getText().toString();
        String etusername = username.getText().toString();
        String etuserpass = userpass.getText().toString();
        String etemail = email.getText().toString();
        String etdob = dob.getText().toString();
        String method = "Register";
        Backgroundtask backgroundtask = new Backgroundtask(this);
        backgroundtask.execute(method,etname,etusername,etuserpass,etemail,etdob);


    }


}

这是我的 backgroundtask.java

public class Backgroundtask extends AsyncTask<String,Void,Void>{
Context ctx;

Backgroundtask(Context ctx)
{
    this.ctx = ctx;

}

@Override
protected void onPreExecute() {
    // TODO Auto-generated method stub
    super.onPreExecute();
}


@Override
protected Void doInBackground(String... params) {
    // TODO Auto-generated method stub

    String reg_url = "http://8miles.freeiz.com/Register.php";

    String method = params[0];

    String name = params[1];
    String username = params[2];
    String password = params[3];
    String email = params[4];
    String dob = params[5];


    try {
        URL url = new URL(reg_url);

        HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
        httpURLConnection.setRequestMethod("POST");
        httpURLConnection.setDoOutput(true);
        OutputStream os = httpURLConnection.getOutputStream();
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
        String data = URLEncoder.encode("name","UTF-8") + "="+URLEncoder.encode("name","UTF-8")+"&"+
                 URLEncoder.encode("username","UTF-8") + "="+URLEncoder.encode("username","UTF-8")+"&"+
                URLEncoder.encode("password","UTF-8") + "="+URLEncoder.encode("password","UTF-8")+"&"+
                URLEncoder.encode("email","UTF-8") + "="+URLEncoder.encode("email","UTF-8")+"&"+
                URLEncoder.encode("dob","UTF-8") + "="+URLEncoder.encode("dob","UTF-8");
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return null;
}

@Override
protected void onProgressUpdate(Void... values) {
    // TODO Auto-generated method stub
    super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Void result) {
    // TODO Auto-generated method stub
    super.onPostExecute(result);
}
}

【问题讨论】:

  • 发布您的logCat?
  • 你只是在创建输出流,然后声明数据——但你从来没有发送任何东西。哪一行触发了错误?请从 logcat 发布完整的堆栈跟踪。
  • 会发布错误 logcat 吗??
  • @alfasin 谢谢你是对的,我没有发送数据,也没有这样做 bufferedWriter.write(data); bufferedWriter.flush(); bufferedWriter.close(); os.close();
  • @calvinfly 谢谢它的工作不是我也没有在 androidmanifest.xml 中请求互联网许可

标签: java android mysql database database-connection


【解决方案1】:

谢谢大家,我没有发送数据 缓冲的作家。写(数据) 也不像这样关闭和刷新缓冲数据 缓冲的作家。冲洗 缓冲的作家。关闭 os.close 我也没有在 androidmanifest.xml 中请求互联网许可

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    相关资源
    最近更新 更多