사용한 툴 : 이클립스
사용 버전 : API 16
첨푸 파일 : AndRawTest.zip
안드로이드 프로젝트의 /res/raw 폴더에 필요한 파일을 저장해서 사용하는 방법도 있다. 단 쓰기는 되지않고 읽기만 가능하다.
이 때는 FileInputStream 클래스 대신 InputStream 클래스를 사용하면 된다.
처음 프로젝트를 생성하면 폴더가 안보이는데 개발자가 /res에 raw폴더를 생성해주면 된다.
▲프로젝트 내에 폴더 생성하는 방법
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 | xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.andrawtest.MainActivity" android:orientation="vertical" > <Button android:id = "@+id/btnRead" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="읽기"/> <EditText android:id = "@+id/edtRaw" android:layout_width="match_parent" android:layout_height="match_parent" android:lines="10"/> </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 | package com.example.andrawtest; import java.io.IOException; import java.io.InputStream; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { Button btnRead; EditText edtRaw; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnRead=(Button)findViewById(R.id.btnRead); edtRaw = (EditText)findViewById(R.id.edtRaw); btnRead.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { InputStream inputS = getResources().openRawResource(R.raw.file); try { byte[] temp =new byte[inputS.available()]; inputS.read(temp); inputS.close(); edtRaw.setText(new String(temp)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } } | cs |
29 먼저 리소스를 얻고 거기서 Raw리소스를 얻어오는 형식으로 파일을 가져온다.
31 temp를 파일크기만큼의 배열을 생성한다.
34 edtRaw에 temp를 넣기위해 String형태로 변환해준다. 안보이는데 개발자가 /res에 raw폴더를 생성해주면 된다.
'프로그래밍 > Java, Android' 카테고리의 다른 글
(안드로이드) - 이클립스 프로젝트를 안드로이드 스튜디오에서 여는 방법 (0) | 2016.07.10 |
---|---|
(안드로이드) 파일처리 - SD카드 저장 (0) | 2016.07.10 |
(안드로이드) 파일처리 - 내부 메모리 파일 처리 (0) | 2016.07.10 |
(Java) 파일복제 소스 (0) | 2016.07.10 |
(Java) 제네릭 (0) | 2016.07.10 |