전체 글 67

[Daily Photo] 나의 하루를 한장으로!

지인의 '내일은 뭐입지..?' 라는 말을 시작으로 탄생한 아이디어로 안드로이드 앱을 만들어 보았습니다. 이것 저것 다 마음에 안들고 최근에 입었던 옷이라서 내일은 입을 옷이 없다는 것이었습니다. ㅎㅎ 과연 정말이었을까요 ?? 저는 아니라고 생각합니다. 처음에는 오늘 입을 옷을 고민할 시간을 줄여줄 (사진으로 저장하는)옷 기록장으로 생각하였는데, 날마다 입은 옷을 찍거나 또는 갤러리에서 사진을 가져다가 보여주는 앱이 더 광범위하게 포토 다이어리로 통용될 수 있을 것 같아 개발 방향을 수정하게 되었습니다. 모두들 가끔씩 휴대폰 속 갤러리를 둘러보며 흐뭇하던 경험 하나씩을 있으실 거라고 생각합니다. 갤러리의 축소판으로 하루에 나의 일상 또는 취미 등의 사진을 한장씩 올려 나만의 일기장을 만들어보는건 어떨까요 ..

내가만든앱 2019.11.16

[Android]커스텀 키보드 만들기(4/4) - 천지인 키보드 만들기

드디어 마지막 시간입니다..! 오늘은 지난번에 정의했던 HangulMaker를 이용하여 ChunjiinMaker를 만들어보도록 하겠습니다. 우선 이전 키보드들과 마찬가지로 KeyboardChunjiin을 작성합니다. val firstLineText = listOf("ㅣ", "·", "ㅡ","DEL") val secondLineText = listOf("ㄱㅋ", "ㄴㄹ", "ㄷㅌ", "Enter") val thirdLineText = listOf("ㅂㅍ","ㅅㅎ","ㅈㅊ",".,?!") val fourthLineText = listOf("한/영", "ㅇㅁ", "space", "!#1") 지금까지 잘 따라오셨다면 KeyboardEnglish 또는 KeyboardKorean을 참고하여 작성하실 수 있으리라 믿..

[Android] 커스텀 키보드 만들기(3/4) 외전 - HangulMaker

한글 키보드를 제작하면서 만들게 된 Hangul AutoMata입니다. 한글이라는 언어의 위대함을 느끼게 되었던 개발이었습니다..! 우선 첫번째 상태는 아무것도 입력되지 않은 상태로 모음 또는 자음을 기대할 수 있습니다. 여기서 자음이 입력된다면 B의 상태로, 모음이 입력된다면 E의 상태로 이동합니다. B의 상태에서는 다시 한번 자음을 입력하거나, 모음을 입력할 수 있습니다. 만약 자음을 입력한다면 이전 문자를 commit하고 다음 문자로 텍스트를 구성할 수 있습니다(상태는 고정). 그리고 모음이 들어온다면 3번예시와 같은 자음+모음의 C상태로 이동합니다. 마지막으로 C상태에서 자음이 들어온다면 자음+모음+자음 조합의 한 글자가 완성될 수 있고(상태 D), 모음이 들어온다면 이전에 완성된 문자를 comm..

[Android] 커스텀 키보드 만들기(3/4) - 쿼티 키보드 만들기

지난 시간에 이어 오늘은 한글 오토마타를 생성하여 한글 키보드를 만들어 보도록 하겠습니다. 한글 키보드는 대부분의 키보드가 쿼티 키보드를 기반으로 하기 때문에 쿼티 키보드 제작을 기반으로 하였습니다. 영어 키보드와 마찬가지로 작성한 코드에 commit할 때 HangulMaker라는 커스텀 클래스를 만들어 사용하는 방법입니다. val numpadText = listOf("1","2","3","4","5","6","7","8","9","0") val firstLineText = listOf("ㅂ","ㅈ","ㄷ","ㄱ","ㅅ","ㅛ","ㅕ","ㅑ","ㅐ","ㅔ") val secondLineText = listOf("ㅁ","ㄴ","ㅇ","ㄹ","ㅎ","ㅗ","ㅓ","ㅏ","ㅣ") val thirdLineText..

[Android] 커스텀 키보드 만들기(2/4) - 영문 키보드 만들기

앞서 말씀드렸듯이 KeyboardView와 Keyboard를 사용하지 않기 위하여 새로운 레이아웃을 정의하고 바인드하는 작업이 필요합니다. 첫번째로 Layout을 작성해야합니다. 키 패드는 재활용 가능성이 다분하기 때문에 키패드 레이아웃을 따로 작성하였습니다. 키 패드는 실제로 키 버튼이 들어갈 Button과 Button 오른쪽 위로 롱 클릭 시 작성될 특수문자, DELETE 버튼에 사용될 ImageView로 구성되어있습니다.(레이아웃 이름은 keyboard_item입니다) 그리고 이 키 패드를 include하는 실제 keyboardView를 작성합니다.(레이아웃 이름은 keyboard_action입니다) 위와 같이 4개의 큰 LinearLayout으로 정의되어 있습니다. 다음으로 코드를 작성해 보겠습니..

[Android]커스텀 키보드 만들기(1/4) - InputMethodService

preview에 이어서 안드로이드 커스텀 키보드 만들기 1부를 시작하겠습니다. 3부작으로 작성하려고 노력하였지만 글이 너무 길어져서 4부작으로 늘린 점 죄송합니다 ㅠㅠ 1부에서 주로 다룰 내용은 서비스를 통하여 다른 애플리케이션에서 EditText로 인한 키보드 호출 시 커스텀 키보드를 출력하고 커스텀 키보드의 이벤트를 inputMethodService를 이용하여 다시 EditText를 작성할 수 있도록 만드는 것이 목표입니다. 앞서 말씀드렸듯이 Keyboard객체와 KeyboardView객체를 사용하지 않는 것이 큰 특징이고, 그로 인해 각각의 버튼을 모두 따로 바인드 해야 한다는 번거로움이 존재합니다.(다른 방법이 있다면 알려주세요...ㅠㅠ) 우선 첫번째로 키보드로 정의하기 위한 서비스를 작성합니다...

[Android] 키보드 앱 만들기

안녕하세요. 주니어 개발자 godsangin입니다. 취업준비로 인해 포트폴리오를 작성하려는데 그동안 해온 것도 생각이 잘 안나고 잘 정리해 놓을 필요성을 느껴 블로그를 시작하게 되었습니다 ! 많이 부족한 글이더라도 좋게 봐주시면 감사하겠습니다 !! 산학협력 프로젝트를 할 기회가 생겨 안드로이드 키보드를 제작하게 되었습니다. 커스텀 키보드 제작을 위해서는 KeyboardView, Keyboard라는 클래스를 사용하고 각 키를 정의하는 keyboard태그를 가진 xml파일과 연동하는 과정을 거쳐 inputMethodService를 통하여 Service로 등록하고 사용할 수 있다는 것을 검색을 통해 알 수 있었습니다. 하지만 안드로이드 공식 레퍼런스를 찾아본 결과 KeyboardView와 Keyboard클래스..