尝试使用asynctask启动网址 - android

时间:2016-11-02 10:10:24

标签: java android android-asynctask

我正在尝试使用asynctask在android中启动一个url,代码显示没有错误但是当我启动应用程序而不是url显示时,它会向屏幕显示“hello world”。以下是我的尝试:

//Starting the task. Pass an url as the parameter.
        new PostTask().execute("http://www.google.com");

        setContentView(R.layout.activity_main);
    }
    // The definition of our task class
    private class PostTask extends AsyncTask<String, Integer, String> {
    @Override
    protected void onPreExecute() {
       super.onPreExecute();

    }

    @Override
    protected String doInBackground(String... params) {
       String url=params[0];
       for (int i = 0; i <= 100; i += 5) {
         try {
           Thread.sleep(50);
         } catch (InterruptedException e) {
           e.printStackTrace();
         }
          publishProgress(i);
       }
       return "All Done!";
    }

    @Override
    protected void onProgressUpdate(Integer... values) {
       super.onProgressUpdate(values);

    }

    @Override
    protected void onPostExecute(String result) {
       super.onPostExecute(result);

    }
    }

EDITTED: 这是我的activity_main.xml代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.project.unityapp.MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

我的应用程序没有在启动时打开网址。请帮助。

2 个答案:

答案 0 :(得分:0)

首先,你想通过传递网址做什么。 Asynctask用于从您传递的URL获取数据或您想要在后台执行的操作。 在这种情况下,您没有使用在doInBackground方法中传递的URL。

答案 1 :(得分:0)

如果要显示该网址的网页,请使用webview

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.project.unityapp.MainActivity" >


<WebView  
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

</RelativeLayout>

活动

public class WebViewActivity extends Activity {

    private WebView webView;

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

        webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://www.google.com");

    }

}