android – ContentResolver查询抛出nullpointerException

android – ContentResolver查询抛出nullpointerException,第1张

概述我正在写一个基于 Android 2.3.3 htc令人难以置信的S的感应2.1的MMS / SMS应用程序. 现在,在尝试接收SMS / MMS的某个联系人列表时,我在查询中获得了FC. 这是一些代码: Uri uri = Uri.parse("content://mms-sms/conversations/"+String.valueOf(thread_id));ContentResolve 我正在写一个基于 Android 2.3.3 htc令人难以置信的S的感应2.1的MMS / SMS应用程序.
现在,在尝试接收SMS / MMS的某个联系人列表时,我在查询中获得了FC.

这是一些代码:

Uri uri = Uri.parse("content://mms-sms/conversations/"+String.valueOf(thread_ID));ContentResolver cr = context.getContentResolver();Cursor c= cr.query(uri,null,null);    //crashing here

logcat的:

05-22 15:24:24.273: E/AndroIDRuntime(32087): FATAL EXCEPTION: main05-22 15:24:24.273: E/AndroIDRuntime(32087): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uiu.messaging/com.uiu.messaging.ContactMessageChain}: java.lang.NullPointerException05-22 15:24:24.273: E/AndroIDRuntime(32087): at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1816)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.app.ActivityThread.access00(ActivityThread.java:132)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.os.Handler.dispatchMessage(Handler.java:99)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.os.Looper.loop(Looper.java:143)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.app.ActivityThread.main(ActivityThread.java:4196)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at java.lang.reflect.Method.invokeNative(Native Method)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at java.lang.reflect.Method.invoke(Method.java:507)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:597)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at dalvik.system.NativeStart.main(Native Method)05-22 15:24:24.273: E/AndroIDRuntime(32087): Caused by: java.lang.NullPointerException05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.os.Parcel.readException(Parcel.java:1328)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.content.ContentProvIDerProxy.bulkqueryInternal(ContentProvIDerNative.java:372)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.content.ContentProvIDerProxy.query(ContentProvIDerNative.java:408)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.content.ContentResolver.query(ContentResolver.java:264)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at com.uiu.messaging.Data.getContactChain(Data.java:319)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at com.uiu.messaging.ContactMessageChain.onCreate(ContactMessageChain.java:138)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)05-22 15:24:24.273: E/AndroIDRuntime(32087):    at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1780)05-22 15:24:24.273: E/AndroIDRuntime(32087):    ... 11 more

所有权限都被考虑在内.

任何帮助将不胜感激.

编辑:

遵循Mike的建议后,我在logcat中收到以下错误:

05-22 16:31:46.178: E/AndroIDRuntime(1892): FATAL EXCEPTION: main05-22 16:31:46.178: E/AndroIDRuntime(1892): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.uiu.messaging/com.uiu.messaging.ContactMessageChain}: androID.database.sqlite.sqliteException: near "*": Syntax error:,while compiling: SELECT * FROM (SELECT disTINCT date * 1 AS normalized_date,NulL AS * FROM sms WHERE (htc_category= 0 AND thread_ID = 25 AND (type != 3 AND type > 0)) UNION SELECT disTINCT date * 1000 AS normalized_date,NulL AS * FROM pdu left JOIN pending_msgs ON pdu._ID = pending_msgs.msg_ID WHERE (htc_category= 0 AND thread_ID = 25 AND msg_Box != 3 AND (msg_Box > 0 AND msg_Box != 3 AND (m_type = 128 OR m_type = 132 OR m_type = 130))) ORDER BY normalized_date ASC)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1816)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.app.ActivityThread.access00(ActivityThread.java:132)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.os.Handler.dispatchMessage(Handler.java:99)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.os.Looper.loop(Looper.java:143)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.app.ActivityThread.main(ActivityThread.java:4196)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at java.lang.reflect.Method.invokeNative(Native Method)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at java.lang.reflect.Method.invoke(Method.java:507)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:597)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at dalvik.system.NativeStart.main(Native Method)05-22 16:31:46.178: E/AndroIDRuntime(1892): Caused by: androID.database.sqlite.sqliteException: near "*": Syntax error:,NulL AS * FROM pdu left JOIN pending_msgs ON pdu._ID = pending_msgs.msg_ID WHERE (htc_category= 0 AND thread_ID = 25 AND msg_Box != 3 AND (msg_Box > 0 AND msg_Box != 3 AND (m_type = 128 OR m_type = 132 OR m_type = 130))) ORDER BY normalized_date ASC)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.content.ContentProvIDerProxy.bulkqueryInternal(ContentProvIDerNative.java:372)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.content.ContentProvIDerProxy.query(ContentProvIDerNative.java:408)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.content.ContentResolver.query(ContentResolver.java:264)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at com.uiu.messaging.Data.getContactChain(Data.java:318)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at com.uiu.messaging.ContactMessageChain.onCreate(ContactMessageChain.java:138)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)05-22 16:31:46.178: E/AndroIDRuntime(1892):     at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1780)05-22 16:31:46.178: E/AndroIDRuntime(1892):     ... 11 more

我不知道SQL语句有什么问题……

解决方法 好的,修好了.诀窍是在投影中输入实际的列名.好像这个BUG毕竟是androID的. 总结

以上是内存溢出为你收集整理的android – ContentResolver查询抛出nullpointerException全部内容,希望文章能够帮你解决android – ContentResolver查询抛出nullpointerException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存