XamarinSQLite教程在Xamarin.Android專案中使用資料庫
XamarinSQLite教程在Xamarin.Android專案中使用資料庫
在 Xamarin.Android 專案中使用預設資料庫的具體操作步驟如下:
( 1 )建立一個 Xamarin.Android 專案,如 AndroidSQLiteDemo 。
( 2 )在 AndroidSQLiteDemo 專案的 Resources 資料夾下建立一個 Raw 資料夾。
( 3 )將上一節中建立的 Documents.db 資料庫拖動到 Raw 資料夾中。
( 4 )開啟 MainActivity.cs 檔案,將 Documents.db 資料庫的內容複製到 /data/data/[your packageName/files/ MyDocuments.db 中,程式碼如下:
using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; using Android.Support.V7.App; using System.IO; using System.Text; namespace AndroidSQLiteDemo { [Activity(Label = "@string/app_name", MainLauncher = true, LaunchMode = Android.Content.PM.LaunchMode.SingleTop, Icon = "@drawable/icon")] public class MainActivity : AppCompatActivity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.main); var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); if (toolbar != null) { SetSupportActionBar(toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled(false); SupportActionBar.SetHomeButtonEnabled(false); } // Get our button from the layout resource, // and attach an event to it var clickButton = FindViewById<Button>(Resource.Id.my_button); clickButton.Click += (sender, args) => { var sqliteFilename = "MyDocuments.db"; string documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); // Documents folder var path = Path.Combine(documentsPath, sqliteFilename); Console.WriteLine("資料庫檔案的目錄:{0}",path); if (!File.Exists(path)) { var s = Resources.OpenRawResource(Resource.Raw.Documents); //建立寫入列 FileStream writeStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write); ReadWriteStream(s, writeStream); } }; } void ReadWriteStream(Stream readStream, Stream writeStream) { int Length = 256; Byte[] buffer = new Byte[Length]; int bytesRead = readStream.Read(buffer, 0, Length); // 寫入所需位元組 while (bytesRead > 0) { writeStream.Write(buffer, 0, bytesRead); bytesRead = readStream.Read(buffer, 0, Length); } readStream.Close(); writeStream.Close(); } } }
執行程式後,初始狀態如圖 1.31 所示。
輕拍 HELLO WORLD,CLICK ME! 按鈕後,會在輸出視窗輸出以下的內容:
資料庫檔案的目錄: /data/user/0/com.company.AndroidSQLiteDemo/files/MyDocuments.db
此時 Documents.db 資料庫中的內容就會複製到 MyDocuments.db 檔案中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2213505/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XamarinSQLite教程在Xamarin.Android專案中定位資料庫檔案SQLiteAndroid資料庫
- XamarinSQLite教程在Xamarin.Android專案中提取資料庫檔案SQLiteAndroid資料庫
- XamarinSQLite教程在Xamarin.iOS專案中定位資料庫檔案SQLiteiOS資料庫
- XamarinSQLite教程Xamarin.Android專案新增引用SQLiteAndroid
- XamarinSQLite教程Xamarin.iOS專案中開啟資料庫檔案SQLiteiOS資料庫
- XamarinSQLite教程建立資料庫aSQLite資料庫
- XamarinSQLite教程建立資料表SQLite
- XamarinSQLite教程新增測試資料SQLite
- 有望在專案中接觸國產資料庫資料庫
- 在vue專案中mock資料VueMock
- 在Xamarin.iOS專案中使用預設資料庫iOS資料庫
- 資料庫學習:在資料庫中存取檔案(轉)資料庫
- 在ORACLE中移動資料庫檔案在(轉)Oracle資料庫
- XamarinSQLite教程新增索引SQLite索引
- XamarinSQLite教程新增列SQLite
- 在ORACLE中移動資料庫檔案Oracle資料庫
- 手把手教你在Flutter專案優雅的使用ORM資料庫FlutterORM資料庫
- 在Docker中能使用資料庫嗎? | BaeldungDocker資料庫
- 在ORACLE中移動資料庫檔案(轉)Oracle資料庫
- 手把手教你在Flutter專案優雅的使用ORM資料庫(下篇)FlutterORM資料庫
- 手把手教你在Flutter專案優雅的使用ORM資料庫--下篇FlutterORM資料庫
- 在專案中如何直接使用hystrix?
- 在ASP中也能使用MYSQL資料庫(轉)MySql資料庫
- 在大型專案中,抖音集團如何“用活”資料?
- Oracle資料庫中convert()函式,在瀚高資料庫中如何替換使用?Oracle資料庫函式
- MySQL資料庫中timediff()函式,在瀚高資料庫中如何替換使用?MySql資料庫函式
- 在非 laravel 專案中使用 laravel 的特性 4: 資料庫遷移 migrationLaravel資料庫
- 在 React 專案中全量使用 HooksReactHook
- JWT 在專案中的實際使用JWT
- 僅使用了JDBC的專案,在啟動時不需要連線資料庫JDBC資料庫
- 在SQL Server資料庫中匯入MySQL資料庫Server資料庫MySql
- IT專案管理 與 資料庫管理專案管理資料庫
- 客快物流大資料專案(五十一):資料庫表分析 物流專案 資料庫表設計大資料資料庫
- 路飛專案使用mysql資料庫詳細講解MySql資料庫
- 資料庫在資料分析中如何應用資料庫
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- 在不同的資料庫中解析SQLServer資料資料庫SQLServer
- Select Top在不同資料庫中的使用用法資料庫