色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

多樣化實現(xiàn)Windows Phone 7本地數據庫訪問<下>

  在上一篇多樣化實現(xiàn)Windows Phone 7本地數據庫訪問<上>采用兩種方式Effproze和SQlite來驗證Window Phone 7訪問本地數據庫.驗證結論是可行的.  得到圓友及時反饋當然也發(fā)現(xiàn)一些細節(jié)上問題. 例如Effproze利用文件/內存模式 找不到指定的硬盤上數據庫文件. Sqlite中支持Windows Phone 7 API沒有相關文檔. 以及SQlite創(chuàng)建后類似Effproze找不到指定存儲文件等?類似這些問題 正在尋找和驗證相關解決方案 稍后我會專門整理出一篇文章來詳細說明. 本篇將繼續(xù)驗證Windows Phone 7訪問本地數據庫其他方式-Windows  Phone DB

  <1>初識Windows Phone DB

  其實看到Windows Phone DB[以下簡稱WPDB]很偶然機會.當時我正在研究另外一家英國移動軟件開發(fā)集成商自己做的開源數據庫方式實現(xiàn)對WP7本地數據庫訪問.[詳細見Windows Phone 7 gets open source database]時碰見WPDB的. 一個群組UK-Grouper 的DVP向我推薦Windows  Phone DB.

  WPDB是利用Silverlight的獨立存儲[IsolatedStorage]機制為WP7訪問數據庫加以支持. 目前的版本只是針對開發(fā)人員. 使用簡單. 開源. 其實它內部存儲數據的實質就是利用IsolatedStorage. Silverlight的IsolatedStorage是一種類似Cookie的靜態(tài)存儲機制.可以將一些基本類型(String,Int)的信息甚至是自定義類型序列化后的靜態(tài)存儲于客戶端文件中.

  獨立存儲[IsolatedStorage]是一個局部信任機制. 什么叫局部? 當你創(chuàng)建一個Silverlight應用程序時會在硬盤上創(chuàng)建相應獨立的存儲區(qū)域.  這里面獨立是相對于不同Silverlight Project而言的. 當然如果應用程序中存在多個程序集[Project],那么存儲空間在這多個程序集之間是共享的.

  Silverlight限制了客戶端Silverlight應用程序不能訪問全部的文件系統(tǒng),只能通過獨立存儲機制提供虛擬文件系統(tǒng),訪問數據流對象. 這樣一來類似我們Application 有了自己一塊硬盤空間一樣.獨立存儲空間內就可以放置任意類型的文件. XML /.txt等. 4版本中空間大小也是可以控制的. 更多資源請參考.Introduce IsolatedStorage MSDN  由此也能看出Silverlight也涵蓋WP7日常開發(fā) 當然還有Silverlight能做還不止這些 如下圖:Silverlight 涵蓋圖。

  <2>Windows Phone DB給我們帶來什么?

  先不著急回答這個問題.WPDB是開源的  你在可以在CodePlex上下載它相關源碼:DownLoad on the CodePlex: Windows Phone DB[源碼下載]

  下載完源碼用VS工具打開.預覽整個Solutions:

  Solutions中包含兩個項目: 第一個為WPDB的源碼項目 下面是對WPDB測試項目. 二者關系是測試項目對源碼項目采取了引用. 先不管那么多運行起來看看效果:

  頁面只有一個Run tests按鈕. 點擊后運行提示Test Completed 測試完成 我們來看Button按鈕下事件下代碼的調用:[注釋是自己添加的]

private void RunTests_Click(object sender, RoutedEventArgs e)
{
//獲取測試項
foreach (var item in ResultPanel.Children)
{
if (item is TextBlock)
{
((TextBlock)item).Foreground
= new SolidColorBrush(Colors.White);
}
}
CreateDBTest();
//創(chuàng)建DataBase
CreateTableTest();//Create Table
SaveTest();//Save Config
SaveSingleTableTest();//保存單表
OpenTest();//打開數據庫
AddRangeTest();//添加一個范圍數據[20條]
RemoveRangeTest();
RemoveRangeConditionTest();
SaveFailsTest();
//保存記錄
SaveWithEncryptionTest();//保存加密后數據-[看來還考慮加密]
OpenWithEncryptionTest();//打開機密數據
SelectConditionTest();
LazyLoadingTest();
//還有延遲加載-[很意外啊]
AddRowToExistingTableTest();//添加一行數據庫
AddRowToExistingTableTestLazyLoad();
DatabaseExists();
//關閉數據庫鏈接

//測試完成提示
MessageBox.Show("Test completed", "Silverlight Phone Database", MessageBoxButton.OK);
}

it知識庫多樣化實現(xiàn)Windows Phone 7本地數據庫訪問&amp;lt;下&amp;gt;,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 怀来县| 桃园县| 兴隆县| 黑水县| 离岛区| 陇南市| 建德市| 浏阳市| 营山县| 磐安县| 长白| 文化| 锡林浩特市| 科尔| 渑池县| 陇南市| 拉孜县| 徐闻县| 错那县| 普格县| 曲阳县| 英超| 珲春市| 孟州市| 枣阳市| 江陵县| 庄河市| 花莲市| 陆河县| 新蔡县| 响水县| 河东区| 宁远县| 长子县| 洛扎县| 尖扎县| 娱乐| 大丰市| 新疆| 定日县| 黔西|