Итак, для начала, чтобы у нас работало интернет соединение в программе, добавим запрос на такую функцию в AndroidManifest.xml. Если Вы этого не сделаете, то интернет функции работать не будут. Добавить разрешение на это можно на вкладке Permissons AndroidManifest'а или добавив данный код перед последним тегом:
- <uses-permission android:name="android.permission.INTERNET"/>
В Java коде напишем, примерно, следующее:
- package com.example;
-
- import java.io.BufferedInputStream;
- import java.io.InputStream;
- import java.net.URL;
- import java.net.URLConnection;
- import org.apache.http.util.ByteArrayBuffer;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.widget.TextView;
-
- public class ExampleActivity extends Activity {
- private String html = ""; //Переменная, где будет хранится полученный текст
- private Handler mHandler;
-
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mHandler = new Handler();
- checkUpdate.start();
- }
-
- private Thread checkUpdate = new Thread() {
- public void run() {
- try {
- URL updateURL = new URL("http://iconic.4feets.com/update"); //Задаем урл для скачивания
- URLConnection conn = updateURL.openConnection();
- InputStream is = conn.getInputStream();
- BufferedInputStream bis = new BufferedInputStream(is);
- ByteArrayBuffer baf = new ByteArrayBuffer(50);
-
- int current = 0;
- while((current = bis.read()) != -1){
- baf.append((byte)current);
- }
-
- /* Конвертирование байтов в текст. */
- html = new String(baf.toByteArray());
- mHandler.post(showUpdate);
- } catch (Exception e) {
- }
- }
- };
-
- private Runnable showUpdate = new Runnable(){
- public void run(){
- TextView textview = (TextView) findViewById(R.id.textview);
- textview.setText("HTML текст: " + html);
- }
- };
- }
Вот что у нас получится:
No comments:
Post a Comment