android登录app与php和mysql无法正常工作

时间:2013-03-19 15:18:36

标签: php android mysql

我正在尝试使用php和mysql构建一个Android登录应用程序。 我正在使用下面的代码。当我运行应用程序时,我总是在屏幕上看到“连接错误”消息。我该怎么做才能使try块中的代码正常工作?

public void onClick(View v)
        {
            httpclient = new DefaultHttpClient()    ;
            httppost=new HttpPost("Http://10.0.2.2/www/login.php"); 
            //assign input text to string 
            String username=etUser.getText().toString();
            String password=etPass.getText().toString();

            try{


                nameValuePairs.add(new BasicNameValuePair("username",username))   ; 
                nameValuePairs.add(new BasicNameValuePair("password",password))    ;
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                response=httpclient.execute(httppost);


                    entity=response.getEntity();
                    if (entity!=null){


                        InputStream instream=entity.getContent();
                        JSONObject jsonResponse=new JSONObject(convertStreamToString(instream));
                        String retUser=jsonResponse.getString("user");
                        String  retPass=jsonResponse.getString("pass");
                        if(username.equals(retUser)&&password.equals(retPass)){

                            SharedPreferences sp= getSharedPreferences("login details",0);
                            SharedPreferences.Editor spedit =sp.edit();
                            spedit.putString("user",username);
                            spedit.putString("pass",password);
                            spedit.commit();                        
                            Toast.makeText(getBaseContext(),"success !",Toast.LENGTH_SHORT).show();

                    }else{
                           Toast.makeText(getBaseContext(),"Invalid Lodin details",Toast.LENGTH_SHORT).show();
                    }   

                }

            }catch(Exception e){


        e.printStackTrace();
        Toast.makeText(getBaseContext(),"connection error",Toast.LENGTH_SHORT).show();

            }








        }




    });




    }

1 个答案:

答案 0 :(得分:0)

首先,如果最后一个问题被关闭,则无需创建相同的问题。

没有用于实际崩溃的logcat。您的代码中有一个大错误,您似乎在UI线程上进行网络操作。除非您更改策略,否则某些Android版本会立即崩溃,如果操作需要很长时间,则其他版本可能会崩溃。 您应该查看AsyncTask或其他线程。