Я построил монитор приложение полосы пропускания, которая успешно загрузки данных, чтобы parse.com используя следующее:Синтаксический и хранение данных в реальном времени
testObject.put("dataOutput", String.valueOf(mStartTX));
Однако данные всегда хранятся в виде нуля. Причиной этого является начальное значение long/string, которое я отправляю, равно нулю (когда приложение запускается первым), однако оно постоянно изменяется, когда пользователь начинает отправлять и получать данные. Могут ли эти данные анализироваться в реальном времени? Или повторно каждые несколько секунд после изменения данных?
ПОЛНЫЙ ИСТОЧНИК:
public class ParseStarterProjectActivity extends Activity {
TextView textSsid, textSpeed, textRssi;
public Handler mHandler = new Handler();
public long mStartRX = 0;
public long mStartTX = 0;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.parser);
textSsid = (TextView) findViewById(R.id.Ssid);
textSpeed = (TextView) findViewById(R.id.Speed);
textRssi = (TextView) findViewById(R.id.Rssi);
Long.toString(mStartTX);
ParseAnalytics.trackAppOpened(getIntent());
ParseObject testObject = new ParseObject("TestObject");
testObject.put("dataOutput", String.valueOf(mStartTX));
testObject.saveInBackground();
mStartRX = TrafficStats.getTotalRxBytes();
mStartTX = TrafficStats.getTotalTxBytes();
if (mStartRX == TrafficStats.UNSUPPORTED || mStartTX == TrafficStats.UNSUPPORTED) AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Uh Oh!");
alert.setMessage("Your device does not support traffic stat monitoring.");
alert.show();
} else {
mHandler.postDelayed(mRunnable, 1000);
}
}
private final Runnable mRunnable = new Runnable() {
public void run() {
TextView RX = (TextView)findViewById(R.id.RX);
TextView TX = (TextView)findViewById(R.id.TX);
long rxBytes = TrafficStats.getTotalRxBytes()- mStartRX;
RX.setText(Long.toString(rxBytes));
long txBytes = TrafficStats.getTotalTxBytes()- mStartTX;
TX.setText(Long.toString(txBytes));
mHandler.postDelayed(mRunnable, 1000);
Я невероятно новичок во всем этом. Я просто прочитал следующий учебник: http: //www.vogella.com/articles/AndroidServices/article.html, и я думаю, что понимаю общую концепцию, но точный способ ее реализации в этом сценарии - я понятия не имею ... –
Что-то вроде этого выглядит правильно? Intent intent = new Intent (это, MyService.class); PendingIntent pintent = PendingIntent.getService (это, 0, намерение, 0); AlarmManager alarm = (AlarmManager) getSystemService (Context.ALARM_SERVICE); alarm.setRepeating (AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 1 * 1000, pintent); –
Это работает? ;) Есть много способов реализовать то, на что я указал вам. –