storing android application data on SD Card

前端 未结 6 2012
-上瘾入骨i
-上瘾入骨i 2020-12-07 17:19

Is there a way to store android application data on the SD card instead of in the internal memory? I know how to transfer the application sqlite database from the internal m

6条回答
  •  伪装坚强ぢ
    2020-12-07 17:51

    To begin:

    Depending on the model/os, you can access the sd card root directory with:

    File externalStorage = Environment.getExternalStorageDirectory();
    

    This will refer to the internal sd storage or internal sd memory.

    externalStorage.getAbsolutePath() 
    

    will return one of the following values

    "/sdcard/" or "/mnt/sdcard/"

    To access the external sd memory or micro SD, that you usually plug from the outside of the phone/tablet, you must use one of the following folders that android creates to point to the external memory:

    "/mnt/sdcard/sd" 
    "/mnt/sdcard/external_sd"
    
    "/sdcard/external_sd"
    "/sdcard/sd" 
    
    "/mnt/sdcard/"
    

    ps: you can notice an empty folder external_sd or sd on the internal sdcard

    memory, this folder is empty and its used to point to external micro sd card.

    at the end make sure that you have read/write access to the sd card android.permission.WRITE_EXTERNAL_STORAGE in the android manifest xml.

    finally you must specify the file name and your ready

    private SQLiteDatabase DB = null;
    
    private static final String DATABASE_NAME = "MyDb.db"; 
    ////////////
    File sdcard = Environment.getExternalStorageDirectory();
    
    String dbfile = sdcard.getAbsolutePath() + File.separator+ "external_sd" + File.separator + DATABASE_NAME;
    
    DB = SQLiteDatabase.openDatabase(dbfile, null,SQLiteDatabase.NO_LOCALIZED_COLLATORS);
    ///////////
    

    and your ready to go ...

提交回复
热议问题