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>