2014-01-22 28 views
3

是可以更新資產文件夾app.I的每次更新使測驗應用程序,其對文件夾的圖像的資產folder.Number有圖像顯示,當我啓動應用程序。但是當我更新資產文件夾中的圖像說,從10-20圖像應用程序上顯示的圖像的實際總數是20,但我仍然看到10 images.But當我卸載並安裝應用程序,我會看到所有20 images.how更新資產文件夾,而無需卸載應用程序?更新的圖像文件夾沒有出現在啓動應用程序

String[] getImagesFromAssets() { 
    String[] img_files = null; 

    try { 
     img_files = getAssets().list("pictures"); 
    } catch (IOException ex) { 
     Logger.getLogger(GameActivity.class 
       .getName()).log(Level.SEVERE, null, ex); 
    } 
    return img_files; 
} 

void loadImage(String name) { 
    try { 
     InputStream ims = getAssets().open("pictures/" + name); 

     Drawable d = Drawable.createFromStream(ims, null); 
     image.setImageDrawable(d); 

    } catch (IOException ex) { 
     return; 
    } 
} 
+0

丟棄任何expections是一種不好的做法。大多數時候你都會遇到麻煩。 –

+0

@BinoyBabu pardon。你能幫我找到解決辦法嗎? –

+0

使用'catch(IOException ioe){ioe.printStackTrace(); }'獲得更多的調試信息並在這裏發佈跟蹤。 –

回答

2

AFAIK資產的Android應用程序的文件夾將在一次僅安裝的時候被初始化。應用程序打包並安裝後,您無法更新資產文件夾。安裝完成後,如果您對資源進行了任何更改,它將不會反映到您較早安裝的版本。由於Asset文件夾是隻讀的,因此無法寫入或更新其中存在的任何文件。

如果您想更新它,那麼你需要卸載舊版本並安裝新版本。

+0

感謝reply.i see.i閱讀本部分在哪裏,而我用Google搜索this.btw我想什麼是什麼檢索圖像替代方式,因爲資產不更新,除非用戶卸載應用程序嗎?還可以使用我drawable文件夾來添加圖像,即drawable/new_folder,並且想知道從該new_folder中檢索的方法,替換上面共享的我的資產代碼。 –

+0

唯一的方法是將圖像複製到SD卡中,然後嘗試從那裏訪問它。由於可繪製文件夾也是隻讀的如果您將圖像保存爲可繪製文件,則無法在運行時通過向其中添加圖像來更新它。因此,將您的圖像複製到某些外部存儲器,然後從應用程序中以可行的方式訪問它,總是更好。 – GrIsHu

+0

哦,我see.so你可以提供代碼如果possible.btw只是好奇其他問答應用程序的工作?你有任何想法?即增加更多的水平遊戲。 –

0

您可以使用該功能拍攝的圖像從資產:

AssetManager assetManager = getAssets(); 
      InputStream istr = null; 
      try { 
       istr = assetManager.open(strName); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
      Bitmap bitmap = BitmapFactory.decodeStream(istr); 
+0

我相信這是我用來代替將對象名稱分配給getAssets(); –

相關問題