Android登录屏幕变为空白

Android登录屏幕变为空白,android,performance,android-emulator,Android,Performance,Android Emulator,我面临以下代码的严重问题,并将感谢任何形式的帮助 public class WebHandler { private String username; private String password; private boolean errorOccured; private String errorMessage; private String server; public WebHandler(String server) { this.server = server; S

我面临以下代码的严重问题,并将感谢任何形式的帮助

public class WebHandler
{
private String username;
private String password;
private boolean errorOccured;
private String errorMessage;
private String server;

public WebHandler(String server)
{
    this.server = server;
    StrictMode.ThreadPolicy policy = new   
            StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
}

public void setUsername(String username)
{
    this.username = username;
}

public void setPassword(String password)
{
    this.password = password;
}

public String getInternetData(String url)
{
    BufferedReader bufferedReader = null;
    String data = null;

    try
    {
        HttpClient client = new DefaultHttpClient();
        URI website = new URI("http://google.com"); 
        HttpGet request = new HttpGet();
        request.setURI(website);
        HttpResponse response = client.execute(request);
        bufferedReader = new BufferedReader(new    
                    InputStreamReader(response.getEntity().getContent()));

        StringBuffer stringBuffer = new StringBuffer("");

        String line;

        while ((line = bufferedReader.readLine()) != null)
        {
            stringBuffer.append(line);
            Log.e("PLW", line);
        }

        bufferedReader.close();
        data = stringBuffer.toString();
    } 
    catch(Exception e)
    {
        this.errorOccured = true;
        this.errorMessage = e.getMessage();
    }

    return data;

}

public String Post(List<NameValuePair> nameValuePair, String url)
{
    String result = null;

    HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("http://www.google.com/");

    nameValuePair.add(new BasicNameValuePair("usernmae", this.username));
    nameValuePair.add(new BasicNameValuePair("password", this.password));

    Log.e("PLW_0", "called post..." );

    try
    {
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
        HttpResponse response = httpClient.execute(httpPost);
        result = response.toString();
        Log.e("PLW_1", "response:" + result);
    } 
    catch (Exception e)
    {
        // writing exception to log
        Log.e("PLW_2", "Error:", e);
        Log.e("PLW_3", "error:" + e.getMessage());
    }
    return result;
}

public boolean hasError()
{
    return this.errorOccured;
}

public String getError()
{
    return this.errorMessage;
}
}
公共类WebHandler
{
私有字符串用户名;
私有字符串密码;
发生私有布尔错误;
私有字符串错误消息;
私有字符串服务器;
公共WebHandler(字符串服务器)
{
this.server=server;
StrictMode.ThreadPolicy策略=新建
StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(策略);
}
public void setUsername(字符串用户名)
{
this.username=用户名;
}
public void setPassword(字符串密码)
{
this.password=密码;
}
公共字符串getInternetData(字符串url)
{
BufferedReader BufferedReader=null;
字符串数据=null;
尝试
{
HttpClient=new DefaultHttpClient();
URI网站=新的URI(“http://google.com"); 
HttpGet请求=新建HttpGet();
setURI(网站);
HttpResponse response=client.execute(请求);
bufferedReader=新的bufferedReader(新的
InputStreamReader(response.getEntity().getContent());
StringBuffer StringBuffer=新的StringBuffer(“”);
弦线;
而((line=bufferedReader.readLine())!=null)
{
stringBuffer.append(行);
日志e(“PLW”,行);
}
bufferedReader.close();
data=stringBuffer.toString();
} 
捕获(例外e)
{
this.erroroccurrend=true;
this.errorMessage=e.getMessage();
}
返回数据;
}
公共字符串Post(列表名称值对,字符串url)
{
字符串结果=null;
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://www.google.com/");
添加(新的BasicNameValuePair(“usernmae”,this.username));
添加(新的BasicNameValuePair(“密码”,this.password));
Log.e(“PLW_0”,“被叫邮政…”);
尝试
{
setEntity(新的UrlEncodedFormEntity(nameValuePair));
HttpResponse response=httpClient.execute(httpPost);
结果=response.toString();
Log.e(“PLW_1”,“响应:+结果”);
} 
捕获(例外e)
{
//将异常写入日志
Log.e(“PLW_2”,“错误:”,e);
Log.e(“PLW_3”,“错误:+e.getMessage());
}
返回结果;
}
公共布尔hasError()
{
返回此错误。发生错误;
}
公共字符串getError()
{
返回此.error消息;
}
}

您是否尝试在其他线程中运行代码? 避免使用连接或耗时任务阻塞主线程

更新:

异步任务示例:


  • 你能描述一下你面临的“严重问题”吗?你有例外吗?加载时间是否太长?是的,这就是我最初所做的。不幸的是,我的屏幕刚刚消失,所以我用谷歌搜索了一下,发现Android默认情况下没有启用INTERNET访问,所以我不得不使用下面的代码,这给我带来了一组新的错误消息:StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(策略);在注释掉StrictMode语句并再次运行代码后,我得到一个异常,该异常由以下行引发http://www.google.com/");在我的登录类
    WebHandler=newwebhandler(“192.x.x.x”)中由该语句调用;List nameValuePairs=新的ArrayList();字符串结果=handler.Post(nameValuePairs,“test.txt”)。其中test.txt只是一个包含Hello World的文件。请问我到底做错了什么?有什么例外?操作系统版本的测试?您是否尝试将连接置于AsyncTask中?例子:1。2.没有。我会尝试一下并给你反馈。谢谢!这很有帮助,疯了。非常感谢:)