2016-05-26 2 views
-1

Мне нужно написать простой чат для Android. Я хочу использовать топливо, но я не могу понять, как сделать настройки. Что нужно делать на сервере (php) и клиенте (Android)?Android и GCM

+1

извините, путь к широкой вопросик здесь –

ответ

0

для андроида: создать настройки модели:

public class SettingsModel { 
    public String login; 
    public String token; 
    ..... 
} 

добавить еще один класс для работы с настройками:

public class SettingsService { 

    private static String KEY = "mySettingsKeyCustomString"; 
    private static Context mContext; 

    public static SettingsModel settings; 

    public SettingsService(){ 
     mContext = MyApplication.getLastGrabContext(); // MyApplication extends Application 
     settings = getSettings(); 
    } 

    public static void saveSettings(){ 
     if(settings == null){ 
      settings = new SettingsModel(); 
     } 
     SharedPreferences.Editor editor = mContext 
       .getSharedPreferences(KEY, Activity.MODE_PRIVATE).edit(); 
     Gson gson = new Gson(); 
     String jsonSettings = gson.toJson(settings); 
     editor.putString("settings", jsonSettings); 
     editor.commit(); 
     settings = getSettings(); 
    } 


    public static SettingsModel getSettings() { 
     SharedPreferences editor = mContext.getSharedPreferences(KEY, 
       Activity.MODE_PRIVATE); 
     try{ 
      String jsonSettings = editor.getString("settings","settings"); 
      Gson gson = new Gson(); 
      settings = gson.fromJson(jsonSettings, SettingsModel.class); 
     }catch (Exception e){ 
      settings = new SettingsModel(); 
     } 

     return settings; 
    } 

} 

и теперь, например, в настройках инициализации класса Application в OnCreate:

new SettingsService(); 

Теперь вы можете позвонить из любой точки мира в получить ваши настройки, такие как:

String login = SettingsService.settings.login; 

вы можете обновить настройки с помощью:

SettingsService.settings.login = "new login"; 
SettingsService.saveSettings(); 

убедитесь, что у вас есть в вашем Gradle:

compile 'com.google.code.gson:gson:2.4'