프로그래밍/Android
안드로이드 업데이트 구현 ( 개별 서버 및 내부 메모리로 다운로드)
건앤로즈
2011. 3. 21. 14:26
소스를 이용해서 sdcard/apk/ 폴더에 APK파일을 넣어놓고 정상적으로 업데이트 되는것을 확인하였습니다.
근데 문제는 sdcard 이 경로는 sdcard가 있을경우 인거잖아요?
이 sdcard가 없어도 되게 만들고 싶거든요.. 그렇다면 내부 메모리 폴더에 다운되는 APK파일을 저장해야 하는데..
어디다 넣어야 할지 모르겠습니다.
그리고 분명 폰마다 동일한 폴더가 없을 수도 있을거 같고..
어떻게 하면 좋을지 모르겠습니다. 꼭 해결을 해야 되는데..
내부메모리에 읽고 쓸수 있는 권한을 주는 폴더를 만들수 있는 방법이나 아님 그런 권한이 있는 폴더에 저장하면 되는지..
혹시 아시는 분 꼭 답글 부탁드려 봅니다.
File parent = new File("/sdcard/apk/"); if(!parent.exists()) { parent.mkdirs(); } try { URLConnection uc = new URL("http://XXX.co.kr/"+apkName+".apk").openConnection(); InputStream in = uc.getInputStream(); int len=0, total=0; byte[] buf = new byte[1024]; File apk=new File("/sdcard/apk/"+apkName+".apk"); if(apk.exists()){ apk.delete(); } apk.createNewFile(); // 다운로드 FileOutputStream fos = new FileOutputStream(apk); while((len=in.read(buf, 0, 1024)) != -1) { total += len; fos.write(buf, 0, len); } in.close(); fos.flush(); fos.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } File apkFile = new File("/sdcard/apk/"+apkName+".apk"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); return intent;-> 답변 : /nand/data/app <<이경로난 nand 내부 메모리네요... 저는 위소스 가지고 이경로로 해결했네요... [출처]안드로이드사이드