• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
인터페이스?!-키보드로 타이핑을 해볼까?
연속출석 :
1일 랭킹 : 6,397위 상사3
90%
90% (434 /480)
  • 댓글 8 |
  • 추천 8 |
  • 조회 5918 |
  • 2011-07-19 (화) 12:45
    이제 우린 실제로는 문자 메시지는 보낼수 있는건 아니지만 LightSMS같은 화면에 타이핑을 할수 있는 어플을 만들어 보겠습니다.
    여기서는 에디트텍스트와 텍스트와쳐 개념이 들어갈 것입니다..
    그럼 시작해보죠~^^
    빌드타켓은 안드로이드2.2 SDK버젼은 8로 해주시고 프로젝트를 하나 만드세요~
    우리가 오늘 만들것은 아래는 LightSMS라는 어플의 화면입니다.

    실제 저 어플처럼 문자를 전송하고 받고 하는 기능을 만드는것은 아닙니다. 단지 인터페이스 공부를 위해 위 어플과 같은 모양으로 만들고 글자를 스마트폰 키보드로 치는것이 가능하게 만들어 보겠습니다..^^
    아 그리고 혹시 모르는분들을 위해 말씀드리는데 스마트폰은 키보드를 자신이 원하는것으로 쓸수 있으므로 제 화면에 있는 키보드가 아닌분들이 대다수 입니다..키보드가 다르다고 틀렸다고 생각하지 마세요~^^
    앞서 배운 레이아웃을 적절히 사용해 일단 인터페이스 구축을 해보겠습니다.


    여기서는 특별히 알려 드릴건 없습니다. 앞서 배운 레이아웃에 다 있는 내용이니까요~^^하나만 설명을 드리자면 위에 보시면 EditText에 보시면 maxLength가 있습니다. 이건 에디트텍스트창에 글자 제한을 두는 것입니다~위에서는 140으로 제한을 두었습니다.
    자 여기까지하면 대략 모양이 아래와 같이 완성됩니다.

    우리가 원래 원했던 모양과 비슷하게 나왔죠?^^하지만 실시간으로 글자수를 표시해 주지 않을것입니다.
    이제 .java 파일로 가서 생명을 불어 넣어 볼까요?

    필요한 것들을 import 시켜주시구요...import에 대한 이야기를 하자면 사람들마다 스타일이 다릅니다. 예를 들면 android.text.TextWatcher와 android.text.Editable을 사용하여야 된다면 각각을 다 써줘도 되지만 android.text.* 하나만 써도 위 두개는 다 이용가능합니다. * <-이 별표시가 그 계층의 모든것이라는걸 의미합니다. 개인적으론 전 *을 자주 애용하는 스타일이지만 처음에 하실땐 뭐를 할떈 뭐가 필요하다는것을 알기위해 따로 하나씩 하는것도 괜찮다고 생각합니다.
    나중에 익숙해지시면 *을 이용하셔도 됩니다.
    TextView와 EditText 형식의 변수를 private로 정의하고 아래에서 생성해주었습니다.
    그다음 와쳐도 생성해주었는데 와쳐의 경우엔 반드시 3가지를 구현해도록 되어있습니다. 추상클래스기 때문이죠. 추상클래스란 틀만 정의된 클래스를 말합니다. 그러므로 안의 정해진 메서드를 반드시 포함해야 사용이 가능한 클래스입니다.
    before,onText,after를 구현해야하는데 우리에게 필요한건 입력중일때이므로 onText부분만 구현을 하고 나머지는 빈 메서드로 만듭니다.
    onText부분을 보시면 cnt라는 인터져값을 정의하고 그것은 스트링의 길이를 반환받아 정의하게 되어있고 우리가 우측위에 정의한 텍스트 길이 부분의 값을 cnt를 받아 그 값으로 정의되게 만들어 줍니다.
    그다음 message창에 와쳐리스너를 추가해주었습니다.그러면

    성공하였습니다..^^
    실제로 문자전송같은 기능은 없지만 모양과 우리가 처음에 구현하고자 했던 실시간 글자수체크까지 마쳤습니다...^^


    [이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
    게임과꽃미남 2011-12-06 (화) 00:56:05
    하아... 자판은 역시 천지인자판이 ㅠㅅㅠ
    좋은강좌감사합니다~
    레지스트 2011-09-06 (화) 16:15:29
    감사합니다 이해가잘되게 글을써주셔서 원하는프로그램제작에 도움이되었습다.
    세르뽕 2011-09-05 (월) 19:50:16
    좋은 정보 감사합니다.
    꽃보다 2011-08-21 (일) 05:09:09
    역시 맛클엔 다있내요 ㅎㅎㅎ
    카본엑센 2011-08-20 (토) 14:46:10
    좋네요^^
    kmk456 2011-08-03 (수) 07:12:51
    저기요 레오쏭님 이런거 많이 아시는거 같은데 위젯 아이콘 꿀려면 어케함? 알려주심 안됨?
         
         
    레오쏭 2011-08-03 (수) 23:01:54
    위젯 아이콘이라 하시면 어플들 위젯 말하시는건가요?맛클가시면 강의들 있어요~^^
              
              
    kmk456 2011-08-03 (수) 23:55:27
    * 비밀글 입니다.
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    45 안드로이드 기초 프로그램 1개 실습 및 작성 방법의 설명 GNCkorea 1 4263 12/08/10
    44 젤리빈 로그캣 변경점 GNCkorea 1 4259 12/08/10
    43 어플개발을 위한 무기들을 준비해보자!-2.SDK +21 레오쏭 20 4022 11/05/04
    42 어플개발을 위한 무기들을 준비해보자!-3.에뮬레이터 +21 레오쏭 14 3940 11/05/04
    41 Bitmap 파일 회전시키기 GNCkorea 1 3927 12/08/10
    40 안드로이드 강좌 2 - 이클립스 개발환경 사용법 및 프로… GNCkorea 1 3909 12/08/09
    39 액티비티?!-1.버튼,액티비티추가하기 +8 레오쏭 7 3774 11/05/22
    38 개인이 앱 판매할 때, 준비해야 할 것들 (사업자 등록 … GNCkorea 1 3756 12/08/10
    37 launcherShortCut (바로가기 아이콘)입니다. GNCkorea 1 3701 12/08/10
    36 안드로이드 프로그래밍 Tip +3 지워니 4 3667 12/01/27
    35 삼성 AdHub SDK 심각한 버그 있네요. GNCkorea 1 3639 12/08/10
    34 버튼?!-라디오,체크,토글버튼 레오쏭 4 3638 11/08/10
    33 윈도우즈 개발환경 구성 - Eclipse 3.6.1 (Helios), ADT… GNCkorea 1 3565 12/08/09
    32 안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단… GNCkorea 0 3511 12/08/09
    31 윈도우 사용자명 한글일때 에뮬레이터 오류 해결 방법 +3 레오쏭 3 3421 11/09/26
    30 안드로이드 강좌 1 - 어플리케이션 개발 시작하기. SDK … GNCkorea 1 3388 12/08/09
    29 Hello~Android 출력해볼까요? +13 레오쏭 9 3382 11/05/08
    28 Low memory killer / win death / Gallery 선택후 프로… GNCkorea 0 3367 12/08/07
    27 [C언어]강좌1. C언어를 배우기위해 +1 퉁퉁이 5 3348 11/10/16
    26 [경고를해보자]토스트?!토스트란무엇인가(1) +1 레오쏭 4 3343 11/10/02
    25 레알 Hello~Android 출력해볼까요? +8 레오쏭 9 3130 11/05/12
    24 BItmap size Resizing 시켜주기 GNCkorea 1 3111 12/08/10
    23 권한?!-4.너에게 권한을 주마! +15 레오쏭 6 3059 11/06/28
    22 윈도우8과 함께 등장한 윈도우 스토어, 자유와 통제의 … GNCkorea 0 3038 12/08/10
    21 자바강좌 1-1 (자바의 데이터 타입과 연산자) +2 ★CsJ★ 2 2988 12/02/26
    20 안녕하세요?뉴페이스 레오입니다~^^ +14 레오쏭 10 2975 11/05/03
    19 안드로이드 강좌 6 - Java 코드(Code)에서 뷰(View) 다… GNCkorea 0 2900 12/08/09
    18 슬라이딩 도어를 만들어 볼까요? +3 레오쏭 3 2804 11/10/02