일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 안드로이드 gcm
- Android
- 우분투
- html5
- WebView
- javascript
- C#
- dovecot
- C# IO
- 자바스크립트
- xe
- php 시큐어코딩
- 안드로이드 푸쉬
- mysql
- android 효과음
- 안드로이드 푸시
- not working
- curl
- 안드로이드
- php 취약점
- 설치
- Mail Server
- roundcube
- soundpool
- UML
- FCM
- 자동 생성
- chart.js
- 폼메일
- PHP
- Today
- Total
그러냐
Android Internal Storage 사용하기 본문
참조] http://d.android.com/guide/topics/data/data-storage.html#filesInternal
You can save files directly on the device's internal storage. By default, files saved to the internal storage are private to your application and other applications cannot access them (nor can the user). When the user uninstalls your application, these files are removed.
기기의 내부 저장 공간에 직접적으로 파일을 저장할 수 있습니다.(OS가 올라가있는 메모리) 기본적으로 파일들은 여러분이 만든 어플리케이션에 비공개되는 내부 저장소에 저장되고 다른 어플리케이션들은 그 파일에 접근할 수 없습니다.(유저도 접근 할 수 없어요.) 유저가 여러분이 만든 어플리케이션을 삭제하게 되면 그 파일들 또한 같이 삭제됩니다.
1. 내부 저장소에서 파일 읽기
FileInputStream fis = context.openFileInput("directory.data");
// 바이트로 읽어오기
byte[] buffer = new byte[20];
fis.read(buffer);
...
fis.close();
// 또는 오브젝트로 읽어오기 ( class Directory implements Serializable )
ObjectInputStream ois = new ObjectInputStream(fis);
Directory directory = (Directory) ois.readObject();
ois.close();
2. 내부 저장소에 파일 쓰기
FileOutputStream fos = context.openFileOutput("directory.data", Context.MODE_PRIVATE);
// 바이트로 쓰기
String string = "hello world!";
fos.write(string.getBytes());
fos.close();
// 또는 오브젝트로 쓰기
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(directory);
oos.close();
Tip: If you want to save a static file in your application at compile time, save the file in your project res/raw/ directory. You can open it with openRawResource(), passing the R.raw.<filename> resource ID. This method returns an InputStream that you can use to read the file (but you cannot write to the original file).
만약 컴파일 시점에 여러분의 어플리케이션 내부 정적 파일을 저장하고 싶다면, 프로젝트에서 res/raw/ 디렉토리에 파일을 저장하면 됩니다. 그 파일은 R.raw.<filename> = resource ID를 인자값으로 넘겨주는 openRawResource() 메소드를 사용하여 열 수 있습니다. 이 메소드는 파일을 읽을 수 있게 InputStream을 반환합니다.(하지만 기존 파일에 쓰는 것은 할 수 없습니다.)
3. res/raw 에 저장된 파일 읽기
// 어떤 이유로 파일명을 조합해서 읽어오려 할 경우
String filename = null;
String number = new DecimalFormat("0000").format(qNumber);
switch(qType) {
case QType.QTYPE_D: filename = "d" + number; break;
case QType.QTYPE_E: filename = "e" + number; break;
case QType.QTYPE_M: filename = "m" + number; break;
case QType.QTYPE_S: filename = "s" + number; break;
case QType.QTYPE_T: filename = "t" + number; break;
case QType.QTYPE_W:
}
int resId = context.getResources().getIdentifier(filename, "raw", "android.guyentec.myosu");
// 바로 아이디로 얻으려할 경우
int resId = r.raw.directory;
InputStream is = context.getResources().openRawResource(resId);
참조 : http://blog.naver.com/jolangma?Redirect=Log&logNo=150102343630
'android' 카테고리의 다른 글
gravity와 layout_gravity의 차이, 정렬 속성 (0) | 2016.01.28 |
---|---|
버튼 누를 시 버튼 이미지 바꾸기 (0) | 2016.01.28 |
다른 태스크에서 실행 중인 앱을 화면(foreground)으로 불러오기(How to bring another app running in other task to foreground ) (0) | 2016.01.28 |
안드로이드 버전 별 코드 이름 (0) | 2016.01.28 |
Android KitKat에서의 변화 (0) | 2016.01.28 |