EasySharedPreference

Additional

Language
Java
Version
N/A
Created
Jun 10, 2017
Updated
Oct 10, 2017 (Retired)
Owner
Doan Hong Phuoc (kingfisherphuoc)
Contributors
Doan Hong Phuoc (kingfisherphuoc)
Hamza (ameerhamza6733)
2
Activity
Badge
Generate
Download
Source code

EasySharedPreference

an easy to use SharedPreference library. You can read/write your object to SharedPreference easily with few lines of code.

Installing

Use Gradle:

compile 'com.kingfisherphuoc:easy_sharedpreference_library:1.3'

How to use?

Before you do anything with SharedPreference, you have to initialize the library first. You can do it in your Application class or in your first Activity's OnCreate:

/**
 * You have to initialize all your preference when open app.
 *
 * @param context
 * @param createDefaultPreference : true if we want to create default {@link SharedPreferences}
 * @param names                   : list of custom {@link SharedPreferences}
 */
SharedPreferencesManager.init(this, true, "Pre1","Pre2"); 
// or using default sharedpreference name only
SharedPreferencesManager.init(this, true);

After doing first config, you can use the SharedPreferencesManager at anywhere you want. You can check the sample project for more detail:

// Primitive type
SharedPreferencesManager.getInstance().putValue("Test", 1); // save to default sharedPreference 
SharedPreferencesManager.getInstance().getValue("Test", Integer.class);// get from default
// you can get default value if the key is not used before.
SharedPreferencesManager.getInstance().getValue("TestNotSavedBefore", Integer.class,100);// return 100 if key does exist
// Save your custom object:
SharedPreferencesManager.getInstance().putValue("testData", testGun);
Gun gun = SharedPreferencesManager.getInstance().getValue("testData", Gun.class); 
// Save list object to another SharedPreference
SharedPreferencesManager.getInstance(AnotherPreferenceName).putValue("guns", guns);
List<Gun> datas = SharedPreferencesManager.getInstance(AnotherPreferenceName).getValues("guns", Gun[].class); // get list object
// remove/clear value from sharedPreferences:
SharedPreferencesManager.getInstance().clear(); //SharedPreferencesManager.getInstance().remove("test");
// Print the log of all saved value from SharedPreferences:
SharedPreferencesManager.getInstance().printAllKeyValues();
//get All keys from SharedPreferences 
 Map<String, ?> allEntries = SharedPreferencesManager.getInstance().getAllKeys();
 for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
      if (entry == null || entry.getValue() == null) continue;
       Log.e("SharedPreferenceManager", entry.getKey() + ": " + entry.getValue().toString());
     }
// you can also get the SharedPreference to use if you want to interact directly with it
SharedPreferencesManager.getInstance().getSharedPreference();

What's in the next version?

What are the things you want to have in this library? Contact me or create a new issue for it.

License

Copyright 2017 Doan Hong Phuoc

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.