我的应用程序在assets文件夹的子目录中有.txt文件.它读取那些.txt文件并将它们放在textview中.它运作良好,没有任何问题.
我是否应该关注资产文件夹中的文件被用户删除或丢失.如果这种情况发生,我的应用程序会收到错误,因为当它试图将其读入流中时,该文件将不存在.
在我阅读资产文件之前是否需要检查资产文件的存在,或资产经理是否负责这一切?我也想知道用户是否有机会删除和资产文件.
就像我说的,一切正常,没有我插入代码来检查文件是否存在.我只是想知道人们每次从资产中读取流时是否都使用.exists()语句.
我将尝试解释一个简单的应用场景:我的应用程序直接进入"主视图".在这个主视图中,我插入了一个TextView
显示通过的方式创建的当前设置PreferenceManager
.为简单起见,假设我的设置中有一个复选框.当我第一次启动我的应用程序时 - TextView
我的主视图正确显示我的复选框设置(true).现在我进入设置菜单,弹出,然后我将其更改为false.我回到主视图,看不到任何变化.即使我将其改为假,它仍然可以说是真的.如果我结束应用程序然后重新启动它 - 一切都很好,它显示我的变化.
显然,当我更改设置时,主视图会停留在后台?更改设置后,如何重绘或更新主视图?
更好的是,在Windows PC或Mac上开发我的Android应用程序?
我在我的应用程序中有Listpreferences.安装后它们似乎没有设置为默认值 - 它们似乎为空.我试图找出为什么我的默认首选项没有在安装后立即设置.在我的主要代码中,我有:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
InUnits = sp.getString("List1", "defValue");
InAngs = sp.getString("List2", "defValue");
OutUnits = sp.getString("List3", "defValue");
OutAngs = sp.getString("List4", "defValue");
Run Code Online (Sandbox Code Playgroud)
在执行上述代码之后,每个变量都包含"defValue",而不是我在下面的ListPreference中指定的实际值.
我的首选项xml文件名为"settings.xml".以下是其中一个ListPreferences:
<ListPreference
android:key="List1"
android:title="Input: Alph"
android:summary="Choose Alph or Ralph"
android:entries="@array/inputAlph"
android:entryValues="@array/input_Alph_codes"
android:dialogTitle="Input Alph"
android:defaultValue="ININ"/>
Run Code Online (Sandbox Code Playgroud)
这是我的一些strings.xml文件的样子:
<string-array name="inputUnits">
<item>Alph</item>
<item>Ralph</item>
</string-array>
<string-array name="input_Alph_codes">
<item>ININ</item>
<item>INMM</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
当我进入菜单,然后进行设置时,我可以看到我的默认选项(radiobuttoned).然后,当我从设置菜单返回主屏幕时 - 一切都很好 - 终身!...然后为上面的每个var分配正确的默认值.
这只发生在我第一次在手机上安装我的应用程序时.在我进入设置屏幕一次然后立即退出之后,该应用程序很好并接受任何设置更改.
顺便说一下,正如您所看到的,"List1"是我的res/xml文件夹中名为settings.xml的文件中的android:key.
我在我的Android应用程序中使用listpreference并获取我的键值,一切都很好并且效果很好(现在你们帮助了我)但是 - 当我的listpreference菜单弹出时,它们只包含一个取消按钮.
假设用户在红色,蓝色和绿色之间进行选择.首次弹出列表首选项对话框时,对话框仅显示取消按钮.因此,只要用户选择了对话框,对话框就会消失.我希望这样当用户选择他们的设置时,他们会看到单选按钮突出显示然后他们继续并单击确定按钮...但我没有确定按钮而无法弄清楚原因.任何帮助都会很棒......
在android中:我正在尝试将数据从一个活动/屏幕转移到另一个活动/屏幕.
假设我正在添加两个数字.我使用2个EditText视图,几个标签和一个"确定"按钮布局我的第一个屏幕(xml).现在,我想将我输入的数字添加到EditText视图中.假设我输入2和2(2 + 2 = 4).
现在,当我点击"确定"按钮时,我想要一个新的屏幕/活动出现,并简单地向我显示答案(4).我是否使用全球变量进行此操作?任何帮助,将不胜感激.
我有一个弹出的设置菜单,其中是一个ListPreference类型菜单.它与settings.xml文件相关联,其中包含"array-strings".这一切都很好,但我不知道如何检索用户的偏好.
例如,假设用户选择一种颜色(红色,绿色或蓝色).我在'array-strings'中创建的列表包含红色,绿色和蓝色文本.在我的代码中,我想做一些事情,如果用户选择了红色,其他东西,如果他们选择蓝色等,等等.我会使用"案例"陈述或"如果"陈述?最重要的是,我如何检索用户偏好 - 关键?(我在检查布尔值吗?)