0

アプリケーションを C# から Android に移植していますが、同じ結果を得るために Android で使用する必要があるサービスの種類を決定するための助けが必要です。

現在、2 つの個別のアプリケーションがあります。アップデーターとクライアント。アップデーターは、5 秒ごとに Web サーバーをポーリングして更新を求めます。アップデートが利用可能になるたびにダウンロードし、新しいコンテンツが利用可能であることをクライアントに警告します。

その後、クライアントはコンテンツを画面に表示します。

注: このソフトウェアは、Android プレーヤーで実行され、その唯一の目的は、これら 2 つのアプリケーションを実行することです。これ以上何もない。ユーザーとの対話はありません。

私の質問は、これにはどのサービスを使用する必要があるかということです。

よろしく、ニーク

4

1 に答える 1

0

次のリンクを確認できます http://developer.android.com/reference/android/app/Service.html http://developer.android.com/guide/components/services.html http://www.vogella. com/articles/AndroidServices/article.html

5 秒ごとにコードをダウンロードするスレッドを追加できます。ここにコードがあります

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;

public class MyService extends Service {

   String tag="TestService";
   @Override
   public void onCreate() {
       super.onCreate();
       Toast.makeText(this, "Service created...", Toast.LENGTH_LONG).show();      
       Log.i(tag, "Service created...");
   }

   @Override
   public void onStart(Intent intent, int startId) {      
       super.onStart(intent, startId);  
       Log.i(tag, "Service started...");
       fetchData();
   }

   public void fetchData()
   {
   new Thread(new Runnable()
                    {

                        @Override
                        public void run()
                            {
                            while(true)
                            {
                                final String strRes = downloadXML("http://uri.com");
                                runOnUiThread(new Runnable()
                                    {

                                        @Override
                                        public void run()
                                            {
                                                //do whatever once download complete
                                            }
                                    });
                                    try{
                                    Thread.sleep(5000);
                                    }catch(Exception ee){}
                            }
                            }
                    }).start();
   }
   @Override
   public void onDestroy() {
       super.onDestroy();
       Toast.makeText(this, "Service destroyed...", Toast.LENGTH_LONG).show();
   }

   @Override
   public IBinder onBind(Intent intent) {
       return null;
   }
}
于 2013-05-17T09:50:08.390 に答える