//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
출처: http://bitsoul.tistory.com/116
안드로이드: InternalStorage 장치내부 파일 생성 / 읽기 예제
안드로이드 기기에서 자료를 저장하는 방법은 크게 다음 4가지가 있다. (온라인 전송은 논외이므로 제외)
1. 내부저장장치 InternalStorage
2. 외부저장장치 ExternalStorage
3. DB 저장 : SQLite
4. SharedPreferences
오늘은 먼저 안드로이드의 내부저장장치 (InternalStorage) 를 사용하는 예제를 포스팅 해봅니다.
기본적으로 자바의 파일 입출력 스트림을 사용하며, openFileOutput() 과 openFileInput() 을 사용하여 안드로이드 내부 저장장치 에 파일을 생성하여 쓰고 읽기를 합니다.
[activity_main.xml]
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 32 33 34 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="추가 저장" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="읽어오기" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="결과창" android:textAppearance="?android:attr/textAppearanceLarge" /> </LinearLayout> | cs |
[MainActivity.java]
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText et = (EditText) findViewById(R.id.editText1); Button bSave = (Button) findViewById(R.id.button1); Button bLoad = (Button) findViewById(R.id.button2); final TextView tv = (TextView) findViewById(R.id.textView1); bSave.setOnClickListener(new View.OnClickListener() { @Override // 입력한 데이터를 파일에 추가로 저장하기 public void onClick(View v) { String data = et.getText().toString(); try { FileOutputStream fos = openFileOutput ("myfile.txt", // 파일명 지정 Context.MODE_APPEND);// 저장모드 PrintWriter out = new PrintWriter(fos); out.println(data); out.close(); tv.setText("파일 저장 완료"); } catch (Exception e) { e.printStackTrace(); } } }); bLoad.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 파일의 내용을 읽어서 TextView 에 보여주기 try { // 파일에서 읽은 데이터를 저장하기 위해서 만든 변수 StringBuffer data = new StringBuffer(); FileInputStream fis = openFileInput("myfile.txt");//파일명 BufferedReader buffer = new BufferedReader (new InputStreamReader(fis)); String str = buffer.readLine(); // 파일에서 한줄을 읽어옴 while (str != null) { data.append(str + "\n"); str = buffer.readLine(); } tv.setText(data); buffer.close(); } catch (Exception e) { e.printStackTrace(); } } }); } // end of onCreate } // end of class | cs |
[실행화면]
"Hello Android" 입력하고 [추가저장] 누르면 파일저장됨.
또 다른 텍스트를 입력하고 [추가저장] 하면 기존 파일에 추가 저장 합니다.
[읽어오기] 버튼을 누르면 지금까지 내부파일에 저장된 내용이 출력됩니다.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
출처: http://yowon009.tistory.com/90
1. asset road resource
2. inputStream -> String
3. raw road resource -> String-> wirte String Builder
파일 입출력 정보 더보기
- MFC - 유니코드 환경에서 파일 생성, 읽기(CFile, CStdioFIle)
- MFC - 파일 크기 리턴 함수 StrFormatByteSize()
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 android 앱에서 apk 다운로드 설치 코드하기 관련 (0) | 2016.07.05 |
---|---|
안드로이드 webview 자바스크립트 \n\r 값을 스크립트로 넘겨줄때 엔터값이 안넘어갈때 방법 (0) | 2016.06.16 |
안드로이드 android 안드로이드 webview 자바스크립트 연동 관련 (0) | 2016.06.16 |
안드로이드 webview swf플래시 로드 관련 Load an SWF into a WebView (0) | 2016.06.14 |
안드로이드 android Apk깔고obb사용법? 관련 (0) | 2016.06.02 |