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();
}
}
};
不。性能會很糟糕,你的網絡流量使用會非常糟糕,並且你會殺死電池。相反,看看推送消息。 –
使用GCM通知進行更新。這是獲取更新並減少網絡和電池使用量的最佳方式。 – androidnoobdev