IT 프로그래밍-Android 30

[Android] RecyclerView 무한스크롤(endless scroll) 만들기

안녕하세요. godsangin입니다. 혹시 페이스북, 인스타그램에서 게시물을 내리면 계속해서 새로운 게시물을 로딩하는 구성을 보신적이 있으신가요 ?? 오늘은 그와 같이 특정 아이템으로 구성된 AdapterView를 endless하게 구현하는 방법에 대하여 알아보도록 하겠습니다. 서버에서 데이터 불러오기 예제를 참고하시면 도움이 될 것 같습니다. https://in-idea.tistory.com/22 [Android] 서버에서 데이터 불러오기 안녕하세요. godsangin입니다. 오랜만에 글을 올리게 되었는데요. 최근에 GCP(Google Cloud Platform)을 사용해 보는 관계로 이런 저런 시행착오가 있어서 글을 못썼습니다...ㅠㅠ 오늘은 서버에서 데이터를 불러.. in-idea.tistory.c..

[Android] Glide 라이브러리 gif파일 로드

오늘은 ImageView에 url로 이루어진 데이터를 바인드하기 위해서 자주 사용하는 Glide라이브러리에 대한 내용입니다. gif파일을 로드하는 방법에 대한 자료는 많지만 여러가지 이미지로 이루어진 gif의 애니메이션 효과를 컨트롤할 수 있는 자료가 많이 없는 것 같습니다..ㅜㅜ 우선 저는 gif파일의 모든 이미지를 한번씩 로드하고(움짤처럼 재생됩니다.) 해당 이미지뷰를 사라지게 하는 기능이 필요하여 구현하게 되었습니다. implementation 'com.github.bumptech.glide:glide:4.9.0' 우선 build.gradle에 추가해야하는 glide 버전입니다. 저와 버전이 다르다면 DrawableImageViewTarget 또는 Animatable2Compat, GifDrawab..

[Android] 서버에서 데이터 불러오기

안녕하세요. godsangin입니다. 오랜만에 글을 올리게 되었는데요. 최근에 GCP(Google Cloud Platform)을 사용해 보는 관계로 이런 저런 시행착오가 있어서 글을 못썼습니다...ㅠㅠ 오늘은 서버에서 데이터를 불러오기 예제를 진행해보겠습니다. 여러분은 이미지를 포함하는 데이터베이스를 어떻게 설계하시나요 ?? 저는 테이블 안에 url속성을 주고 해당 url에 이미지를 저장한 url을 저장해주는 방식으로 설계하였습니다.(현업에서는 어떻게 하시는지 정말 궁금..) 우선 아래는 제가 만든 Skin이라는 클래스(테이블)입니다. class Skin(){ var sid = 0 var pid = 0 var title: String? = null var content: String? = null var..

[Android] 키보드 앱 만들기 후기

안녕하세요 godsangin입니다. 약 3주에 거쳐 키보드 앱 개발하는 과정을 포스팅하게 되었는데요. 블로그 글은 처음 써본 관계로 여러가지 시행착오가 많았던 것 같습니다. 처음 InputMethodService에서 InputConnection을 가져오는 과정에서부터 직접 만든 한글, 영어, 특수문자 등의 키보드에 직접 적용시키는 것 까지. 여러분들은 본인만의 키보드를 잘 만들 수 있었나요 ?? 만약 힘드셨다면 저에게 피드백을 남겨주세요..ㅠㅠ 저 또한 키보드에 대해 공부하면서 개발하였기 때문에 아직까지도 코드가 깔끔하지 않고, 천지인 키보드 같은 경우에는 낯선 문자가 발견되거나, 널문자가 포함되어 카톡을 보내거나 인터넷 검색을 할 경우에 이상한 유니코드가 발견되는 등 많은 수정해야할 사항이 존재합니다...

[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클래스..