以下のサイトを参考にして、android studioを使って端末の画面にURLから取得したHTMLを表示するプログラムを作成したいです。System.out.print((char)i)の部分をTextViewクラスの変数に追加するように書き換えてみたりはしたのですが、表示されませんでした。
初歩的な質問で大変申し訳ありませんが、ご教授いただけると幸いです。
参考したサイト:https://www.petitmonte.com/java/java_url.html
java
1package com.example.gethtml2; 2 3import androidx.appcompat.app.AppCompatActivity; 4 5import android.os.Bundle; 6import android.widget.TextView; 7 8import java.io.InputStream; 9import java.io.InputStreamReader; 10import java.net.URL; 11 12public class MainActivity extends AppCompatActivity { 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 URL url = null; 18 InputStreamReader isr = null; 19 TextView tv = new TextView(this); 20 setContentView(tv); 21 int j=0; 22 23 try { 24 url = new URL("https://www.petitmonte.com/"); 25 26 // InputStream(バイトストリーム)のままでもHTMLは取得できるが文字化けする 27 InputStream is = url.openStream(); 28 29 // InputStreamをUTF8のInputStreamReader(文字ストリーム)に変換する 30 isr = new InputStreamReader(is, "UTF-8");//バイトストリームから文字にデコードする。 31 32 // 一文字毎に読み込む 33 while (true) { 34 int i = isr.read();//readメソッド:単一の文字を読み込む。 35 if (i == -1) { 36 break; 37 } 38 j+=((char)i); 39 } 40 } catch (Exception e) { 41 System.out.println(e.getMessage()); 42 } finally { 43 try { 44 isr.close(); 45 } catch (Exception e) { 46 System.out.println(e.getMessage()); 47 } 48 } 49 tv.append(String.valueOf(j)); 50 } 51}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/05 09:12
2019/12/05 09:14
2019/12/05 09:20
2019/12/05 14:22