タイトルによれば、Javaで書かれたAndroidアプリとXamarinを使用してC#で書かれたAndroidアプリの間でSqliteデータベースを共有したいと考えています。私は成功した2つのJavaアプリケーション(With the help of this question)が、私はXamarinで同じことをしようとすると、私は次のエラーを取得しています間でデータベースを共有することができます。XamarinアプリケーションとJava Androidアプリケーションの間でsqliteデータベースを共有する方法
Android.Database.Sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
私は二つの問題があると思います。
私はShared UserIdを正しく設定していません。現在、主な活動の上に次の属性を配置しています。
[Register("my.user.id")]
私は、マニフェストファイルで
android:sharedUserId="my.user.id"
を使用してみましたが、それはエラーを投げていたし、私のデバイスへの展開ではないでしょう。私はアプリの署名がどのように機能するのか分かりません。だから私のデバイスは、2つのアプリケーションが各デバイスの別のパブリッシャから来ていると見て、2人がコンテキストを共有することを許可していない可能性があります。
EDIT:
はちょうど私が将来refrenceに同じ証明書を使用して、両方のアプリケーションに署名した方法を追加したいです。
Android証明書はnoramlly "C:\Users\userName\.android\debug.keystore"
であり、Xamarin証明書は"C:\Users\userName\AppData\Local\Xamarin\Mono for Android\debug.keystore"
にノーマリです。私はXamarinアプリを最初に構築したので、xamarinフォルダからdebug.keystoreファイルをアンドロイドにコピーしました。 (私はそれが別の方法で動作しますが、それをテストしていないと確信しています)