2012-02-05 3 views
0

Dans l'un de mes jeux, j'essaierai d'accéder à la carte SD en appelant le getExternalFilesDir.Manipulation Stockage/Compatibilité SD

Comme vous le savez, cette méthode n'est pas disponible sur les appareils Android 2.1 (niveau 7 api). Je ne peux pas revenir à une ancienne API à cause de admob (qui a besoin d'une API de niveau 13).

Et moi, je ne peux pas utiliser les anciennes fonctions comme getExternalStorageDir - parce que c'est tout simplement pas disponible au niveau api 13.

Toutes les suggestions?

+0

Est-ce que votre question - vous voulez accéder à la carte SD sur Android 2.1 et au-dessus (API 7 ... API 13)? Vous voulez le faire avec une seule source? Vous ne pouvez pas parce que ni getExternalFilesDir et gexternalStorageDir sont disponibles à toutes les versions d'API? –

Répondre

0

Pour accéder à la carte SD, utilisez Environment.getExternalStorageDirectory() pour obtenir le chemin de la carte SD. Cette méthode est applicable à tous les niveaux d'api car elle est intégrée dans android depuis le niveau API 1.

Vous pouvez obtenir le répertoire de stockage pour les fichiers de votre application en faisant cela.

String externalFileDirectory = 
      Environment.getExternalStorageDirectory().toString(); 
externalFileDirectory += "/Android/data/your.application.package/.files/" 

Notez que les fichiers externalFileDirectory seront automatiquement supprimés lorsque sera désinstallé votre application.

Admob help indique dans la section Exigences que Admob nécessite Android 1.5 (API 3) ou supérieur. Donc, vous pouvez définir votre <uses-sdk android:minSdkVersion="api_level" /> minsdkversion inférieure à 13 et pouvez utiliser getExternalFilesDir. Et par conséquent, vous pouvez utiliser la méthode getExternalFilesDir.

Fory Admob vous n'avez qu'à définir la cible dans default.properties ou project.properties à 13. Écrivez target=android-13 dans votre fichier default.properties ou project.properties. Votre application prendra toujours en charge la version minSdkVersion de votre application.

+0

Vous êtes génial, peut-être que google devrait le publier dans sa section d'aide sur le stockage de données. Je avais configuré la chose admob droit, mais je veux utiliser la dernière API sdk, juste besoin d'un fallback pour api niveau 7 pour l'utilisation de carte SD - vous m'a indiqué la bonne façon, merci est-il une raison pour laquelle vous écrivez ".files" avec un point devant? –