Sidney Samson - Shake That Thing (Riverside) (feat. Twista )가사를 txt 파일로 우후후후
파일 저장시 utf-8로 저장을 해야 제대로 출력된다.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout> <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:contentDescription="텍스트를 출력할 뷰" /> </LinearLayout> </ScrollView> </LinearLayout>
package com.gusfree.fileio; import java.io.IOException; import java.io.InputStream; import org.apache.http.util.ByteArrayBuffer; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class FileIoActivity extends Activity implements OnClickListener{ TextView tv; Button btn1,btn2,btn3,btn4; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //뷰찾고 리스너 세팅하기 tv=(TextView) findViewById(R.id.textView1); btn1=(Button) findViewById(R.id.button1); btn2=(Button) findViewById(R.id.button2); btn3=(Button) findViewById(R.id.button3); btn4=(Button) findViewById(R.id.button4); btn1.setOnClickListener(this); btn2.setOnClickListener(this); btn3.setOnClickListener(this); btn4.setOnClickListener(this); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.button1://text파일 내용 읽어서 화면 출력 // Res/raw/text.txt 가져오기 InputStream is =getResources().openRawResource(R.raw.text); int k=0; //read()메서드는 한 바이트 씩 읽어서 리턴, //더이상 읽을 내용이 없으면 -1을 리턴합니다. ByteArrayBuffer bab = new ByteArrayBuffer(50); try { while((k=is.read())!=-1){ bab.append(k); } //다 읽었다. //바이트 배열 -> 스트링의로 변환시키기 byte[] b = bab.toByteArray(); String content = new String(b); tv.setText(content); } catch (IOException e) { e.printStackTrace(); } break; case R.id.button2: break; case R.id.button3: break; case R.id.button4: break; } } }
버튼을 누르면 res/raw/text.txt파일이 ScrallView에 구현된다.
가사의 출처
'Android > 2012.04월 강좌' 카테고리의 다른 글
8일차 FileIO 3 - 저장된 파일 가져오기 (0) | 2012.05.07 |
---|---|
8일차 FileIO 2 - 읽은 데이터를 파일로 저장하기(DDMS) (0) | 2012.05.07 |
8일차 Draw 3 TouchEvent (0) | 2012.05.07 |
8일차 Draw 2 TouchEvent (0) | 2012.05.07 |
7일차 Draw (0) | 2012.05.04 |