首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android中的登录界面出错

android中的登录界面出错
EN

Stack Overflow用户
提问于 2014-09-06 09:07:00
回答 2查看 75关注 0票数 0

我试图在android中创建一个简单的登录界面,但是当我试图运行时,连接错误已经发生了。我不知道,为什么会这样?

这是我的代码:

代码语言:javascript
运行
复制
public class MainActivity extends Activity{

    String username,password;

    HttpClient httpclient;
    HttpPost httppost;
    HttpResponse response;
    HttpEntity httpentity;
    ArrayList<NameValuePair> namevaluepairs;


    EditText etUser,etPass;
    Button bLogin;

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

        etUser=(EditText) findViewById(R.id.etUser);
        etPass=(EditText) findViewById(R.id.etPass);

        bLogin=(Button) findViewById(R.id.bSubmit);
        bLogin.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                httpclient=new DefaultHttpClient();
                httppost=new HttpPost("http://192.168.1.107/php_project/checking.php");

                username=etUser.getText().toString();
                password=etPass.getText().toString();

                try {

                    namevaluepairs=new ArrayList<NameValuePair>();

                    namevaluepairs.add(new BasicNameValuePair(username, username));
                    namevaluepairs.add(new BasicNameValuePair("password", password));

                    httppost.setEntity(new UrlEncodedFormEntity(namevaluepairs));
                    response=httpclient.execute(httppost);
                    if(response.getStatusLine().getStatusCode()==200){

                        httpentity=response.getEntity();

                        if(httpentity!=null){
                            InputStream inputstream=httpentity.getContent();

                            JSONObject jsonResponse=new JSONObject(convertStreamToString(inputstream));

                            String retUser=jsonResponse.getString("user");
                            String retPass=jsonResponse.getString("pass");

                            if(username.equals(retUser) && password.equals(retPass)){
                                SharedPreferences sp=getSharedPreferences("logindetails", 0);
                                SharedPreferences.Editor spedit=sp.edit();

                                spedit.putString("user", username);
                                spedit.putString("pass", password);

                                spedit.commit();

                                Toast.makeText(getApplicationContext(), "SUCCESS !", Toast.LENGTH_LONG).show();
                            }else{
                                Toast.makeText(getApplicationContext(), "Inavalid Login details", Toast.LENGTH_LONG).show();
                            }
                        }

                    }
                } catch (Exception e) {
                    e.printStackTrace();

                    Toast.makeText(getApplicationContext(), "Connection error", Toast.LENGTH_LONG).show();
                }                   
            }
        });


    }

    private static String convertStreamToString(InputStream is){

        BufferedReader reader=new BufferedReader(new InputStreamReader(is));
        StringBuilder sb=new StringBuilder();

        String line=null;

        try {
            while((line=reader.readLine())!=null){
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                is.close();
            } catch (IOException e2) {
                e2.printStackTrace();
            }
        }
        return sb.toString();


    }
}

有人能帮我解决这个问题吗。当我在模拟器中运行它时,它会给我一个Toast消息,即“连接错误”.

我就是不明白,为什么我不能让它成为一种无稽之谈.?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-06 09:11:34

在问这样的问题时,请添加一些逻辑的内容。

看看IP,我猜您想使用10.0.2.2。

在这里阅读更多信息:http://developer.android.com/tools/devices/emulator.html#emulatornetworking

票数 0
EN

Stack Overflow用户

发布于 2014-09-06 09:10:40

代码语言:javascript
运行
复制
 Check whether you have given Network Connection permission in manifest.

 <uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25698645

复制
相关文章

相似问题

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