تلقي nullpointerxception عند استدعاء المؤشر في Android
-
20-09-2019 - |
سؤال
أقوم بإنشاء تطبيق يتتبع موقع المستخدمين باستخدام GPS ، ويخزن خط الطول والعرض في قاعدة بيانات باستخدام مزود محتوى ثم إخراج أول طويل و LAT إلى MAPVIEW.
أنا قادر على إنشاء المؤشر باستخدام سطر الكود هذا:
Cursor c = getContentResolver().query(GPSContentProvider.CONTENT_URI,
null, null, null, null);
startManagingCursor(c);
ومع ذلك ، عندما أقوم بإجراء مكالمة للانتقال إلى الصف الأول في قاعدة البيانات أو حتى محاولة إغلاق المؤشر باستخدام c.close();
أتلقى أ NullPointerException
.
تحرير: فقط لتوضيح الأمر ، يمكنني تخزين خط الطول والعرض والوقت في Milli داخل قاعدة البيانات ، ثم تتمثل المشكلة في إخراج البيانات من قاعدة البيانات والتخلص من هذا على الخريطة.
الرمز المحدث:
public static final String AUTHORITY = "application.android.prototype";
// followed by the CONTENT_URI
public static final Uri CONTENT_URI = Uri.
parse("content://" + AUTHORITY + "/gpspoints");
أذونات محدثة:
<provider android:name="GPSDataContentProvider" android:authorities="application.android.prototype">
</provider>
المحلول
قررت عدم استخدام ContentProvider في النهاية حيث سيتم استخدام قاعدة بيانات التطبيق الخاصة بي فقط بواسطة هذا التطبيق الفردي.
بدلاً من ذلك ، قمت بإنشاء قاعدة بيانات نموذجية باستخدام SQL واستخدمت وظيفة مؤشر مماثلة:
sqlitedatabase db = waypoints.getReadabledatabase () ؛ المؤشر المؤشر = db.query (table_name ، from ، null ، null ، null ، null ، order_by) ؛ starkmanagingcursor (المؤشر) ؛ إرجاع المؤشر.