2016-04-26 69 views
0

我正在開發android應用程序。我需要運行服務來每隔幾秒檢查一次數據庫更新,並通知用戶是否更改。Android服務mysql - 檢查數據庫更改

使用服務是解決這個問題的好方法嗎?

這是我的代碼的一部分。到目前爲止,我沒有讓它工作。

任何幫助?

public class NotificationService extends Service { 

private Timer mTimer; 
public static final String MyPREFERENCES = "MyPrefs" ; 
SharedPreferences sharedpreferences; 
public String formattedDate, restoredText; 

@Nullable 
@Override 
public IBinder onBind(Intent intent) { 
    return null; 
} 

@Override 
public void onCreate() { 
    super.onCreate(); 
    mTimer = new Timer(); 
    mTimer.schedule(timerTask,2000,15*1000); 
    Log.d("TEST","TEST"); 

} 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    try{ 

    }catch (Exception e){ 
     e.printStackTrace(); 
    } 
    return super.onStartCommand(intent, flags, startId); 
} 

TimerTask timerTask = new TimerTask() { 
    @Override 
    public void run() { 
     Log.e("Log", "Running"); 
     SharedPreferences prefs = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE); 
     restoredText = prefs.getString("username", null); 
     if (restoredText != null) { 

      Calendar c = Calendar.getInstance(); 
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
      formattedDate = df.format(c.getTime()); 
      //notifiy(); //ovdje cemo ga privremeno iskljuciti 

      /* 

       here I need implement code for checking data from remotly mysql database 
      */ 


     }else { 
      notifiy(); 
     } 
    } 
}; 
+0

不。性能會很糟糕,你的網絡流量使用會非常糟糕,並且你會殺死電池。相反,看看推送消息。 –

+0

使用GCM通知進行更新。這是獲取更新並減少網絡和電池使用量的最佳方式。 – androidnoobdev

回答

相關問題