Android asynctask和android.content.ContextWrapper.getPackageName(ContextWrapper.java:127)

时间:2015-02-03 13:56:58

标签: android android-asynctask

我的Android应用程序有问题,我使用AsyncTask连接在线bbdd。这是我的indobackground

 protected ResultSet doInBackground(String...params) {
    boolean login = false;
    String input = params[1];   
    try{
        Connection conn;
        Class.forName("com.mysql.jdbc.Driver").newInstance();

        conn =  DriverManager.getConnection(ipServidorMySQL, usuarioMySQL, contrasenaMySQL);

        rs = (ResultSet) stmt.executeQuery();*/
        PreparedStatement stmt = (PreparedStatement) conn.prepareStatement(input);

        ResultSet rs = stmt.executeQuery();

        return rs;

    }
    catch (Exception e){
        return null;
    }

}

这是onPostExecute

 protected void onPostExecute(ResultSet rs){


    MainActivity.rs=rs;
    if(pd != null)
        pd.dismiss();
    MainActivity m= new MainActivity();
    m.useRS(rs);


}

但在我的使用RS中,我尝试启动活动,我有这个错误 android.content.ContextWrapper.getPackageName(ContextWrapper.java:127)

这是我的用户功能

 public void useRS(ResultSet r){
    rs = r;
    try {
       if(rs!=null && rs.next()==true){
           Log.i("Nombre", r.getString("apellidos"));

          Intent i = new Intent(c, Reservas.class);
           i.putExtra("nombre", r.getString("nombre"));
           i.putExtra("apellidos", r.getString("apellidos"));
           startActivity(i);
           tv3.setText(r.getString("apellidos"));

       }
       else {
           Log.i("SIn log", "sin log");
           Toast toast = Toast.makeText(c, "Usuario o contraseña incorrectos", Toast.LENGTH_SHORT);
           toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
           toast.show(); 
       }
    } catch (SQLException e) {
         // TODO Auto-generated catch block
        e.printStackTrace();
    }
 } 

我的主要活动中的用户  c是主要活动的背景

   private Context c = this;

所有作品都是mi,因为我把Intent用于开始活动,每个数据都很好......任何人都可以帮助我???

Ty并抱歉我的英语

1 个答案:

答案 0 :(得分:0)

我找到答案,将上下文传递给asynctask by参数,然后将相同的上下文返回给users函数。

^^