C'est ma première fois à l'aide d'un fournisseur de contenu, mais j'ai suivi le développeur Docs mais quand j'exécute le programme, il me dit Voici mon manifeste p> et mon Fournisseur de contenu p> } p> Je ne sais pas ce que j'ai fait de mal? p> p> p> Échec de la recherche d'informations sur le fournisseur code>
4 Réponses :
fournisseur doit être dans la balise d'application.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tyczj.bowling" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name="Tabs"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="BowlersList"></activity> <provider android:name="com.tyczj.bowling.BowlersDB" android:authorities="com.tyczj.bowling.bowlersdb"> </provider> </application> </manifest>
OK a fait cela, ne recevez pas l'erreur "Cant-ce que le fournisseur de fournisseur", mais maintenant, il me dit "_ID" n'existe pas code>?
Si vous placez la balise de fournisseur en dehors de la balise d'application, elle échoue dans Kit Kat, mais fonctionne partout ailleurs ... à l'intérieur de la balise d'application se bloque dans KK.
Vous avez cette erreur car vous définissez votre fournisseur en dehors de la balise d'application. Donc, veuillez définir votre fournisseur à l'intérieur de l'application.
<application ........ <provider android:name="com.tyczj.bowling.BowlersDB" android:authorities="com.tyczj.bowling.bowlersdb"> </provider> </application>
C'est un bon exemple de la raison pour laquelle utiliser l'éditeur manifeste Android à Eclipse. Il met de tels éléments / composants dans leur emplacement syntaxiquement correct, il n'est donc pas nécessaire de s'inquiéter de cette question. Une autre façon de la regarder: envisagez d'utiliser l'éditeur manifeste au début (et tout à fait) pour confirmer l'exactitude de votre manifeste. P>
Vous ne devez pas appeler Comme GetWRITratabase, cette méthode peut prendre beaucoup de temps à revenir,
Donc, vous ne devriez pas l'appeler du fil principal de l'application, y compris
de contenuprovider.oncreate (). p>
blockQuote>
Tenez-vous une référence à l'instance SQLITEOPENHELPER et appelez GetWRITRABLEDABASEABASE / GETREADABLEDABASE, selon les méthodes requises dans la requête / INSERT / DELETE / Mettre à jour les méthodes appelées asynchrone si vous utilisez des chargeurs. P>
Désolé, cela n'est pas ciblé directement à la question, mais c'est quelque chose que j'ai vu partout dans les échantillons de code. P> db = dbhelper.getwritacratabase (); code> dans le fichier de contenu surCréate. Ceci est pour la raison indiquée dans
SQLITEOPENHELPER CODE> Documentation pour
GetReadAfableAbase CODE> et
GEWRITABLEDABASEABASE CODE>: P>