• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
인터페이스?!-키보드로 타이핑을 해볼까?
연속출석 :
1일 랭킹 : 6,397위 상사3
90%
90% (434 /480)
  • 댓글 8 |
  • 추천 8 |
  • 조회 5910 |
  • 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 Android Virtual Device(AVD) 사용법 GNCkorea 1 6307 12/08/09
    44 안드로이드 프로젝트 생성 및 실행 GNCkorea 0 2332 12/08/09
    43 안드로이드 강좌 1 - 어플리케이션 개발 시작하기. SDK … GNCkorea 1 3370 12/08/09
    42 현재 위치 얻기 간단한 팁~! GNCkorea 0 1572 12/08/07
    41 이번에 개발한 쇼핑몰 앱 소스 공개합니다.(Android, iO… GNCkorea 0 7559 12/08/07
    40 이클립스 내에서 안드로이드 제공하는 소스 난독화(ProG… GNCkorea 0 5174 12/08/07
    39 Low memory killer / win death / Gallery 선택후 프로… GNCkorea 0 3347 12/08/07
    38 [이벤트] 프로그램강좌 포럼의 활성화를 위하여... +4 쨩쵸딩 4 1596 12/05/21
    37 자바강좌 예제.1 글자를 넣어보자 +6 ★CsJ★ 6 2079 12/02/28
    36 자바강좌 1-2 (자바의 데이터 타입과 연산자) +3 ★CsJ★ 3 2110 12/02/27
    35 자바강좌 1-1 (자바의 데이터 타입과 연산자) +2 ★CsJ★ 2 2972 12/02/26
    34 JAVA 언어 기초 +2 쿠미야 3 1865 12/02/14
    33 안드로이드 프로그래밍 Tip +3 지워니 4 3651 12/01/27
    32 Android 키보드 숫자형으로 시작하게 하기 +1 지워니 1 2303 12/01/27
    31 [C언어]강좌3. 내용을 출력해보자. +21 퉁퉁이 14 2695 11/10/16
    30 [C언어]강좌2. 간단한 실습준비 마무리 퉁퉁이 2 2209 11/10/16
    29 [C언어]강좌1. C언어를 배우기위해 +1 퉁퉁이 5 3324 11/10/16
    28 [경고를해보자]토스트?!토스트란무엇인가(2) +2 레오쏭 2 1965 11/10/11
    27 [펌-초보금지]RAM최적화/LED밝기/내외장SD카드/ 스크립… +9 레오쏭 5 4765 11/10/07
    26 [경고를해보자]토스트?!토스트란무엇인가(1) +1 레오쏭 4 3307 11/10/02
    25 슬라이딩 도어를 만들어 볼까요? +3 레오쏭 3 2795 11/10/02
    24 윈도우 사용자명 한글일때 에뮬레이터 오류 해결 방법 +3 레오쏭 3 3408 11/09/26
    23 추석을 기점으로 다시 강좌가 올라갑니다~ +6 레오쏭 4 1793 11/09/03
    22 버튼?!-라디오,체크,토글버튼 레오쏭 4 3612 11/08/10
    21 인터페이스?!-키보드로 타이핑을 해볼까? +8 레오쏭 8 5913 11/07/19
    20 인터페이스?!-레이아웃 +1 레오쏭 4 2651 11/07/10
    19 버튼?!텍스트뷰?! +4 레오쏭 4 2191 11/07/07
    18 인터페이스?? +2 레오쏭 5 2476 11/07/03