ボタンを押下後、非同期処理で定期的にWeb上のDBの数値を監視を行いたいです。
ボタンを押下時にWhile分で行ってみましたが、調べて出てくるようにフリーズをするので
IntentServiceを使い非同期で処理をしたいと考えています。
それに加えDB上の数値が感知できた際にアクションが起こせるように、ブロードキャストレシーバーを使用します。
Webへの接続はAsyncTaskを使用しているのですが。IntentService内で使用する際方法がわかりません。
ご教示いただければ幸いです。
よろしくお願いいたします。
MainActivity.java
1~省略~ 2 @Override 3 protected void onCreate(Bundle savedInstanceState) { 4 super.onCreate(savedInstanceState); 5 setContentView(R.layout.activity_main); 6 button = findViewById(R.id.button); 7 button.setOnClickListener(this); 8} 9@Override 10 public void onClick(View v) { 11 Thread thread; 12 if(v == button){ 13 startService(new Intent(getBaseContext(), MyIntentService.class)); 14 } 15~省略~
メインアクティビティで接続する際の呼び出しは下記なのですがIntentServiceでの〇部分に入れる値がわかりません。
new AsyncHttpRequest(〇〇〇).execute("https://xxxxxxx.xxxx.xxx/xxxx/");
InterService
1public class MyIntentService extends IntentService { 2 3 final static String TAG = "MainActivity"; 4 private TextView text2; 5 6 public MyIntentService() { 7 super(TAG); 8 } 9 10 @Override 11 protected void onHandleIntent(Intent intent) { 12 while(※ウェブ上の表記が変わるまで繰り返す処理){ 13 new AsyncHttpRequest(**ここが不明です**).execute("URL")!=null} 14 //処理が抜けたらブロードキャストレシーバーへ渡す処理 15}
まだブロードキャストに渡すなどの処理はできていないので、記載できませんが、Asycリクエスト時の値を教えていただければ幸いです。
文字数の関係で省略が多くなってしまい申し訳ありません。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー