Java对网站进行html调用

Java对网站进行html调用,java,android,html,get,runtime-error,Java,Android,Html,Get,Runtime Error,我有一个android应用程序,需要向网页发出get请求。 我的代码编译和运行没有任何问题,但尽快我想让我的程序停止响应那个调用 这是我的密码 public void Check_Login() { HttpURLConnection connection = null; try { String link = "http://mobirep.co.za/server_scripts/check_login/check_login.php?username=and

我有一个android应用程序,需要向网页发出get请求。 我的代码编译和运行没有任何问题,但尽快我想让我的程序停止响应那个调用

这是我的密码

public void Check_Login()
{
    HttpURLConnection connection = null;
    try {
        String link = "http://mobirep.co.za/server_scripts/check_login/check_login.php?username=andre&password=aaa";
        URL url = new URL(link);
        connection = (HttpURLConnection) url.openConnection();
        connection.connect();
        InputStream is = connection.getInputStream();
        int buffer;
        while((buffer = is.read()) != -1)
        {
           System.out.print(buffer);
            TextView tx = (TextView)findViewById(R.id.lblName);
            tx.setText(buffer);
        }

    } catch (MalformedURLException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    } finally {
        if(null != connection) { connection.disconnect(); }
    }
这是我的日志:

05-13 08:13:59.607: I/Choreographer(891): Skipped 115 frames!  The application may be doing too much work on its main thread.
05-13 08:13:59.627: D/gralloc_goldfish(891): Emulator without GPU emulation detected.
05-13 08:14:00.048: I/Choreographer(891): Skipped 50 frames!  The application may be doing too much work on its main thread.
05-13 08:14:15.078: D/AndroidRuntime(891): Shutting down VM
05-13 08:14:15.078: W/dalvikvm(891): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
05-13 08:14:15.138: E/AndroidRuntime(891): FATAL EXCEPTION: main
05-13 08:14:15.138: E/AndroidRuntime(891): android.os.NetworkOnMainThreadException
05-13 08:14:15.138: E/AndroidRuntime(891):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
05-13 08:14:15.138: E/AndroidRuntime(891):  at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
05-13 08:14:15.138: E/AndroidRuntime(891):  at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
05-13 08:14:15.138: E/AndroidRuntime(891):  at java.net.InetAddress.getAllByName(InetAddress.java:214)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
05-13 08:14:15.138: E/AndroidRuntime(891):  at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
05-13 08:14:15.138: E/AndroidRuntime(891):  at com.appmobirep.MainActivity.Check_Login(MainActivity.java:70)
05-13 08:14:15.138: E/AndroidRuntime(891):  at com.appmobirep.MainActivity$1.onClick(MainActivity.java:35)
05-13 08:14:15.138: E/AndroidRuntime(891):  at android.view.View.performClick(View.java:4204)
05-13 08:14:15.138: E/AndroidRuntime(891):  at android.view.View$PerformClick.run(View.java:17355)
05-13 08:14:15.138: E/AndroidRuntime(891):  at android.os.Handler.handleCallback(Handler.java:725)
05-13 08:14:15.138: E/AndroidRuntime(891):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-13 08:14:15.138: E/AndroidRuntime(891):  at android.os.Looper.loop(Looper.java:137)
05-13 08:14:15.138: E/AndroidRuntime(891):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-13 08:14:15.138: E/AndroidRuntime(891):  at java.lang.reflect.Method.invokeNative(Native Method)
05-13 08:14:15.138: E/AndroidRuntime(891):  at java.lang.reflect.Method.invoke(Method.java:511)
05-13 08:14:15.138: E/AndroidRuntime(891):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-13 08:14:15.138: E/AndroidRuntime(891):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-13 08:14:15.138: E/AndroidRuntime(891):  at dalvik.system.NativeStart.main(Native Method)
05-13 08:19:15.257: I/Process(891): Sending signal. PID: 891 SIG: 9

您能帮我解决这个错误吗=

这行详细介绍了问题:

05-13 08:14:15.138: E/AndroidRuntime(891): android.os.NetworkOnMainThreadException
主线程上的网络异常。这意味着,您不能在UI线程中进行任何网络调用,因为如果这样做,UI将停止更新


您必须做的是使用某种类型的线程方法。Android中常见的一个是AsyncTask:

你需要在另一个线程中调用网络访问函数,而不是在主线程中,你可以编写一个AsyncTask来调用api或与网络相关的任务。我对java非常陌生,对线程知之甚少。你介意帮我一下吗,因为我不知道该做什么。我给了你一个链接。该链接指向AsyncTask的官方文档,Google自己对此做了很好的解释,并展示了一个很好的示例,说明了如何使用它。