import android.content.ContentResolver;
import android.content.ContentValues;
import android.net.Uri;
import android.test.AndroidTestCase;
public class Test extends AndroidTestCase {
// private static final String TAG = "Test";
public void testInsert() {
Uri uri = Uri.parse("content://com.example.testsqlite.provider.MyContentProvider/person/insert");
//提供者访问的对象
ContentResolver resolver = getContext().getContentResolver();
ContentValues values = new ContentValues();
values.put("name", "lee");
values.put("age", 18);
uri = resolver.insert(uri, values);
long id = ContentUris.parseId(uri);
Log.i(TAG, "添加到: " + id);
}
}
错误显示:
java.lang.IllegalArgumentException: Unknown URL content://com.example.testsqlite.provider.MyContentProvider/person/insert
at android.content.ContentResolver.insert(ContentResolver.java:600)
at com.example.contenttest.test.Test.testInsert(Test.java:23)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
解决办法:
注销 long id = ContentUris.parseId(uri); 就可以解决,但是这样就得不到uri后面的id了,期待解决办法