我读过很多关于stackoverflow和google的话题,关于这个参数,但是我不能定位自己将自定义ArrayList写入文件! 我有一个类型为“CustomType”的ArrayList。 “CustomType”有两个字符串变量:“名称”和“描述”。Android,存储自定义ArrayList
我想保存此ArrayList以在关闭并重新打开我的应用程序后阅读它。 有人帮我做这个吗?并有人解释我什么时候保存/阅读?
我读过很多关于stackoverflow和google的话题,关于这个参数,但是我不能定位自己将自定义ArrayList写入文件! 我有一个类型为“CustomType”的ArrayList。 “CustomType”有两个字符串变量:“名称”和“描述”。Android,存储自定义ArrayList
我想保存此ArrayList以在关闭并重新打开我的应用程序后阅读它。 有人帮我做这个吗?并有人解释我什么时候保存/阅读?
你可以写简单地作为一个CSV文件,这样,
1,name,desc
2,name2,desc2
3,name3,desc3
...
或者你可以使用gson
库 - http://code.google.com/p/google-gson/,将其转换成一个json
字符串,然后把它写入一个文件,这样,当你读它,你可以直接从json
获取对象,
我会亲自使用第二种方法,
编辑:写入到csv
try
{
FileWriter writer = new FileWriter("<path>/MyFile.csv");
while(lst.next())
{
for(int i = 0; i < columnSize; i++)
{
writer.append(i);
writer.append(',');
writer.append(lst.get(i).getName());
writer.append(',');
writer.append(lst.get(i).getDesc());
}
writer.append('\n');
}
}
catch(Exception e)
{
e.printStackTrace();
}
(假设在一侧的对象ArrayList中有方法getName()
和getDesc()
)
这可能是再次阅读它的帮助,
要保存任何类型的数据,你有选择任何可用的数据存储tequinue
1)shared preferences
2)internal storage
3)external storage
4)Sqlite
5)internet server
个
详细的文档here
throgh的这些方法,你可以存储的ArrayList或其他数据,您使用的填充屏幕中的任何一个,所以每次用户打开应用程序数据从存储位置加载
是的!我已阅读此文档,但我不明白我在特定情况下要做什么,我认为我必须使用内部存储(我的数据不会超过400/500Kbyte .. – TimeParadox
你可以使用XML文件,过:
这样,您就可以使用所有类型的文字和符号,如果你使用的是CSV,你不能在你的内容使用“分隔符”。
也谢谢!^ ^ – TimeParadox
好的非常感谢你的答案!是使用cvs文件的简单方法吗? – TimeParadox
编辑我的答案,希望它有帮助:) – Optimus
此外csv文件是一个简单的文本文件,扩展名为.csv(csv - 逗号分隔值) – Optimus