2010-11-01 7 views
0

mon application est la liste de contact et je veux stocker mes données de contact dans la carte SD mais comment puis-je stocker des données dans la carte SD, ou si je vais utiliser la base de données puis comment je veux le stocker ou en utilisant le fichier simple que la façon dont je veux stockercomment écrire des données dans la carte SD

Thanx à l'avance

Répondre

1

Si vous voulez vraiment enregistrer un simple fichier sur la carte SD, vous pouvez le faire comme ceci:

File sdCard = Environment.getExternalStorageDirectory(); // get a handle to the SD card 
File myFile = new File(sdCard, "test"); // get a file handle so a single file 

Vous pouvez maintenant utiliser un BufferedWriter, par exemple, ou n'importe quelle autre méthode Java d'écrire dans ce nouveau fichier.

Votre application doit avoir la permission d'écrire sur la carte SD, bien sûr, en ajoutant WRITE_EXTERNAL_STORAGE.

Par convention, toutes vos données d'application doivent être stockés dans le répertoire suivant sur la carte SD: Android/data/your.package.name/files/

Notez également que vous devez explicitement vérifier si une carte SD existe réellement ou si son écriture, et ainsi de suite. Voir here pour une documentation.

1

Vous pouvez obtenir le chemin en utilisant Environment.getExternalStorageDirectory(), puis ouvrir un fichier en utilisant ce chemin.

Vous pouvez avoir le jeu d'autorisations suivantes:

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
0

données de contact de magasin dans le dispositif sdcard à l'aide du code ci-dessous.

VCardActivity.java:-

public class VCardActivity extends Activity { 
     Cursor cursor; 
     ArrayList<String> vCard; 
     String vfile; 
     static Context mContext; 

     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      mContext = VCardActivity.this; 
      getVCF(); 
     } 

     public static void getVCF() { 
      final String vfile = "Contacts.vcf"; 
      Cursor phones = mContext.getContentResolver().query(
      ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
            null, null, null); 
      phones.moveToFirst(); 
      for (int i = 0; i < phones.getCount(); i++) { 
        String lookupKey = phones.getString(phones 
          .getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)); 
        Uri uri = Uri.withAppendedPath(
        ContactsContract.Contacts.CONTENT_VCARD_URI, 
               lookupKey); 
        AssetFileDescriptor fd; 
        try { 
          fd = mContext.getContentResolver().openAssetFileDescriptor(uri, "r"); 
          FileInputStream fis = fd.createInputStream(); 
          byte[] buf = new byte[(int) fd.getDeclaredLength()]; 
          fis.read(buf); 
          String VCard = new String(buf); 
          String path = Environment.getExternalStorageDirectory() 
            .toString() + File.separator + vfile; 
          FileOutputStream mFileOutputStream = new FileOutputStream(path, 
            true); 
          mFileOutputStream.write(VCard.toString().getBytes()); 
          phones.moveToNext(); 
          Log.d("Vcard", VCard); 
        } catch (Exception e1) { 
          // TODO Auto-generated catch block 
          e1.printStackTrace(); 
        } 
      } 
     } 
} 

et voir lien ci-dessous pour plus d'informations.

Export Contacts as a VCF file

et donner ci-dessous la permission dans votre fichier AndroidManifest.xml.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
Questions connexes