[라즈베리파이 강좌] 안드로이드 씽스(Android Things) - 4.1 스크린에 한글폰트 사용하기

메카 2017-11-20 (월) 23:10 6년전 5236  


 

라즈베리파이 강좌

  안드로이드 씽스(Android Things) - 4.1 스크린에 한글폰트 사용하기






  안녕하세요. 메카솔루션 알도입니다.

  지금까지 센서와 엑츄에이터 위주로 접근하다가 아무래도 아두이노보다 더 잘 할 수 있고, 무엇보다 아두이노가 할 수 없는 것을 해야 라즈베리파이와 안드로이드 씽스의 장점을 십분 활용하는 것이 아닌가 싶어 스크린을 활용하는 방법을 시작하고자 합니다. 스크린을 활용하면 보다 다양한 정보를 쉽고 빠르게 표시할 수 있고, 사진이나 동영상도 표현할 수 있다는 장점이 있습니다. 또한 터치스크린을 활용하면 보다 쉽고 다양한 입출력 장치로 활용할 수 있습니다.



  스크린을 활용하는데는 보통 레이아웃의 개념이나 버튼, 텍스트 박스 등의 기능부터 접근하는 것이 일반적이지만, 안드로이드 씽스는 한글 폰트를 적용하는 방법이 일반 안드로이드와는 다르기 때문에 이것 때문에 어려움을 겪으시는 분들이 많을 것 같아 한글 폰트 적용부터 시작하고자 합니다.


 


 

     한글 폰트 사용하기

 

준비물

  먼저 스크린을 활용하려면 스크린이 있어야겠죠? 다행히(?) 저희 메카 솔루션에서는 업계 최저 가격으로 터치 스크린을 판매하고 있습니다. 갑자기 안하던(?) 광고를 하려니 어색하네요.


http://mechasolution.com/shop/goods/goods_view.php?goodsno=541411&category=052008

  5인치 터치 스크린도 함께 판매하고 있는데 안타깝게도 아직 안드로이드 씽스에서 5인치의 800x480 해상도를 지원하고 있지 않아 사용할 수가 없습니다. 스크린 연결 방법은 아래를 참고하시면 됩니다. 라즈비안에서 사용하려면 스크린 해상도를 config.txt에 미리 설정해줘야 하는데 안드로이드 씽스는 이를 자동으로 감지하고 설정하기 때문에 그런 과정이 필요 없습니다.

http://blog.naver.com/roboholic84/221065527428

  굳이 위의 상품이 아니더라도 HDMI만 지원한다면 일반 모니터를 사용하셔도 무관합니다.



폰트 파일 준비하기

  우선 프로젝트를 하나 생성합니다. 생성 방법은 아래 링크를 참고하시기 바랍니다.

http://blog.naver.com/PostThumbnailView.nhn?blogId=roboholic84&logNo=221125747258&categoryNo=44&parentCategoryNo=&from=postList

  탐색기를 켜고 C:\Program Files\Android\Android Studio\plugins\android\lib\layoutlib\data\fonts 폴더로 가서 아래와 같이 NanumGothic.ttf 파일을 복사합니다. *.ttf 파일은 일반적으로 사용되는 폰트 파일로써, 안드로이드 스튜디오 뿐만 아니라 다양한 프로그램에서 사용이 가능하고, 인터넷에서 검색하여 무료이면 다운로드 받아 사용할 수 있습니다.



  이제 생성한 프로젝트의 폴더로 갑니다. 프로젝트 폴더 내에서 app/src/main/ 폴더 안에 assets 폴더를 만들고, 다시 그 안에 fonts 폴더를 만든 다음 앞에서 복사한 폰트 파일을 붙여넣습니다.



  이제 안드로이드 스튜디오로 돌아옵니다.



프로젝트에 폰트 적용하기

  폰트를 적용하는데는 여러가지 라이브러리가 있지만, 여기서는 Typekit을 사용해보겠습니다. Typekit 라이브러리에 대한 정보는 아래 Github에서 확인할 수 있습니다.


https://github.com/tsengvn/typekit


먼저 아래와 같이 그래들에 라이브러리를 추가합니다.


 compile 'com.tsengvn:typekit:1.0.1



  다음으로 아래와 같이 자바 파일을 하나 만들어줍니다.



  파일명은 App로 하고 android.app.Application 클래스를 상속 받도록 합니다.



  새로 생성한 자바 파일에 아래와 같은 내용을 추가합니다.


    @Override

    public void onCreate() {

    super.onCreate();


        Typekit.getInstance()

           .addNormal(Typekit.createFromAsset(this, "fonts/NanumGothic.ttf"));

    }



  매니패스트 파일에 새로 만든 자파 파일을 추가해 줍니다.


    anroid:name=".App"



  마지막으로 메인 엑티비티 파일로 가서 아래 코드를 추가해 줍니다.


    @Override

    protected void attachBaseContext(Context newBase){

        super.attachBaseContext(TypekitContextWrapper.wrap(newBase));

    }





한글 출력하기 

  이제 한글을 출력해보겠습니다. 레이아웃 파일로 가서 아래와 같이 android:text 부분에 원래 Hello World가 있던 것을 아래와 같이 또는 원하는 텍스트를 입력해줍니다.


 



결과


  다음 시간에는 각종 버튼과 텍스트박스를 넣고 터치 스크린을 통해 입출력을 받는 방법을 알아보도록 하겠습니다.




메카리워즈 Image Map


모바일 버전으로 보기