我有一個自定義類型的列表,他們需要保存/加載到移動設備上的文件(Windows Mobile 6),哪種方法最適合,考慮到設備的有限資源?編輯: 編輯: 數據文件將約爲2-5mb將自定義類型保存到移動設備上的文件的方法?
1
A
回答
2
我們在談論多少數據?
我使用舊設備(HTC-s620,TI OMAP 850 200 MHz處理器)在3-5秒內使用XML序列化保存2mb XML文件。非常簡單的編程模型。很容易做到。有了更新的設備,我相信它會更快。
我的使用場景是每次運行一次滿載和一次完整保存。
[XmlRoot("notes")]
public class NoteList : List<Note>
{
// Set this to 'default' or 'preserve'.
[XmlAttribute("space", Namespace = "http://www.w3.org/XML/1998/namespace")]
public string space = "preserve";
public static void Save(NoteList noteList, string NotesFilePath)
{
if (noteList == null) return;
XmlSerializer serializer = new XmlSerializer(typeof(NoteList));
string tmpPath = NotesFilePath + ".tmp";
using (System.IO.FileStream fs = new FileStream(tmpPath, FileMode.Create, FileAccess.Write))
{
serializer.Serialize(fs, noteList);
fs.Close();
}
if (File.Exists(tmpPath))
{
if (File.Exists(NotesFilePath))
{
string oldFile = NotesFilePath + ".bak";
if (File.Exists(oldFile)) File.Delete(oldFile);
File.Move(NotesFilePath, oldFile);
}
File.Move(tmpPath, NotesFilePath);
}
}
public static NoteList Load(string NotesFilePath)
{
if (!System.IO.File.Exists(NotesFilePath))
return null;
NoteList noteList = new NoteList();
XmlSerializer serializer = new XmlSerializer(noteList.GetType());
using (FileStream fs = new FileStream(NotesFilePath, FileMode.Open, FileAccess.Read))
{
noteList = (NoteList)serializer.Deserialize(fs);
fs.Close();
}
return noteList;
}
}
1
能夠運行Win Mobile 6的設備似乎能夠使用「殘缺」的.NET框架很好地處理自己。但是如果你想要更快的東西,那麼System.IO提供了什麼,我認爲你運氣不好(?)。
「自定義類型」,我收集你指的類,並由此我懷疑一些.NET兼容的類?然後,我不知道你將如何擠出更多的果汁...至少不會超過
this happy camper了。
1
我建議看看SqlLite,如果你想要一個適當的分貝,但沒有膨脹。 SqlLite也具有原子性和電源彈性。否則,保存到平面文件不是問題。請記住,在任何時候,權力都會在你身上消失,包括你寫作的一半。
相關問題
- 1. 爲移動設備上的KML文件創建自定義層
- 2. Drupal 7 - 將文件遷移到自定義文件類型
- 3. 將設備上的文件保存在卸載後的設備
- 4. wp_insert_post未在設備上保存自定義分類
- 5. 在構建期間將自定義文件部署到移動設備
- 6. 將自定義類保存到Coredata中
- 7. Visual C#自定義類的類型設置不會保存
- 8. 如何在設備上保存BLOB數據類型文件?
- 9. 無法文件保存到設備上xamarin的Android
- 10. 自定義文件格式無法識別設備上的
- 11. 獲取移動網頁設備類型的新方法
- 12. 存儲自定義類型的設置
- 13. 如何將自定義類保存/序列化到設置文件?
- 14. 爲移動設備定義CSS樣式的最佳方法?
- 15. 我如何保存一個自定義的NSObject類到文件?
- 16. 將文件保存到自定義文件擴展名
- 17. 將對象保存到文件。自定義方法添加/刪除對象
- 18. 自定義返回類型的方法?
- 19. 最有效的保存自定義設置的方法
- 20. 保存自定義數據類型
- 21. ASP.NET FriendlyUrls API - 自定義什麼被歸類爲移動設備
- 22. 將大型數據保存到文件的最快方法
- 23. 在移動設備上自定義谷歌圖片搜索
- 24. Django的 - 自定義保存方法模型
- 25. 如何將自定義變量保存到給定文件?
- 26. 如何參考存儲在移動設備上的文件?
- 27. 移動設備上的共享存儲
- 28. 設置自定義編碼,同時將文件保存到獨立存儲
- 29. 如何將產品保存到自定義文本文件?
- 30. 保存複選框在WordPress的自定義文章類型
XML的主要問題是您無法執行「天真」寫入。您需要備份(複製,刷新,刪除,移動或僅複製,刷新和刪除副本),因爲在2-3秒的時間內,電源會死機並損壞您的文件。 – Quibblesome 2009-12-21 11:45:10