리소스 형식이 아닌 일반 파일에 접근할때는 assets폴더에 화일을 넣고 접근을 하게 되는데..
접근 하는 방식은 다음과 같다.
//assets폴더의 파일을 링크 할때..//URL로드-- 아래는 로컬 파일 로드
mWebView.loadUrl("file:///android_asset/img.html");
//assets화일에 접근할때
getApplicationContext().getAssets();
AssetManager를 이용한 assets 폴더 접근.
위 그림 처럼 assets하위에 폴더를 두고 접근을 하고 싶다면 아래와 같이 하면 된다.
1
2
AssetManager am = getResources().getAssets();
InputStream is = am.open(
"jan/"
+(<b>filename</b>));
[출처] [android] Assets에 관한 짧은 글|작성자 파란검정
assets 폴더에 있는 파일 전체 sdcard에 복사
//퍼미션 중요
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
private void CopyAssets() {
AssetManager
assetManager = getAssets();
String[] files = null;
String mkdir
= null ;
try {
files = assetManager.list("");
//이미지만 가져올때 files =
assetManager.list("image");
} catch (IOException e) {
Log.e("tag",
e.getMessage());
}
for(int i=0; i<files.length; i++)
{
InputStream in = null;
OutputStream out =
null;
try {
in =
assetManager.open(files[i]);
//폴더생성
String str =
Environment.getExternalStorageState();
if (
str.equals(Environment.MEDIA_MOUNTED)) {
mkdir =
"/sdcard/elecgal/templet/" ;
} else {
Environment.getExternalStorageDirectory();
}
File
mpath = new File(mkdir);
if(! mpath.isDirectory()) {
mpath.mkdirs();
}
//
out
= new FileOutputStream("/sdcard/elecgal/templet/" + files[i]);
copyFile(in, out);
in.close();
in =
null;
out.flush();
out.close();
out =
null;
} catch(Exception e) {
Log.e("tag",
e.getMessage());
}
}
}
private void
copyFile(InputStream in, OutputStream out) throws IOException {
byte[]
buffer = new byte[1024];
int read;
while((read =
in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
}
mWebView.loadUrl("file:///android_asset/img.html");
1
2
| AssetManager am = getResources().getAssets(); InputStream is = am.open( "jan/" +(<b>filename</b>)); |
[출처] [android] Assets에 관한 짧은 글|작성자 파란검정
assets 폴더에 있는 파일 전체 sdcard에 복사
//퍼미션 중요
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
private void CopyAssets() {
AssetManager
assetManager = getAssets();
String[] files = null;
String mkdir
= null ;
try {
files = assetManager.list("");
//이미지만 가져올때 files = assetManager.list("image");
} catch (IOException e) {
Log.e("tag",
e.getMessage());
}
for(int i=0; i<files.length; i++)
{
InputStream in = null;
OutputStream out =
null;
try {
in =
assetManager.open(files[i]);
//폴더생성
String str =
Environment.getExternalStorageState();
if (
str.equals(Environment.MEDIA_MOUNTED)) {
mkdir =
"/sdcard/elecgal/templet/" ;
} else {
Environment.getExternalStorageDirectory();
}
File
mpath = new File(mkdir);
if(! mpath.isDirectory()) {
mpath.mkdirs();
}
//
out
= new FileOutputStream("/sdcard/elecgal/templet/" + files[i]);
copyFile(in, out);
in.close();
in =
null;
out.flush();
out.close();
out =
null;
} catch(Exception e) {
Log.e("tag",
e.getMessage());
}
}
}
private void
copyFile(InputStream in, OutputStream out) throws IOException {
byte[]
buffer = new byte[1024];
int read;
while((read =
in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
'Linux > Android' 카테고리의 다른 글
android early suspend 간략하게 정리 (0) | 2012.02.01 |
---|---|
[Android] Ice Cream Sandwitch 소스를 대충 훑어본 결과... (0) | 2011.11.28 |
make file 디버깅, LOCAL_PATH , CLEAR_VARS 정체 확인하기 (0) | 2011.09.14 |
안드로이드 샘플 소스 (0) | 2011.09.08 |
안드로이드 루트 권한 요청하기 소스 코드 (0) | 2011.08.29 |