• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
인터페이스?!-키보드로 타이핑을 해볼까?
연속출석 :
1일 랭킹 : 6,397위 상사3
90%
90% (434 /480)
  • 댓글 8 |
  • 추천 8 |
  • 조회 5913 |
  • 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
    * 비밀글 입니다.
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    73 일단 안드로이드가 뭔지부터 알고 넘어갈까요? +48 레오쏭 30 4524 11/05/03
    72 안드로이드라는 전쟁에 나가기 위한 준비를 해보자!-1.J… +32 레오쏭 20 4520 11/05/04
    71 어플개발을 위한 무기들을 준비해보자!-2.SDK +21 레오쏭 20 4009 11/05/04
    70 [C언어]강좌3. 내용을 출력해보자. +21 퉁퉁이 14 2700 11/10/16
    69 어플개발을 위한 무기들을 준비해보자!-3.에뮬레이터 +21 레오쏭 14 3920 11/05/04
    68 어플개발을 위한 무기들을 준비해보자!-4.이클립스 +24 레오쏭 13 4296 11/05/05
    67 안녕하세요?뉴페이스 레오입니다~^^ +14 레오쏭 10 2960 11/05/03
    66 에뮬레이터가 아닌 자신의 폰으로 바로바로 확인해보자~! +12 레오쏭 9 6976 11/05/06
    65 Hello~Android 출력해볼까요? +13 레오쏭 9 3362 11/05/08
    64 레알 Hello~Android 출력해볼까요? +8 레오쏭 9 3122 11/05/12
    63 인터페이스?!-키보드로 타이핑을 해볼까? +8 레오쏭 8 5914 11/07/19
    62 액티비티?!-1.버튼,액티비티추가하기 +8 레오쏭 7 3765 11/05/22
    61 액티비티?!-2.버튼에 생명을 불어넣자! +12 레오쏭 6 7220 11/05/28
    60 권한?!-4.너에게 권한을 주마! +15 레오쏭 6 3042 11/06/28
    59 자바강좌 예제.1 글자를 넣어보자 +6 ★CsJ★ 6 2079 12/02/28
    58 [펌]안드로이드의 역사 +14 레오쏭 6 4376 11/05/14
    57 [펌-초보금지]RAM최적화/LED밝기/내외장SD카드/ 스크립… +9 레오쏭 5 4765 11/10/07
    56 (디버그를 도와줘~)로그캣!!!! +6 레오쏭 5 6550 11/05/19
    55 [C언어]강좌1. C언어를 배우기위해 +1 퉁퉁이 5 3328 11/10/16
    54 인텐트에 대한 간단한 보충~ +1 레오쏭 5 2092 11/06/28
    53 인터페이스?? +2 레오쏭 5 2476 11/07/03
    52 업로드 지연 공지~ +11 레오쏭 4 2146 11/05/16
    51 액티비티?!-3.집으로 전화거는어플을 만들어볼까요? +4 레오쏭 4 2722 11/06/22
    50 안드로이드 프로그래밍 Tip +3 지워니 4 3655 12/01/27
    49 버튼?!텍스트뷰?! +4 레오쏭 4 2191 11/07/07
    48 인터페이스?!-레이아웃 +1 레오쏭 4 2653 11/07/10
    47 버튼?!-라디오,체크,토글버튼 레오쏭 4 3616 11/08/10
    46 [이벤트] 프로그램강좌 포럼의 활성화를 위하여... +4 쨩쵸딩 4 1596 12/05/21