我使用gridview示例與圖像適配器來呈現圖像,區別在於這些圖像是從sdcard中的特定文件夾中檢索的,例如,/SD卡/圖像。 我正在emulator上測試這個應用程序。爲此,我首先在模擬器上配置了sdcard,然後通過eclipse下的DDMS在這個特定的文件夾上推送圖像。如何在設備上安裝應用程序時在包含圖像的SD卡中創建文件夾?
我想知道的是,當用戶在真實設備上安裝應用程序時,有可能在SD卡中創建包含圖像的圖像文件夾,並且如果可能的話,該怎麼做?
我使用gridview示例與圖像適配器來呈現圖像,區別在於這些圖像是從sdcard中的特定文件夾中檢索的,例如,/SD卡/圖像。 我正在emulator上測試這個應用程序。爲此,我首先在模擬器上配置了sdcard,然後通過eclipse下的DDMS在這個特定的文件夾上推送圖像。如何在設備上安裝應用程序時在包含圖像的SD卡中創建文件夾?
我想知道的是,當用戶在真實設備上安裝應用程序時,有可能在SD卡中創建包含圖像的圖像文件夾,並且如果可能的話,該怎麼做?
這可以通過創建所有資源的拉鍊,把他們的資產文件夾中進行,然後使用下面的參考解壓文件夾,這些SD卡進入:http://www.jondev.net/articles/Unzipping_Files_with_Android_%28Programmatically%29
我不知道有辦法做到這一點(這並不是說它不能完成)。 您絕對可以做的一件事就是在用戶第一次運行應用程序時創建文件夾,並將其填入圖像中。
您應該閱讀涵蓋External Storage部分的Android文檔。
我認爲這是可能的。您可以將所有圖像放入資源文件夾中,當您的應用程序啓動時,您可以將其複製到SD卡中的特定文件夾。以下是將數據庫表單資產文件夾複製到應用程序的鏈接。您可以嘗試將圖像表單資源文件夾複製到SDCard。 http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
您可以從資產圖像複製到SD卡
這種方法從資產文件夾複製到你的SD卡拷貝圖像。這裏Jaydeep的文件夾是可以在那個地方使用您的文件夾名稱,我對sdcard.You文件夾的名稱。
public void copyImagesInSdcard()
{
assetManager = mycontext.getAssets();
assetManager1 = mycontext.getAssets();
System.out.println("In copyImagesInSdcard");
try
{
str1=assetManager.list("");
ss=assetManager1.list(str1[1]);
InputStream is;
//System.out.println(ss[0]);
File file=new File(Environment.getExternalStorageDirectory().getPath() + "/Jaydeep's Folder");
if(file.exists()!=true)
{
file.mkdir();
}
else
{
if(file.length()==0)
{
file.mkdir();
}
System.out.println("Length:"+file.length());
}
for(int i=0;i<ss.length;i++)
{
is=assetManager1.open(str1[1] + "/" + ss[i]);
file=new File(Environment.getExternalStorageDirectory().getPath() + "/Jaydeep's Folder/" + ss[i]);
FileOutputStream out=new FileOutputStream(file);
//Bitmap bi = BitmapDrawable.createFromStream(is,ss[0]);
byte b[] =new byte[4096];
while (is.read(b) != -1) {
out.write(b);
}
out.close();
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
感謝jaydeep的答覆。我有一個問題。如果子文件夾內有資源,如myapp/folder1/folder2/image /。圖像是在圖像文件夾內我將不得不添加像這樣的getAssets()中的圖像的路徑assetManager1 = mycontext.getAssets()。「/ myapp/folder1/folder2/image /」; – 2011-06-06 13:32:09
我沒有嘗試嵌套的文件夾,但我認爲它應該爲那工作。如果路徑設置爲那麼就不會發生錯誤 – 2011-06-07 04:37:31
您好jaydeep我已經在我的應用程序上面的代碼嘗試過,但沒有發生。在assets文件夾中添加一個png文件,並使用上面的代碼來檢查這個文件是否被轉移到/ sdcard/demo但是這個文件沒有被添加 – 2011-06-07 06:21:39
請不要在你的答案中添加簽名。 – meagar 2011-06-09 14:37:43