0

我正在将一个应用程序从 C# 移植到 Android,我需要一些帮助来决定我需要在 Android 上使用哪种服务类型来实现相同的结果。

目前有 2 个单独的应用程序。更新者和客户端。更新程序每 5 秒轮询一次网络服务器以获取更新。只要有可用更新,它就会下载它,然后警告客户端有新内容可用。

然后客户端在屏幕上显示内容。

注意:此软件将在 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 回答