2016-11-02 3 views
0

asynctask를 사용하여 Android를 시작하려고하는데 코드에 오류가 표시되지 않지만 URL을 표시하는 대신 응용 프로그램을 시작하면 화면에 "hello world"가 표시됩니다. .asynctask --android를 사용하여 URL을 시작하려고합니다.

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

    } 
    } 

편집 해 : 다음은 내 시도는 이 내 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 코드를 추가, 당신이 레이아웃 –

+2

에 웹보기를 추가하지 않은 생각 그것은 귀하의 작업에 전달 된 URL로 아무것도하지 않는 것 같습니다 – gipsy

+0

내 activity_main.xml 코드 – Francis

답변

0

해당 URL을 사용 웹뷰의 웹 페이지를 표시 할 경우

<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

asynctask를 사용하여 웹 페이지를 렌더링하는 내 목표 진술 문에 내 목표가 명시되어 있습니다. – Francis

0

먼저 URL을 전달하여 무엇을하고 싶습니까? Asynctask는 전달한 url에서 백그라운드로 수행하려는 데이터 또는 무언가를 가져 오는 데 사용됩니다. 이 시나리오에서는 doInBackground 메서드에서 전달한 url을 사용하지 않습니다.

관련 문제