添加导航器到我的应用程序

时间:2011-02-21 12:02:30

标签: android

我创建了一个xml文件web.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<WebView 
android:layout_height="300dip" 
android:layout_width="fill_parent" 
android:id="@+id/WebView" 
android:layout_x="0dip" 
android:layout_y="0dip"
></WebView>

</AbsoluteLayout>

和web.java

 package com.geoo;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URI;

 import org.apache.http.HttpResponse;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.DefaultHttpClient;

 import android.app.Activity;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.View;

 import android.webkit.WebView;

public class tarif extends Activity {
private static final String LOG_TAG = "Log : ";
private final String mimeType = "text/html";
private final String encoding = "utf-8";
private String pageWeb;
private WebView webView1;
private String url="http://www.google.fr";
webView1 = (WebView) findViewById(R.id.WebView);


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

    try {
        //on récupère le code HTML associé à l'URL que l'on a indiqué dans l'EditText
            pageWeb = tarif.getPage(url);

            //on charge les données récupérées dans le WebView
            webView1.loadData(pageWeb, mimeType, encoding);
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public static String getPage(String url) throws ClientProtocolException, IOException{
    StringBuffer stringBuffer = new StringBuffer("");
    BufferedReader bufferedReader = null;

    try{
        //Création d'un DefaultHttpClient et un HttpGet permettant d'effectuer une requête HTTP de type GET
        HttpClient httpClient = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet();

        //Création de l'URI et on l'affecte au HttpGet
        URI uri = new URI(url);
        httpGet.setURI(uri);

        //Execution du client HTTP avec le HttpGet
        HttpResponse httpResponse = httpClient.execute(httpGet);

        //On récupère la réponse dans un InputStream
        InputStream inputStream = httpResponse.getEntity().getContent();

        //On crée un bufferedReader pour pouvoir stocker le résultat dans un string
        bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

        //On lit ligne à ligne le bufferedReader pour le stocker dans le stringBuffer
        String ligneCodeHTML = bufferedReader.readLine();
        while (ligneCodeHTML != null){
            stringBuffer.append(ligneCodeHTML);
            stringBuffer.append("\n");
            ligneCodeHTML = bufferedReader.readLine();
        }

    }catch (Exception e){
        Log.e(LOG_TAG, e.getMessage());
    }finally{
        //Dans tous les cas on ferme le bufferedReader s'il n'est pas null
        if (bufferedReader != null){
            try{
                bufferedReader.close();
            }catch(IOException e){
                Log.e(LOG_TAG, e.getMessage());
            }
        }
    }

    //On retourne le stringBuffer
    return stringBuffer.toString();
}
}

我的问题在行

webView1 = (WebView) findViewById(R.id.WebView);

我不明白是什么问题,为什么eclipse出错? 谢谢

1 个答案:

答案 0 :(得分:0)

我认为你必须将webView1 = (WebView) findViewById(R.id.WebView);放入onCreate方法。