我正在开发一个Android应用程序,它有一个带有两个按钮公寓和银行的Activity。当用户点击公寓时,它应解析来自xml文件的数据并分配给列表视图。此xml文件保存在assets文件夹中,我想为此文件创建一些共享首选项。如果我的设备找到Internet连接,我还想更新共享首选项。
这是我的XML文件的结构:
<?xml version="1.0" encoding="UTF-8"?>
<address_book>
<apartments>
<apartment>
<name>Villa Alvarado</name>
<street_address>6050 Montezuma Rd San Diego CA 92115</street_address>
<web_address>http://housing.sdsu.edu/housing/apartments.aspx</web_address>
<phone>(619) 594-2747</phone>
</apartment>
<apartment>
<name>Zuma Apartments</name>
<street_address>6237 Montezuma Rd San Diego CA 92115</street_address>
<web_address>http://liveatzuma.com/</web_address>
<phone>(619) 265-9862</phone>
</apartment>
<apartments>
<banks>
<bank>
<name>USE Credit Union</name>
<street_address>5500 Campanile Drive San Diego CA 92182</street_address>
<web_address>https://www.usecu.org/home/home</web_address>
<phone>(866) 873-4968</phone>
</bank>
<bank>
<name>Wells Fargo</name>
<street_address>4690 63rd St San Diego CA 92115</street_address>
<web_address>https://www.wellsfargo.com/</web_address>
<phone>(619) 583-9084</phone>
</bank>
</banks>
</address_book>
答案 0 :(得分:1)
我不知道为什么在安装应用程序时在资源文件夹中保存xml文件。我想你不知道共享偏好的正确用法,让我对这些概念有所了解。
<强> 1。创建SharedPreferences xml SharedPreferences是从代码中以编程方式创建的xml文件。要创建此类xml文件,您需要编写以下代码
SharedPreferences sharedpreferences = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
上述语句将在/data/data/YOUR_PACKAGE_NAME/shared_prefs/MyPreferences.xml
2.创建参数:现在,当您调用sharedpreferences.getString(Name, "Butterflow");
时,此语句将在xml文件MyPreferences
中创建一个名为Name
的参数,其默认值为Butterflow
。
3.修改值:稍后您可以通过编写以下代码来修改参数名称的值
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(Name,"Akshay"); //new value of the parameter
editor.commit(); //will commit your changes
4.Retreiving the value:要在以后检索值,您可以写
String stringValue = sharedprefernces.getString(Name, ""); //Now the second parameter will be useless and dummy because there is no default value needed
那么为什么不以编程方式创建这样的xml文件,似乎很容易操作,不是吗?请看这里How to use SharedPreferences in Android to store, fetch and edit values
答案 1 :(得分:0)
我一开始并不了解您的用例。
你不应该使用SharedPreferences
。 使用数据库。 SQLite应该是这个用例的完美选择。
您将拥有以下逻辑:
要启动的一些链接: Content Providers in Android和SQLite usage in Android application