2014-12-28 2 views
0

Я хочу получить некоторые данные из API, но на основе того, если его первый запуск, то он должен получить данные с начала года, но если это следующий прогон, тогда он должен извлекать только новые данные (т. е. данные доступны только после предыдущего прогона).Получить правильные данные на основе того, запускается ли приложение в первый раз или нет

Мой вопрос в том, что было бы лучшим способом сохранить и получить временную метку между прогоном.

+0

Простым способом было бы иметь целое число, начинающееся с 0 каждый раз, когда приложение вытягивается вверх. Если int == 0, извлечение первых данных, иначе, извлечение вторых данных – DreadHeadedDeveloper

ответ

1

Вы можете использовать Preferences API для хранения и считывания маркера конкретного приложения независимо от системы.

package com.preferencetest; 

import java.util.prefs.Preferences; 

public class PreferenceTest { 

    private static final String RUN_MARKER = "RUN_MARKER"; 

    public static void main(String[] args) { 

    // Obtain a Preferences node for this class name. 
    final Preferences pref = Preferences.userRoot().node(
     PreferenceTest.class.getName()); 

    // Read the RUN_MARKER value. For the first start this should be the 
    // default value false. 
    final boolean previouslyStarted = pref.getBoolean(RUN_MARKER, false); 

    if(!previouslyStarted) { 
     // First run: Set the marker to true. 
     pref.putBoolean(RUN_MARKER, true); 
     System.out.println("First run"); 
    } else { 
     System.out.println("This is not the first run."); 
    } 
    } 
} 
Смежные вопросы