본문 바로가기

안드로이드/Android Studio

(12)
[ Android ] JAR 와 AAR(feat. 이클립스에서 안드로이드 스튜디오로) TMI 회사에서 저에게 주어진 첫 미션은 이클립스로 구현되어있던 안드로이드 프로젝트를 안드로이드 스튜디오로 마이그레이션 하는 작업이었어요. (바쁘신 분은 아래로 쭉 내리시면 됩니다!) 너무너무너무 고단했습니다... ( 마이그레이션하고는 그닥 상관없지만,,,한 클래스 파일에 6천줄!!!!!!!!!!!!!!!!!!!!!!!!! 어질어질..) 이클립스로는 한 번도 안드로이드를 개발해본 경험이 없었거니와 안드로이드 실력도 아직은 베이비 개발자 수준인지라 자바와 xml 코드는 상관없었지만 gradle에서 본 적도 없는 코드들과 알아들을 수 없는 주석들이 상당했거든요. 그래도 여차저차해서 마이그레이션에 성공했습니다! 이 과정에서 가장 기억에 남는것이 있었는데요. 바로 JAR와 AAR의 차이로 생긴 이슈입니다! 이것..
[ Android ] Foreground Service 와 BackGround Service 안드로이드 개발을 하다보면 백그라운드 실행이 필요한 작업을 수행해야될 때가 있는데요. 이럴 때 메인 스레드가 아닌 서브 스레드를 생성하여 사용하게 됩니다. 하지만 서브 스레드로만 작업을 수행하게되면 액티비티나 프래그먼트에서 onDestroy()가 호출 되거나, 서브 스레드의 작업이 끝났을 때 해당 Activity가 존재하지 않는 상태라면 UI 갱신이 불가합니다. 이러한 경우에 필요한 안드로이드의 컴포넌트가 바로 Service입니다. 서비스는 안드로이드 컴포넌트 중 하나로, 기본적으로 메인 스레드에서 실행되며 UI가 없습니다. 이 서비스에서의 백그라운드 스레드는 개발자가 직접 관리를 해야하는데 서비스에는 백그라운드 서비스와 포어그라운드 서비스, 바인드 서비스가 있는데 이번 글에서는 백그라운드 서비스와 포그..
[ Android ] Service 안드로이드 4대 컴포넌트(Activity, Service, Broadcast Reciever, Content Provider) 중 서비스에 대해 글을 쓰고자 합니다. 서비스란? - 4대 컴포넌트 중 하나 - UI가 따로 없고 백그라운드에서 동작하는 컴포넌트 - 즉, 서비스를 실행한 앱에서다른 앱으로 전환하더라도 서비스에서 시작한 작업은 백그라운드에서 계속 실행된다. - 만약 Service가 실행되고 있는 상태라면, 안드로이드 OS 에서는 해당 Process를 왠만하면 죽이지 않도록 방지하고 관리하게 된다. - 그렇기에 메모리 부족 등 특별한 경우를 제외하고는 백그라운드 동작을 수행한다. 서비스가 필요한 이유 - Activity 화면에서의 동작 뿐 아니라, Activity가 종료되어 있는 상태에서도 동작하..
[ Android / Design ] 화면 전환 애니메이션( 상하좌우) 다들 앱 개발하시면서 화면 전환할 때 슬라이드 형식으로 나타내고 싶을 때가 있으실텐데여 그런 분들을 위해 화면 전환 효과를 아주~~ 쉽게 적용하는 법과 살짝의 팁(?)을 드리려고 합니다. Android Resource Directory를 클릭하고 Resource type을 anim으로 설정한 후 디렉토리를 만들어줍니다. 생성된 anim 폴더에서 Animation Resource File을 생성해줍니다. (Resource type: set) 그 후 다음과 같은 코드를 넣어주시면 됩니다! 위 예시는 250ms의 속도로 화면을 중앙에서 아래로 넘어가는 애니메이션이에요 ! 보통 값을 각각 100% 0% -100%를 사용합니다. 좌우로 슬라이드를 하고 싶으시면 X의 값을 조절하면 되겠죠?? 그리고 코드로 이 애니..
[ Android / Kotlin ] RecyclerView 가로 모드 개발을 하다보면 아래 사진처럼 RecylcerView를 가로로 구현 해야할 때가 있는데요! 방법은 너무나도 간단합니다. 바로 RecyclerView의 속성을 가로로 해주면 됩니다! recycler_category.layoutManager = LinearLayoutManager(this).also { it.orientation = LinearLayoutManager.HORIZONTAL } 이렇게만 설정해주면 끝입니다!
[ Android ] HTTP 통신과 소켓 통신이란? 안녕하세요 gyub(귭)입니다 ㅎㅎㅎ 이번엔 HTTP와 소켓 통신에 대해 다뤄보려 합니다! 1. HTTP 통신 HTTP 통신은 단방향 통신입니다. 단방향 통신이란? 말 그래도 '단'방향 한 쪽으로만 통신을 한다 라고 이해 하시면 될 것 같아요 예를들면 클라이언트가 서버에게 요청을 보내고 나서 그담에 서버가 응답을 주고 연결을 마무리 짓습니다. 이런 방식이에연 ( HTTP 통신에서 서버는 클라이언트한테 요청을 못 보내요 ㅠㅠ ) 대표적으로는 홈페이지가 있겠네요! gyub의 블로그를 클릭했어요(클라이언트) -> gyub의 블로그 클릭에 대한 응답을 줄게여 (서버) -> 와!! 블로그가 보이네? (클라이언트) 이런식입니다! 쫌 B급 설명같지만 그렇습니다 ㅠ,,,, 2. 소켓 통신 소켓 통신은 양방향 통신입니다..
[ Android ] 해시키 쉽게 얻는 방법 안녕하세요 gyub(귭)입니다 ㅎㅎㅎ 개발을 하다보면 해시키가 필요할 때가 있는데욥!? 뭐 예를 들면 카카오 API를 사용할 때 등등 자다 일어나서 갑자기 쓰는거라 양해좀 부탁 드립니다. private fun getAppKeyHash() { try { val info = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES) for (signature in info.signatures) { var md: MessageDigest md = MessageDigest.getInstance("SHA") md.update(signature.toByteArray()) val something = String(Base64.encode(md...
[ Android ] Android Studio에서 간단하게 SHA-1 값 알아보기 개발을 하다 보면 SHA-1 값이 필요할 때가 생깁니다. 그래서 검색을 하다 보면 cmd나 안드로이드 터미널에서 여러 구문을 써가며 알아내는 방법이 나오죠! 상당히 귀찮습니다 ㅠㅠ ( 저는 귀찮은걸 정말로 엄청 싫어합니다 'ㅅ' ) 다른 방법을 알아보던 중 클릭 몇 번만으로 값을 알아낼 수 있는 방법을 찾아 공유합니다 위 사진처럼 Gradle을 클릭 후 자신의 프로젝트를 누르시게 되면 저렇게 쭈루룩 나옵니다 그중 Tasks - android - signingReport 를 실행시켜보면 이렇게 쉽게 확인할 수 있습니다 봐주셔서 감사합니다! 질문이나 수정되어야 할 부분이 있다면 댓글로 남겨주세요!