Re: [問題] 請問外部檔案安裝
感謝您的解答喔 ~~ 非常詳盡 !! 讚讚讚
我也是用檢查檔案的方式看看要不要 copy,
不過這樣就沒辦法分辨檔案新舊...
如果外部檔案被程式設計師更新後, 使用者再去裝 apk,
但是 sdcard 存在之前舊的外部檔案
這樣就會造成更新上的問題了~~
不知道有沒有好的解法...
主要的問題還是不想讓使用者自己手動
copy 外部檔到 sdcard...(應該沒有一個 app 是這樣做)
因為程式本身會讀取絕對路徑, 也就是一個 String path,
所以 InputStream 他是不吃的, 這邊不能改的原因,
是因為那個路徑是透過 jni 傳到底層去的, 不是在 java 上層處理的資料,
所以只能讀取絕對路徑~~
好怪阿 ~~ 那些 game 到底是怎麼寫的呢 > <
應該都會有資料檔存在 sdcard 的吧~ 還是都不用更新這樣 > <
整包 apk update ?
※ 引述《MiaShopgirl ( )》之銘言:
: 恕刪..
: : → MiaShopgirl:onCreate的時候確認SD路徑下沒有要用的檔案的時候, 07/06 13:19
: : → MiaShopgirl:把檔案放在assets裡面,再copy到SD 吧..? 07/06 13:20
: : → MiaShopgirl:or直接存取assets,就不用再複製到SD 07/06 17:27
: : → aquatear:恩, 目前是用拷貝的方式進 sdcard, 不過這樣會有更新的問 07/07 21:46
: : → aquatear:題, 變成每次啟動都會 copy 一次,因為程式只能讀取檔案 07/07 21:47
: 如果要避開「每次啟動都會 copy 一次」,
: 可以檢查檔案是否存在再決定要不要複製檔案..
: File file=
: new File(Environment.getExternalStorageDirectory(), "yourFileName.here");
: if(!file.exists()){
: /**copy file method**/
: //copying file to externalStorage..
: }else{
: /**file existed, no need to copy file**/
: }
: : → aquatear:路徑, assets 似乎沒辦法提供真正的檔案路徑來存取,還是 07/07 21:47
: : → aquatear:有辦法 ? 07/07 21:47
: 把檔案放在assets下存取,
: InputStream is = getAssets().open("yourFileName.here");
: 專案目錄結構:
: YourProjectName\
: assets\yourFileName.here
: bin\
: gen\
: libs\
: res\
: src\
: AndroidManifest.xml
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.180.61.244
推
07/11 10:17, , 1F
07/11 10:17, 1F
→
07/11 10:19, , 2F
07/11 10:19, 2F
討論串 (同標題文章)