首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Akavache无法打开数据库文件

Akavache无法打开数据库文件
EN

Stack Overflow用户
提问于 2014-05-24 03:57:20
回答 1查看 743关注 0票数 0

我有两个项目-一个PCL (配置文件7)和一个Android应用程序(针对API .但作为一个旁白,我希望它的目标是10)。

PCL已经安装了Nuget的akavache。安卓应用程序已经安装了akavache.sqlite3。对于后者,我还必须参考reference,这样项目才能构建。

Android应用程序引用了PCL。

默认Android活动上有一个按钮连接如下:

代码语言:javascript
复制
button.Click += async (sender, e) =>
{
    var d = new DataService();
    await d.SaveData();
    var ss = await d.LoadData();
    button.Text = ss;
};

PCL有以下代码。

代码语言:javascript
复制
public class DataService
{
    private IBlobCache blobStore;

    public DataService()
    {
        BlobCache.ApplicationName = "DamienApp";
        this.blobStore = BlobCache.UserAccount;
    }
    public async Task SaveData()
    {
        var data = new Person {Name = "Sienna", Age = 3};
        await this.blobStore
                    .InsertObject<string>("mykey", JsonConvert.SerializeObject(data));
    }

    public async Task<string> LoadData()
    {
        var data = await this.blobStore.GetObjectAsync<string>("mykey");
        return data;
    }
}

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

在按下按钮时,我会得到以下错误。

mono未处理异常: mono SQLite.SQLiteException:未能打开数据库文件:BlobCache/userbobs.db (CannotOpen) mono at SQLite.SQLiteConnection..ctor (System.String databasePath,SQLiteOpenFlags openFlags,Boolean ) 0x0006d 在/Users/paul/github/Akavache/Akavache.Sqlite3/SQLiteAsync.cs:344 mono at SQLite.SQLiteConnectionPool+Entry..ctor (SQLite.SQLiteConnectionString connectionString,SQLiteOpenFlags旗子) 0x000000x0000d ( /Users/paul/github/Akavache/Akavache.Sqlite3/SQLiteAsync.cs:330 mono at SQLite.SQLiteConnectionPool+c__AnonStorey14.<>m__25 (Int32 _) 0x00000 in /Users/paul/github/Akavache/Akavache.Sqlite3/SQLiteAsync.cs:309 mono at System.Linq.Enumerable+c__Iterator10`2System.Int32,SQLite.SQLiteConnectionPool+Entry.MoveNext () 0x00000 in :0 mono at System.C

我想知道这是不是某种安全问题。这都是运行我的手机(银河注2),我有根目录访问。

有什么想法吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-09-17 21:58:07

这是您请求它时的一百万年,但是您可能没有设置应用程序名称:

代码语言:javascript
复制
BlobCache.ApplicationName = "MyAppName";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23841175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档