Sharedprefs还是内部存储?
我现在是http://developer.android.com/guide/topics/data/data-storage.html
并且对于使用哪个看起来既好又容易做就感到困惑.
建议?
谢谢!
解决方法 这几乎取自其中一个Facebook sdks示例(它允许您保存FB会话,因此用户不必每次都登录)…我会稍微为您修改它public class SessionStore {private static final String PLAYER_name = "player_name";private static final String LEVELS_COMPLETED = "levels_completed";private static final String HIGH_score = "high_score";private static final String KEY = "player_session";int highscore;int levelsCompleted;String pname;public static boolean saveSession(Context context,String player_name,int levels_completed,int high_score) { Editor editor = context.getSharedPreferences(KEY + player_name,Context.MODE_PRIVATE).edit(); editor.putString(PLAYER_name,player_name); editor.putInt(LEVELS_COMPLETED,levels_completed); editor.putInt(HIGH_score,high_score); return editor.commit();}public static voID restoreSession(Context context,String player_name) { SharedPreferences savedSession = context.getSharedPreferences(KEY + player_name,Context.MODE_PRIVATE); highscore = savedSession.getInt(HIGH_score,0); levelsCompleted = savedSession.getInt(LEVELS_COMPLETED,0); pname = savedSession.getString(PLAYER_name,"NO_name!");}public String getname(){ return pname;}
}
我想你得到的基本想法……
一些要点:我使用“KEY player_name”以防不同玩家在同一部手机上播放(如果它是静态的,你会用其他数据覆盖一个玩家的数据).
此外,当你执行pname = savedSession.getString(PLAYER_name,“NO_name!”);如果共享首选项中不存在任何内容,则默认值为“NO_name!”同样对于getInts(在这种情况下,我将它们默认为0)
在程序中你会做SessionStore.saveSession(“Alex”,50000,50000);希望这给出了如何使用它的好主意……还要记住我是一个新手 – 这对我来说很有用但我不是专家:D
总结以上是内存溢出为你收集整理的Android,共享偏好还是内部存储?全部内容,希望文章能够帮你解决Android,共享偏好还是内部存储?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)