목차
- 안드로이드 스튜디오 앱 프로젝트 생성 예제 이전 포스팅 참고 학습
- 안드로이드 ScrollView 스크롤 처리하기 예제 이전 포스팅 참고 학습
- 안드로이드 리소스 텍스트 파일 읽기 예제 이전 포스팅 참고 학습
- 안드로이드 텍스트 파일 읽고 ScrollView에 로드하기 예제
안드로이드 스튜디오 앱 프로젝트 생성 예제 이전 포스팅 참고 학습
오늘 포스팅 주제는 안드로이드에서 리소스 텍스트 파일을 읽어들여 스크롤뷰에 추가하여 사용자가 쉽게 읽게하는 예제입니다. 스크롤 뷰는 터치로 위아래 이동시키며 장문에 글이나 이미지들을 볼 수 있도록 도와주는 컴포넌트입니다. 또한 이러한 스크롤뷰 사용방법은 이미 이전 포스팅에서 다룬 내용입니다.
오늘 예제를 똑같이 작성하고 실행해보기 위해서는 반드시 신규 앱 프로젝트 생성 방법을 알아야합니다. 안드로이드 스튜디오에서 어떻게 앱 프로젝트를 생성하는지는 아래 링크를 참고하여 학습해주세요.
2023.08.22 - [Android] - [안드로이드] 프로젝트 생성 예제(로그출력, TextView)
안드로이드 ScrollView 스크롤 처리하기 예제 이전 포스팅 참고 학습
스크롤뷰는 앱 화면에 넘치는 컨텐츠를 스크롤 가능하게 만들어주는 뷰입니다. 스크롤뷰로 감싸진 레이아웃 내의 컨텐츠가 스크롤될 수 있도록 되어 있습니다. 위에서 설명한 것과 같이 이미 예전 포스팅에서 스크롤뷰에 대해 알아보았습니다.
아직 안드로이드에서 스크롤뷰를 사용할 줄 모르신다면 아래의 링크를 참고하여 스크롤 뷰 사용법을 확인해주세요.
2023.08.22 - [Android] - [안드로이드] ScrollView 스크롤 처리하기 예제(텍스트, 이미지 추가)
안드로이드 리소스 텍스트 파일 읽기 예제 이전 포스팅 참고 학습
앱 프로젝트의 res/raw 폴더에 텍스트 파일을 추가하여 리소스로 포함시킬 수 있습니다. 이렇게 추가된 텍스트 파일은 getResources().openRawResource(R.raw.sample)와 같은 코드로 읽어올 수 있습니다. 또한 오늘 예제에서는 이렇게 읽어온 장문의 글을 스크롤뷰 안쪽의 텍스트뷰에 추가하여 터치로 위아래 이동시키며 읽을 수 있도록 하겠습니다.
이전 포스팅을 참고하여 raw 폴더에 텍스트 파일을 가져오는 방법에 대해 학습해주세요.
2023.08.22 - [Android] - [안드로이드] 리소스 텍스트 파일 읽고 쓰기 예제(res)
안드로이드 텍스트 파일 읽고 ScrollView에 로드하기 예제
아래는 ScrollView 내에 TextView를 추가하고, 위에서 읽은 텍스트 파일의 내용을 해당 TextView에 로드하는 예제입니다. 이렇게 하면 스크롤뷰를 통해 텍스트 파일의 내용을 스크롤 가능하게 표시할 수 있습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/test_tv"
android:text="..."/>
</LinearLayout>
</ScrollView>
</LinearLayout>
아래는 java 코드입니다. 앱 실행시 onCreate에서 sample.txt 파일을 읽고 텍스트뷰에 저장합니다.
package com.example.blog_test_app;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = findViewById(R.id.test_tv);
InputStream inputStream = getResources().openRawResource(R.raw.sample);
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
textView.setText(stringBuilder.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}