почему мой контент URI получает ошибку? - PullRequest
0 голосов
/ 12 мая 2011

это класс, который расширяет базовые столбцы

public static final String AUTHORITY = "imammuda";
public static final String PROGRAMPATH = "Program";

public static final Uri PROGRAM_URI = Uri.parse("content://" + AUTHORITY + "/" + PROGRAMPATH);

это класс contentProvider, который расширяет contentprovider

static{
    sUriMatcher.addURI(ImamShareData.AUTHORITY, ImamShareData.PROGRAMPATH, PROGRAM);
    sUriMatcher.addURI(ImamShareData.AUTHORITY, ImamShareData.PROGRAMPATH + "/#", PROGRAM_ID);
}
@Override
public Uri insert(Uri uri, ContentValues initialvalues) {
    TableNumber = sUriMatcher.match(uri);
    if( TableNumber != PROGRAM){
        throw new IllegalArgumentException("Unknown URI " + uri);
    }
}

это класс, который расширяет расширяемый список активности

private void createdata(){
(...)
(...)
    for(int i = 0; i < title.length; i++){
        ContentValues values = new ContentValues();
        values.put(ImamShareData.DataContent.KEY_PROGRAM_TITLE, title[i]);
        Uri group = cr.insert(ImamShareData.DataContent.PROGRAM_URI, values); <== when call give error
    }

это манифест xml

<provider android:authorities="imammuda" android:name="contentProvider" android:multiprocess="true"></provider>

это logcat

05-12 12:03:49.823: ERROR/AndroidRuntime(3875): Caused by: java.lang.IllegalArgumentException: Unknown URI content://imammuda/Program
05-12 12:03:49.823: ERROR/AndroidRuntime(3875):     at com.android.imammuda.contentProvider.insert(contentProvider.java:139)
05-12 12:03:49.823: ERROR/AndroidRuntime(3875):     at android.content.ContentProvider$Transport.insert(ContentProvider.java:197)
05-12 12:03:49.823: ERROR/AndroidRuntime(3875):     at android.content.ContentResolver.insert(ContentResolver.java:592)
05-12 12:03:49.823: ERROR/AndroidRuntime(3875):     at com.android.imammuda.Program.createdata(Program.java:53)
05-12 12:03:49.823: ERROR/AndroidRuntime(3875):     at com.android.imammuda.Program.onCreate(Program.java:32)

1 Ответ

1 голос
/ 09 мая 2012

В файле AndroidManifest укажите полное имя пакета под элементом android: name.Попробуйте использовать права доступа в качестве имени пакета.

...