• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
인터페이스?!-키보드로 타이핑을 해볼까?
연속출석 :
1일 랭킹 : 6,397위 상사3
90%
90% (434 /480)
  • 댓글 8 |
  • 추천 8 |
  • 조회 5909 |
  • 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 안드로이드 해상도별 좌표+ 이미지 크기 수정하기(변종… GNCkorea 1 13155 12/08/10
    72 zxing 가로모드에서 세로모드로 변경하기 GNCkorea 1 12290 12/08/10
    71 단말기에 해당 어플이 설치되었는지 확인하는 방법 +2 철권 2 9159 15/11/26
    70 안드로이드 크래쉬 로그를 쉽게 확인하는 방법 +1 철권 2 8753 15/11/26
    69 Android Studio (안드로이드 스튜디오) 단축키 모음! +1 철권 2 8218 15/11/06
    68 이번에 개발한 쇼핑몰 앱 소스 공개합니다.(Android, iO… GNCkorea 0 7552 12/08/07
    67 액티비티?!-2.버튼에 생명을 불어넣자! +12 레오쏭 6 7211 11/05/28
    66 에뮬레이터가 아닌 자신의 폰으로 바로바로 확인해보자~! +12 레오쏭 9 6970 11/05/06
    65 안드로이드 유용한 라이브러리 모음! +1 철권 2 6708 15/11/06
    64 (디버그를 도와줘~)로그캣!!!! +6 레오쏭 5 6549 11/05/19
    63 Android Virtual Device(AVD) 사용법 GNCkorea 1 6307 12/08/09
    62 인터페이스?!-키보드로 타이핑을 해볼까? +8 레오쏭 8 5910 11/07/19
    61 게임어플 개발자분들을 위한 게임창조오디션 3회 공모 … 카르페의블 0 5748 16/03/02
    60 ZXing 바코드 스캔부분 크기 조절하기. GNCkorea 0 5350 12/08/10
    59 이클립스 내에서 안드로이드 제공하는 소스 난독화(ProG… GNCkorea 0 5170 12/08/07
    58 폰의 하드웨어 제어관련 혹은 하드웨어접근관련 앱 제작… GNCkorea 1 5168 12/08/10
    57 ViewPager의 아이템 얻어오기. GNCkorea 1 5067 12/08/10
    56 안드로이드 강좌 5 - XML에서의 TextView, ImageView, L… GNCkorea 1 5000 12/08/09
    55 안드로이드 강좌 4 - 액티비티(Activity), 뷰(View), 레… GNCkorea 1 4928 12/08/09
    54 안드로이드 개발 시, Selector XML을 편하게 만들어봅시… GNCkorea 1 4924 12/08/10
    53 [펌-초보금지]RAM최적화/LED밝기/내외장SD카드/ 스크립… +9 레오쏭 5 4759 11/10/07
    52 Image 파일이 저장되는 리얼경로 알려주기. GNCkorea 0 4646 12/08/10
    51 안드로이드 프로그램이 죽는 경우 디버깅 방법 GNCkorea 1 4621 12/08/09
    50 일단 안드로이드가 뭔지부터 알고 넘어갈까요? +48 레오쏭 30 4524 11/05/03
    49 안드로이드라는 전쟁에 나가기 위한 준비를 해보자!-1.J… +32 레오쏭 20 4515 11/05/04
    48 최고의 웹앱 개발 프레임워크 GNCkorea 1 4410 12/08/10
    47 [펌]안드로이드의 역사 +14 레오쏭 6 4366 11/05/14
    46 어플개발을 위한 무기들을 준비해보자!-4.이클립스 +24 레오쏭 13 4285 11/05/05