2011-06-25 13 views
1

このURLからテキストを取得したい場合は、http://www.weather.noaa.gov/pub/data/observations/metar/stations/KORD.txtを文字列に保存してからTextViewに出力します。Webページからテキストを取り出してTextViewに表示する方法

私はアンドロイドの初心者ですが、これを行う最も効率的な方法は何ですか?

private TextView outtext; 
private String HTML; 

そして、このようなのonCreateへのコメントの間の行を追加します:

+0

リファレンス[このリンク](https://stackoverflow.com/questions/14418021/get-text-from-web-page-to-string)ReadWebpageAsyncTaskはこのトリックを行います。 –

答えて

0

URLはのonCreate()する前にこれを入れて無効である、または私の国は

をブロックされている

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     /*FROM HERE*/ 
     outtext= (TextView) findViewById(R.id.textview1); //change id if needed!!! 

      try { 
      getHTML(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     }  
     outtext.setText("" + HTML); 
     /*TO HERE*/ 
    } 

これはコンテンツのダウンロードに使用する方法です:

private void getHTML() throws throws ClientProtocolException, IOException 

     { 
      HttpClient httpClient = new DefaultHttpClient(); 
      HttpContext localContext = new BasicHttpContext(); 
      HttpGet httpGet = new HttpGet("http://www.weather.noaa.gov/pub/data/observations/metar/stations/KORD.txt"); //URL! 
      HttpResponse response = httpClient.execute(httpGet, localContext); 
      String result = ""; 

      BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 

      String line = null; 
      while ((line = reader.readLine()) != null) { 
       result += line + "\n"; 
       HTML = result; 
      } 

     } 

また、インターネットを使用するのAndroidManifest.xmlに権限を設定する必要があります。

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

また、これは、これを行うための最善の方法はありません。アプリを開くとウェブサイトから読み込まれるまでフリーズしますので、AsyncTaskを使用してください。

0

参照this link

DownloadWebPageTaskクラスは、トリックを行いますと、インターネットの使用を可能にするために

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

へのAndroidManifest.xmlを追加することを忘れないでください。

関連する問題