作者aquatear (米虫)
看板AndroidDev
标题Re: [问题] 请问外部档案安装
时间Wed Jul 11 01:42:39 2012
感谢您的解答喔 ~~ 非常详尽 !! 赞赞赞
我也是用检查档案的方式看看要不要 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
1F:推 gpc:PM拿一下versionCode跟signature比一下就好了... 07/11 10:17
2F:→ gpc:另外jni里面可以做所有JAVA能够做的事情 包括来到相对路径 07/11 10:19