ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • asset 을 이용한 txt 문서 읽기.
    안드로이드/학습&강좌 2011. 5. 28. 16:26

    어플을 만들때, 일일이 String으로 글을 적어 넣기도 하지만, 약관이나 정책등 이미 정의된 문서가 있을경우 이자체를 파일로

    바로 읽어 드려도 될것이다. 다시 일일이 치려면,, 노가다일 뿐이니..

    간단하게 Asset에서 File을 읽어 드리는 방법에대해 소개 하고자 한다.



    이부분에 읽어 들일 파일을 넣고, 파일의 내용은 이렇다. 

    "아니 왜 카톡에 답이 없어?"

    며칠전, 무료문자 서비스 카카오톡을 자주 이용하는 친구에게서 전화가 왔다. 문자 마니아인 친구의 '목소리'를 오랜만에 듣는 터라 반가웠지만, 대화내용은 요즘 내가 자신의 문자를 '씹는다'는 타박이었다.

    "어? 정말? 아닌데… 나도 카톡할 줄 안다고. 근데 안왔어. 안그래도 요즘 통 보내는 사람이 없던데."

    나도 할 말이 있다고 투덜대며 카톡을 실행시키는 순간, '주르륵' 채팅 메시지가 떴다. 이미 한참 지난 날짜에 지인들이 보낸 메시지들이다. 물론 친구의 메시지도 있었다.

    "내 카톡이 고장났나봐, 왜 바로바로 안떴지?"라는 내 순진한 질문에 친구는 "푸시 꺼놓은 것 아니냐"는 답변을 내놨다.

    '아…푸시(push)'. 어렴풋이 그런 기능이 스마트폰에 있다는 생각이 났다. 그리고 얼마전 얼떨결에 깔아놓은 앱들이 그야말로 '밀어내는 알림'이 너무 많아 메뉴에서 뭔가를 꺼놨다는 기억이 났다.

    아니나 다를까. 아이폰의 '설정→알림'으로 들어가니 모든 응용프로그램(앱)에 대한 소리, 경고, 화면 알림 표시가 비활성화돼 있었다. 개별 앱에 대해서만 따로 켜거나 꺼두면 될 것을, 무심코 통째로 꺼 둔 거였다. 최근 카톡 뿐 아니라 아침마다 단잠을 깨우던 뉴스 앱 업데이트 알림이 뜨지 않았던 이유가 있었다.

    '푸시 알림'은 실시간 메시지를 통해 일정이나 메시지 전송 여부를 알려주는 기능을 한다. 카톡 문자나 언론사 앱 뉴스 업데이트 등을 알려주는 식이다. 푸시알림을 지원하는 앱도 있고 그렇지 않은 앱도 있다.

    '푸시알림'을 지원하는 앱의 경우 설치 뒤 실행하면 푸시알림 허용 여부를 물어보는 창이 뜬다. 허용을 하면 그 앱에서 나오는 알림이나 정보를 실시간 알려주고, 허용하지 않으면 본인이 그 앱을 열어 실행시켜야 데이터 업데이트를 통해 새로운 소식을 알 수 있다.

    내가 항상 스마트폰을 쳐다보지 않아도 뭔가 새로운 것을 알려준다는 점에서 '푸시' 기능은 분명 유용하다. 하지만 수많은 앱들이 불필요하게 '딩동딩동' 푸시 알람을 울려대면 자칫 공해로 느껴질 수 있다. 해당 앱이 통신망과 항상 연결돼있어야 하기 때문에 통신망에 부담을 주기도 한다.

    '푸시알림'은 와이파이에서는 과금되지 않지만 3G통신에서는 거의 느낄 수 없을 정도의 소량 요금이 부과된다.

    '푸시' 공해가 싫다면 '설정-알림' 탭에서 평소 손이 자주 가는 앱이 무엇인지 잘 고려해 각 앱별로 허용·비허용을 다시한번 정리하는 것도 좋겠다.

    <IT정보 펌글>

    이에 대해 안드로이드에서 읽어 오려면~ 코드를 살펴 보자.

    package com.ememomo;

    import java.io.IOException;
    import java.io.InputStream;

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;

    public class ReadTextFromAsset extends Activity {

     private String assetTxt;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      
      setContentView(R.layout.main);
      TextView text = (TextView)findViewById(R.id.text);
      
      try {
       assetTxt = readText("pushpush.txt");
      } catch (Exception e) {
       e.printStackTrace();
      }
      
      text.setText(assetTxt);
     }

     private String readText(String file) throws IOException {
      InputStream is = getAssets().open(file);

      int size = is.available();
      byte[] buffer = new byte[size];
      is.read(buffer);
      is.close();

      String text = new String(buffer);

      return text;
     }
    }




    간단하게 readText() 함수내에 파일 이름을 지정해 주면 된다.~

    별 내용없으니 설명은 생략 하겠다.

    실행 화면



    댓글 0

COPYRIGHT 2010 EpoNg. ALL RIGHTS RESERVED.