2016-11-02 3 views
0

Я пытаюсь запустить url в android с помощью asynctask, код не показывает ошибки, но когда я запускаю приложение вместо отображения url, он отображает «hello world» на экран , Ниже моя попытка:Пытаясь запустить url с помощью asynctask - android

//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> 

мое приложение не открывая URL на старте. Любезно помочь.

+0

добавить свой код activity_main.xml, я думаю, что вы не добавить WebView в макете –

+2

Кажется, вы ничего не делаете с URL-адресом, переданным в вашу задачу. – gipsy

+0

Я добавил свой код activity_main.xml – Francis

ответ

0

Если вы хотите, чтобы отобразить веб-страницу этого использования URL 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"); 

    } 

} 
+0

это не используется asynctask – Francis

+0

Если вы хотите, чтобы отобразить эту страницу обязательно. Не могли бы вы указать, что на самом деле ваша цель. – Ciril

+0

. Моя цель указана в моей постановке задачи, используя асинтез для отображения веб-страницы. – Francis

0

Во-первых, что вы хотите сделать, передав URL. Asynctask используется для получения данных или чего-то, что вы хотите сделать в фоновом режиме из URL-адреса, который вы передаете. В этом случае вы не используете URL-адрес, который вы передаете в doInBackground.