无法在移动设备上登录但能够通过模拟器登录

时间:2015-09-28 10:14:48

标签: android

我创建了一个登录页面。我可以使用模拟器登录,但是当我尝试使用移动设备时,它不会发生。 我使用Java实现了服务器代码。当用户详细信息正确时,成功字符串是输出。当用户详细信息错误时,失败消息。

服务器代码:

 if(Validate.checkUser(email, pass))
 {
    // RequestDispatcher rs = request.getRequestDispatcher("Welcome");
    // rs.forward(request, response);
       msg = "success";
       System.out.println(msg);
 }
 else
 {
       System.out.println("ELSE");
       System.out.println("Username or Password incorrect");
       /* RequestDispatcher rs = request.getRequestDispatcher("html/index.html");
          rs.include(request, response);*/

       msg="failed";
 }
 out.write(msg);
        }  

Android app code:

extends Activity {
        Button b;
        EditText et,pass;
        TextView tv;
        HttpPost httppost;
        StringBuffer buffer;
        HttpResponse response;
        HttpClient httpclient;
        List<NameValuePair> nameValuePairs;
        ProgressDialog dialog = null;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            b = (Button)findViewById(R.id.Button01);  
            et = (EditText)findViewById(R.id.username);
            pass= (EditText)findViewById(R.id.password);
            tv = (TextView)findViewById(R.id.tv);

            b.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog = ProgressDialog.show(MainActivity.this, "", 
                            "Validating user...", true);
                     new Thread(new Runnable() {
                            public void run() {
                                login();                          
                            }
                          }).start();               
                }
            });
        }

        void login(){
            try{            

                httpclient=new DefaultHttpClient();
                String url="http://192.168.31.1:8080/ActCFWeb/login";
                httppost= new HttpPost(url); 

                nameValuePairs = new ArrayList<NameValuePair>(2);

                nameValuePairs.add(new BasicNameValuePair("email",et.getText().toString().trim()));  // $Edittext_value = $_POST['Edittext_value'];
                nameValuePairs.add(new BasicNameValuePair("pass",pass.getText().toString().trim()));

                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));


                System.out.println(response);

                ResponseHandler<String> responseHandler = new BasicResponseHandler();
                final String response = httpclient.execute(httppost, responseHandler);
                System.out.println("Response : " + response); 
                runOnUiThread(new Runnable() {
                    public void run() {
                        tv.setText("Response from server: " + response);
                        dialog.dismiss();
                    }
                });
                JSONObject myjson = new JSONObject(response);
                System.out.println(myjson.getString("success"));
                if(response.contains("success"))
                {
                    runOnUiThread(new Runnable() {
                        public void run() {
                            Toast.makeText(MainActivity.this,"Login Success", Toast.LENGTH_SHORT).show();
                        }
                    });

                    startActivity(new Intent(MainActivity.this, Hello.class));
                }else{
                    showAlert();                
                }

            }catch(Exception e){
                dialog.dismiss();
                System.out.println("Exception : " + e.getMessage());
            }
        }
        public void showAlert(){
            MainActivity.this.runOnUiThread(new Runnable() {
                public void run() {
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setTitle("Login Error.");
                    builder.setMessage("User not Found.")  
                           .setCancelable(false)
                           .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                               public void onClick(DialogInterface dialog, int id) {
                               }
                           });                     
                    AlertDialog alert = builder.create();
                    alert.show();               
                }
            });
        }
    }

0 个答案:

没有答案
相关问题