我正在尝试创建一个应用程序,让用户可以选择创建新项目或选择现有项目。这些项目将包含一个名称(标题)和一组允许他们拍摄的图像。基本上是一张专辑。我能想到的唯一方法是将项目名称和他们为该项目选择的每张图片的一堆 id 写入文件。将其存储在一个数组中,并在每次启动应用程序时重新加载。这是做这件事的好方法还是有更雄辩的方法?
2 回答
Viperbone 的回答很好。我可以鼓励你添加一些额外的东西吗?
创建一个代表您的项目的类。使这个类可序列化。在这个类中,创建“保存”和“加载”方法。最初,您的保存方法可能使用 SQLite,但在未来,您可能有很多原因要更改它(保存到 Dropbox?导出? - 因此是序列化)。
如果您隔离保存项目的方式,您可以将底层存储机制更改为您想要的任何内容,理论上无需更改其余代码。
您可以更进一步,将保存/加载方法与您定义的接口放在一个单独的类中。这样,您甚至可以拥有多个保存方法,并且只需添加使用相同接口的新类即可轻松添加新方法。
随着应用程序的发展,建立这种灵活性通常会多次收回初始投资。
您可以使用 sqlite 数据库将项目存储在一个表中,并在另一个表中存储图像列表,并在第三个表中存储哪个图像属于哪个项目的列表。
您可以使用下表:
项目表
ID - AutoInt
标题 - varchar(255)
图像表
ID - AutoInt
ImageID - 整数
项目形象关系表
ID - AutoInt
项目 ID - 整数
ImageID - 整数
看看这个 sqlite 数据库教程: http ://www.androidhive.info/2011/11/android-sqlite-database-tutorial/
或者这个: http ://android-er.blogspot.ch/2011/06/simple-example-using-androids-sqlite_02.html