I am using social auth for integration of social app like facebook, google and many more. I successfully authorized and access token is printed in logcat but i want to store them for send to api.
class SignUp extends Activity
{
SocialAuthAdapter adapter;
public void onCreate(Bundle SavedBundleInstanceState )
{
adapter = new SocialAuthAdapter(new ResponseListener());
adapter.authroize(SignUp.this,Provider.Facebook);
}
By This code i get the access token in logcat but dont know how to store it.
you can go with most easiest way shared preferences
.. or use session
... where you can save and retrieve string
with key value
..
SessionManager.java
public class SessionManager {
// Shared Preferences
SharedPreferences pref;
// Editor for Shared preferences
Editor editor;
// Context
Context _context;
// Shared pref mode
int PRIVATE_MODE = 0;
// Sharedpref file name
private static final String PREF_NAME = "wlm";
// All Shared Preferences Keys
private static final String IS_LOGIN = "IsLoggedIn";
private static final String STATUS = "status";
private static final String STATUS_COLOR = "status_color";
// User name (make variable public to access from outside)
public static final String KEY_NAME = "name";
// Email address (make variable public to access from outside)
public static final String KEY_EMAIL = "email";
// Constructor
public SessionManager(Context context){
this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}
/**
* Create login session
* */
public void createLoginSession(String name, String email){
// Storing login value as TRUE
editor.putBoolean(IS_LOGIN, true);
// Storing name in pref
editor.putString(KEY_NAME, name);
// Storing email in pref
editor.putString(KEY_EMAIL, email);
// commit changes
editor.commit();
}
/**
* Check login method wil check user login status
* If false it will redirect user to login page
* Else won't do anything
* */
public void checkLogin(){
// Check login status
if(!this.isLoggedIn()){
// user is not logged in redirect him to Login Activity
// Intent i = new Intent(_context, LoginScreen.class);
// // Closing all the Activities
// i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//
// // Add new Flag to start new Activity
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//
// // Staring Login Activity
// _context.startActivity(i);
}
}
/**
* Get stored session data
* */
public HashMap<String, String> getUserDetails(){
HashMap<String, String> user = new HashMap<String, String>();
// user name
user.put(KEY_NAME, pref.getString(KEY_NAME, null));
// user email id
user.put(KEY_EMAIL, pref.getString(KEY_EMAIL, null));
// return user
return user;
}
/**
* Clear session details
* */
public void logoutUser(){
// Clearing all data from Shared Preferences
editor.clear();
editor.commit();
// After logout redirect user to Loing Activity
// Intent i = new Intent(_context, LoginScreen.class);
// // Closing all the Activities
// i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//
// // Add new Flag to start new Activity
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//
// // Staring Login Activity
// _context.startActivity(i);
}
/**
* Quick check for login
* **/
// Get Login State
public boolean isLoggedIn(){
return pref.getBoolean(IS_LOGIN, false);
}
}
in you activity you can store you string with
session.editor.putInt("your key", YourString);
and retrieve with
String str = session.pref.getString("your key", "");
also define key for every entry in SessionManager like
private static final String ANY_NAME= "your key";