Android getDefaultSharedPreferences和getSharedPreferencesAndroid有什么区别?有人可以解释一下吗?
我正在使用共享首选项来存储我的应用程序的某些值.我想看看信息实际存储在手机上的文件.我在Eclipse上找到了很多方法,但是我在Android Studio上进行调试.我的手机扎根了.我读到有root权限对于读取这些类型的文件很重要.如果没有办法,那么我将查找如何通过我的程序访问信息然后将其输出到log cat.但是,希望我可以直接在手机上查看文件,因为它更简单.谢谢.
我有一个应用程序,我必须在其中实现"登录"活动.我有这些组件:
我希望我的应用程序在用户登录后记住用户的登录详细信息,直到用户按下"注销"按钮.我没有在我的xml中使用首选项.
如何在我的应用程序中使用getSharedPreferences(String name,int mode)?
比方说,在我的API调用中,我有一个被调用的参数color.是否可以编辑或修改现有的R.colors.color以从API结果中分配颜色?
举个例子:
我打电话给我的API并返回green,现在我想用ie(绿色Toolbar,绿色TextView等)加载我的应用程序,这可能吗?
我的第一个想法是:
在colors.xml被调用上创建一个项目,demo然后为它指定一个默认颜色,然后demo在我想要的任何地方使用这个颜色(Button,TextView等等)然后我认为可以用API的结果以编程方式更改这个值,所以我不需要创建一个SharedPreferences或类似的东西,以避免更多的代码.
正如@YS对我说的那样
不幸的是,你必须手动设置文本或视图的颜色...... :(
我想如果有其他方法可以做到这一点,因为我不知道Activities我的项目将包含多少,所以如果有其他方法可以做到这一点我很高兴听到其他猜测.
我正在尝试@Jared Rummler的答案,也许我做错了什么......我创造了一个简单的Json,我把我的资产我解析了Json,我把它放在一个GlobalConstant然后我做了一个"简单的应用程序".
首先,我有一个TextView和a Button包含"your_special_color",并返回它我把GlobalConstant int如下:
case "your_special_color":
return GlobalConstant.color;
Run Code Online (Sandbox Code Playgroud)
然后我尝试的是我的第一个Activity有1 TextView和1,Button正如我之前所说,他们有颜色"your_special_color",我不想改变它,但我有一个Intent在我Button打开另一个Activity包含相同,但与GlobalConstant.color而且它没有改变.
我试过这样做(我的第二个活动):
public class Main2Activity extends AppCompatActivity {
private Res …Run Code Online (Sandbox Code Playgroud) 我正在尝试在最后一小时在我的Android应用程序中保存一个整数.我读到这可以使用SharedPreferences完成.但是,我不明白为什么这样做会让人感到困惑.
我怎样才能简单地保存一个int变量?然后当我再次运行应用程序时,我如何再次与此变量交互?
我以下列方式从活动A加载SharedPreferences:
private void SavePreferences(String key, String value){
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
Run Code Online (Sandbox Code Playgroud)
在活动BI处想要加载SharedPreferences.以下是NullPointerException:
private void LoadPreferences(){
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
data = sharedPreferences.getString("name", "08:00") ;
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试跟随,我得到此编译错误:"在范围中无法访问类型A的封闭实例"
private void LoadPreferences(){
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(A.this);
data = sharedPreferences.getString("name", "08:00") ;
}
Run Code Online (Sandbox Code Playgroud)
我如何访问数据?
我只是想知道,Android中共享首选项的用途是什么.请一些人明白我的疑问.
编辑
我是否可以将它们用于第一次显示设置屏幕,并设置一些标志,以便在完成后(下次启动应用程序时)设置屏幕/活动不会显示?
我在android中开发了3个应用程序,其中主要功能相同但UI看起来不同.图像和屏幕的背景颜色不同.
不,我想创建一个代码库,我可以从中为3个应用程序生成多个.apk文件.
我尝试为3个应用程序为src文件夹创建3个不同的包.但我不知道如何为这些应用程序设置res文件夹.
需要有关创建单个代码库的指针,我们可以从中生成多个.apk文件,其中仅包含相应的src和res文件夹.
我正在开发一个Android应用程序.我想动态更改Start活动.我的意思是当用户第一次启动应用程序时,启动活动将会有所不同,并且当第二次启动时开始活动更改.这将跳过前两个活动并转到第三个活动.我可以实现这一点.