为什么我的代码没有与给定的网址

时间:2016-01-12 07:01:46

标签: android httpurlconnection

public class MainActivity extends Activity {

String  myUrl="http://www.google.com.bd/";

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

    String result;
    try {
        result = doHttpUrlConnectionAction(myUrl);
        Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Toast.makeText(getApplicationContext(), "in exception", Toast.LENGTH_LONG).show();
    }


}


private String doHttpUrlConnectionAction(String desiredUrl) throws Exception {
    // TODO Auto-generated method stub
    URL url=null;
    String result;
    try {
        url=new URL(desiredUrl);
        HttpURLConnection connection=(HttpURLConnection)    url.openConnection();
        connection.setRequestMethod("GET");

        connection.setReadTimeout(15*1000);
        connection.connect();
        result="connected";

    } catch (Exception e) {
        // TODO: handle exception
        result="disconnected";
    }
    return result;
}

}

我认为此代码将与给定的网址连接,但此代码始终显示断开连接消息。我在ACCESS_NETWORKS_STATE中使用AndroidManifest.xml和INTERNET权限。请帮我。我想在我的大学项目中使用这段代码。

2 个答案:

答案 0 :(得分:0)

这个问题被问到多个没有。之前的时间也是

但是将它添加到你的androidmanifest.xml

<uses-permission android:name="android.permission.INTERNET" />

并使用AsyncTask()类进行网络操作。如果你想在主线程上做操作,请在操作前使用这行代码

if (android.os.Build.VERSION.SDK_INT > 9) {
    StrictMode.ThreadPolicy policy = 
        new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
}

答案 1 :(得分:0)

使用Async任务与http连接进行交互。