- ベストアンサー
Androidアプリ開発について
- Androidアプリ開発初心者が、スタートボタンを押してお気に入りのページに飛び、定期的に更新するループ処理ができる方法について教えてください。
- 初心者的な質問ですが、Androidアプリでスタートボタンを押すとサイトが表示されるまでは作れましたが、以降の処理が分かりません。どのように書けばいいでしょうか?
- 現在のコードでは、スタートボタンを押すと指定したURLのページが表示されますが、更新処理などのループ処理をどのように実装すればいいのかわかりません。アドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
WebViewにすると当然アプリ内のViewの一つなので自分で全部制御できるわけだ。5分毎にWebViewのアクセス先をキックするなんてお茶の子さいさいだ。 WebViewでやるつもりなのなら、WebViewClientクラスとWebChromeClientクラスを上手に使え、というアドバイスをしておこう。 WebViewClientクラスはWebViewの動作やナビゲーションをカスタマイズするためのもので、カスタマイズすると指定した先が死んでる時に表示するエラーページをアプリ内部で生成して表示させるとかが可能だ。 WebChromeClientはHTML5のvideoタグなどに対応したり、HTMLのJavaScriptの実行をアプリでフックしたりするために使う。 どちらもWebViewでまともなブラウザを作るためには必須のクラスなので対象のサイトが1つだけだとしても知っておかねばなるまい。
その他の回答 (2)
- anmochi
- ベストアンサー率65% (1332/2045)
ActivityのonClick()で無限ループはダメ。応答なしでAndroidに強制終了させられるぜ。 それともう一つ、このActivityがブラウザにIntentを送る仕組みだと、このActivityが後ろに隠れると何もできなくなる。なのでServiceを作るのだ。 詳しくはandroid.app.Serviceで情報を集めてくれたまへ。 でもサービスが動いている間はずっと5分に1回ブラウザが前に飛び出してくるってある意味恐いね。 一番楽なのはそのLinearLayoutにWebViewを追加する事だと思うけど・・・・。
- kracfire
- ベストアンサー率40% (2/5)
こんばんは。 onClick()内部で無限ループを用意して一連の処理が終わったらthread.sleep()を使い指定時間停止という動作を繰り返してみてはどうでしょうか?必要なくなったら別のビューからループを抜けられるような感じにしたりとか。
お礼
thread.sleep()について調べてみます^^ ありがとうございました!
お礼
ありがとうございます! LinearLayoutにWebViewを追加して、更新は自動でできるものなのですかね?? ちょっと頑張って調べてみます^^ ありがとうございました!