xamarin怎么调用java的_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(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项目中使用数据库相关推荐
- XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...
- XamarinSQLite教程在Xamarin.Android项目中定位数据库文件
XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...
- XamarinSQLite教程在Xamarin.Android项目中使用数据库
XamarinSQLite教程在Xamarin.Android项目中使用数据库 在Xamarin.Android项目中使用预设数据库的具体操作步骤如下: (1)创建一个Xamarin.Android项 ...
- android vlc使用教程_在android项目中使用VLC
VLC是pc时代流媒体播放器的标杆,相信大家都有接触.VLC的流媒体部分是基于开源的live555库.live555的代码我稍微看过一些,基于C++的,说实话,代码写的有点乱,不太符合一个开源库的档次 ...
- 如何使用mysql建立项目_【dbForge Studio for MySQL入门教程】如何在项目中使用数据库对象和如何使用项目构建配置...
重命名数据库对象 要从项目重命名对象,请执行以下步骤: 1. 在" Schema View "窗口中右键单击该对象. 2. 从快捷菜单中选择" Rename " ...
- XamarinSQLite教程Xamarin.iOS项目中打开数据库文件
XamarinSQLite教程Xamarin.iOS项目中打开数据库文件 以下是打开MyDocuments.db数据库的具体操作步骤: (1)将Mac电脑上的MyDocuments.db数据库移动到W ...
- XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件
XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件 开发者可以在指定的路径中找到复制的数据库文件,具体的操作步骤如下: (1)单击Mac电脑中Finder菜单中的"前 ...
- java计算机毕业设计临港新片区招商引资项目管理系统源代码+数据库+系统+lw文档
java计算机毕业设计临港新片区招商引资项目管理系统源代码+数据库+系统+lw文档 java计算机毕业设计临港新片区招商引资项目管理系统源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S ...
- Unity3D教程:实现房产项目中的材质动态切换
在许多典型的房产展示项目当中,经常需要动态地实现例如墙纸.地板等材质的更换以获得不同的展示效果,下面将通过一个简单的教程介绍实现这一功能的关键技术. 首先需要场景中创建一个简易的样品房,样品房里面有一 ...
最新文章
- 服务器响应的生成:HTTP响应报头——HttpServletResponse接口的应用
- USB Kill v2.0,一个可以瞬间烧毁电脑或平板的“U盘”
- java log4j mysql_java – 配置log4j属性文件以存储在mysql数据库中
- php和python哪个好-PHP和Python语言选择哪个好
- 鼠标一点打开几个网页
- 普罗米修斯笔记:初识Prometheus
- ftp服务器复制粘贴文件夹,ftp服务器复制粘贴文件夹
- 开课吧Java课堂:StringBuffer全解,非常详细
- 频域波束形成matlab,关于FFT波束形成
- 查询ISBN号验证ISBN号调用api接口查询书籍信息
- 利用selenium自动登录126邮箱
- “2020 博客之星”年度总评选 TOP 200 名单已出,速来认领!
- 我与计算机1000字大学,计算机系大学生助学金申请书(1000字)
- Anaconda 换源后失败
- 虚拟机重启网卡命令和防火墙关闭和开启
- 漏洞:会话固定攻击(session fixation attack)
- Linux主机IP地址:网络信息不可用
- 恒生电子实习记录-2
- 可视化人工智能区块链操作系统奥泰AOT在硅谷立项
- ios中图层的用法(1)