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(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(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文件中。

xamarin怎么调用java的_XamarinSQLite教程在Xamarin.Android项目中使用数据库相关推荐

  1. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件

    XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...

  2. XamarinSQLite教程在Xamarin.Android项目中定位数据库文件

    XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...

  3. XamarinSQLite教程在Xamarin.Android项目中使用数据库

    XamarinSQLite教程在Xamarin.Android项目中使用数据库 在Xamarin.Android项目中使用预设数据库的具体操作步骤如下: (1)创建一个Xamarin.Android项 ...

  4. android vlc使用教程_在android项目中使用VLC

    VLC是pc时代流媒体播放器的标杆,相信大家都有接触.VLC的流媒体部分是基于开源的live555库.live555的代码我稍微看过一些,基于C++的,说实话,代码写的有点乱,不太符合一个开源库的档次 ...

  5. 如何使用mysql建立项目_【dbForge Studio for MySQL入门教程】如何在项目中使用数据库对象和如何使用项目构建配置...

    重命名数据库对象 要从项目重命名对象,请执行以下步骤: 1. 在" Schema View "窗口中右键单击该对象. 2. 从快捷菜单中选择" Rename " ...

  6. XamarinSQLite教程Xamarin.iOS项目中打开数据库文件

    XamarinSQLite教程Xamarin.iOS项目中打开数据库文件 以下是打开MyDocuments.db数据库的具体操作步骤: (1)将Mac电脑上的MyDocuments.db数据库移动到W ...

  7. XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件

    XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件 开发者可以在指定的路径中找到复制的数据库文件,具体的操作步骤如下: (1)单击Mac电脑中Finder菜单中的"前 ...

  8. java计算机毕业设计临港新片区招商引资项目管理系统源代码+数据库+系统+lw文档

    java计算机毕业设计临港新片区招商引资项目管理系统源代码+数据库+系统+lw文档 java计算机毕业设计临港新片区招商引资项目管理系统源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S ...

  9. Unity3D教程:实现房产项目中的材质动态切换

    在许多典型的房产展示项目当中,经常需要动态地实现例如墙纸.地板等材质的更换以获得不同的展示效果,下面将通过一个简单的教程介绍实现这一功能的关键技术. 首先需要场景中创建一个简易的样品房,样品房里面有一 ...

最新文章

  1. 服务器响应的生成:HTTP响应报头——HttpServletResponse接口的应用
  2. USB Kill v2.0,一个可以瞬间烧毁电脑或平板的“U盘”
  3. java log4j mysql_java – 配置log4j属性文件以存储在mysql数据库中
  4. php和python哪个好-PHP和Python语言选择哪个好
  5. 鼠标一点打开几个网页
  6. 普罗米修斯笔记:初识Prometheus
  7. ftp服务器复制粘贴文件夹,ftp服务器复制粘贴文件夹
  8. 开课吧Java课堂:StringBuffer全解,非常详细
  9. 频域波束形成matlab,关于FFT波束形成
  10. 查询ISBN号验证ISBN号调用api接口查询书籍信息
  11. 利用selenium自动登录126邮箱
  12. “2020 博客之星”年度总评选 TOP 200 名单已出,速来认领!
  13. 我与计算机1000字大学,计算机系大学生助学金申请书(1000字)
  14. Anaconda 换源后失败
  15. 虚拟机重启网卡命令和防火墙关闭和开启
  16. 漏洞:会话固定攻击(session fixation attack)
  17. Linux主机IP地址:网络信息不可用
  18. 恒生电子实习记录-2
  19. 可视化人工智能区块链操作系统奥泰AOT在硅谷立项
  20. ios中图层的用法(1)

热门文章

  1. SpringBoot —— Bean的注入方式
  2. Android设计模式之——命令模式
  3. 世纪大争论:Linux还是GNU/Linux?
  4. GCC for Win32开发环境介绍
  5. vue 组件间传值、兄弟组件 、bus方式 ( 1 分钟看懂 )
  6. 超方便、最简单版本:java 邮件发送 (半分钟写完代码)
  7. linux中项目部署和日志查看
  8. 记录no static method cannot be reference
  9. java中ftp文件上传和中文乱码解决
  10. NIO客户端主要创建过程