こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

androidアプリ開発について

androidアプリ開発初心者です。
やりたいことは、
スタートボタンを押して、自分のお気に入りのページに飛び、(例えばオークションなど)サイトを表示させ、何分間ごとに更新できるループ処理?などができればいいなと考えています。
スタートボタンを押してサイトを表示するまでは何とか作れたのですが、それ以降をどのように作ったらいいのか分かりません。
初心者的な質問で申し訳ないのですが、どのように書いたらよいのか教えてください。
コードはこのようになっています。
<<main.xml>>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="192dp"
android:layout_height="wrap_content"
android:text="スタート" />
</LinearLayout>

<<MainActivity.java>>
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
Button btn =null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn=(Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
Uri uri =Uri.parse("http://");
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

長文で申し訳ありません。どうぞ宜しくお願い致します。

投稿日時 - 2013-12-02 14:02:03

QNo.8370364

困ってます

質問者が選んだベストアンサー

WebViewにすると当然アプリ内のViewの一つなので自分で全部制御できるわけだ。5分毎にWebViewのアクセス先をキックするなんてお茶の子さいさいだ。

WebViewでやるつもりなのなら、WebViewClientクラスとWebChromeClientクラスを上手に使え、というアドバイスをしておこう。
WebViewClientクラスはWebViewの動作やナビゲーションをカスタマイズするためのもので、カスタマイズすると指定した先が死んでる時に表示するエラーページをアプリ内部で生成して表示させるとかが可能だ。
WebChromeClientはHTML5のvideoタグなどに対応したり、HTMLのJavaScriptの実行をアプリでフックしたりするために使う。
どちらもWebViewでまともなブラウザを作るためには必須のクラスなので対象のサイトが1つだけだとしても知っておかねばなるまい。

投稿日時 - 2013-12-04 23:14:11

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

ActivityのonClick()で無限ループはダメ。応答なしでAndroidに強制終了させられるぜ。
それともう一つ、このActivityがブラウザにIntentを送る仕組みだと、このActivityが後ろに隠れると何もできなくなる。なのでServiceを作るのだ。
詳しくはandroid.app.Serviceで情報を集めてくれたまへ。

でもサービスが動いている間はずっと5分に1回ブラウザが前に飛び出してくるってある意味恐いね。
一番楽なのはそのLinearLayoutにWebViewを追加する事だと思うけど・・・・。

投稿日時 - 2013-12-03 00:12:59

お礼

ありがとうございます!
LinearLayoutにWebViewを追加して、更新は自動でできるものなのですかね??
ちょっと頑張って調べてみます^^
ありがとうございました!

投稿日時 - 2013-12-03 10:18:47

ANo.1

こんばんは。
onClick()内部で無限ループを用意して一連の処理が終わったらthread.sleep()を使い指定時間停止という動作を繰り返してみてはどうでしょうか?必要なくなったら別のビューからループを抜けられるような感じにしたりとか。

投稿日時 - 2013-12-02 23:01:18

お礼

thread.sleep()について調べてみます^^
ありがとうございました!

投稿日時 - 2013-12-03 10:22:30

あなたにオススメの質問