• 1397/08/20

خطا در استفاده از sqlite زامارین :

سلام

من دارم روی یه پروژه زامارین در vs 2017 کار میکنم

و از سمپلی که شما ارائه داده بودین در پروژه friend ، کمک می گیرم و به خطای زیر تو اجرا برخورد می کنم

Unhandled Exception:

System.NotSupportedException: Could not activate JNI Handle 0xfff474e8 (key_handle 0xc93190c) of Java type 'md5f7eb2388b046c0d35404afeab7e67314/LoginActivity' as managed type 'xxxx.LoginActivity'.

---------------------------------------

        string dbPath = "";
        string dbName = "xxxx";
        private SQLiteConnection db;

     dbPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            var platform = new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid();
*******            db = new SQLiteConnection(platform, Path.Combine(dbPath, dbName));
 

-------------------------------------

 

روی خط آخر خطا میده

  • 1397/08/20
  • ساعت 18:02

متن خطا کاملا گویاست 

نمیتونه به بانک متصل بشه 

مسیر درست نیست یا دسترسی نداره 


  • 1397/08/21
  • ساعت 09:58

دسترسی های زیر رو دادم:

write_external_storage

read_external_storage

internet

مسیرهای زیر هم برای ایجاد db تست کردم:

"data/user/0/TrafficControll.TrafficControll/files/TrafficControl/"

"data/user/0/TrafficControll.TrafficControll/files/.local/share/TrafficControl/"

باز هم خطای  Could not activate JNI Handle رو میده

 


  • 1397/08/21
  • ساعت 11:31

متاسفانه نمیتونم حدس بزنم مشکل کجاست 

من کلمه Could not activate JNI Handle xamarin راسرج کردم چندین راه حل بود 

امتحان کنید امیدوارم به نتیجه برسید و اگر رسیدید لطفا در اینجا بزارید 


  • 1397/09/01
  • ساعت 11:59

راه حل:

پکیج sqlite-net-pcl نصب بشه و از کد زیر استفاده بشه برای ایجاد دیتابیس: 

            dbPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            var s = Path.Combine(dbPath, dbName);
            db = new SQLiteConnection(Path.Combine(dbPath, dbName));

 


logo-samandehi