Are you sure the uri coming into the method is not null?
On Tuesday, December 11, 2012 10:19:13 PM UTC-5, Hilda Chen wrote:
> public int getCount(Uri uri){
> Cursor c=null;
> int size=0;
> if(uri.equals(DatabaseContants.CONTENT_URI_SETTING)){
> c=mContentResolver.query(uri,
> DatabaseContants.COLUMNS_SETTING,null, null,null);
> }
> else if(uri.equals(DatabaseContants.CONTENT_URI_FAVORITEPOI)){
> Log.v(TAG,"ContentResolver is "+mContentResolver);
> c=mContentResolver.query(uri,
> DatabaseContants.COLUMNS_FAVORITEPOI,null,
> null,DatabaseContants.PLACEID_FAVORITE+" DESC");
> Log.v(TAG,"Cursor c is "+c);
> }
> if(c!=null&&c.getCount()>0)size=c.getCount();
> c.close();
> return size;
> }
> the error appears in this function.
>
> 在 2012年12月12日星期三UTC+8上午11时13分55秒,Hilda Chen写道:
>>
>> Hi All:
>> I create a datatbase with provider and get the data by content
>> resolver. when call ContentResolver.insert is ok, but
>> ContentResolver.query fail.
>> c=mContentResolver.query(uri,
>> DatabaseContants.COLUMNS_FAVORITEPOI,null,
>> null,DatabaseContants.PLACEID_FAVORITE+" DESC");
>> it return null, and the ContentResolver is not null;
>> the log is
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): FATAL EXCEPTION: main
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): java.lang.RuntimeException:
>> Unable to start activity
>> ComponentInfo{com.example.providerdatabase/com.example.providerdatabase.PrivoterDatabaseActivity}:
>>
>> java.lang.NullPointerException
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2082)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2107)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.ActivityThread.access$600(ActivityThread.java:139)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.os.Handler.dispatchMessage(Handler.java:99)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.os.Looper.loop(Looper.java:137)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.ActivityThread.main(ActivityThread.java:4812)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> java.lang.reflect.Method.invokeNative(Native Method)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> java.lang.reflect.Method.invoke(Method.java:511)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> dalvik.system.NativeStart.main(Native Method)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): Caused by:
>> java.lang.NullPointerException
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> com.example.providerdatabase.DatabaseController.getCount(DatabaseController.java:47)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> com.example.providerdatabase.PrivoterDatabaseActivity.onCreate(PrivoterDatabaseActivity.java:62)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.Activity.performCreate(Activity.java:5008)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): at
>> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2046)
>> 06-02 03:31:34.235: E/AndroidRuntime(23134): ... 11 more
>>
>> can you help me?
>> Thanks!
>> Hilda
>>
>
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en