반응형 안드로이드12 [Android Kotlin] RestAPI with Retrofit2 어제, 오늘 양일간 나름 빠듯하게 안드로이드 앱 프로젝트를 진행했다. 이 앱은 하이브리드 앱이라 네이티브 영역은 정말 0.5%정도 밖에 안된다. 나머지는 모두 웹에서 VueJs로 개발되어졌다. 현업 요청으로 앱 버전 업데이트 정책을 고민해서 기능을 구현해달라는 요건이 있었으며, 웹페이지에서 입력한 아이디와 비밀번호를 기억할 수 있게 해 달라고 했다. 하여, 진행된 개발업무는 다음과 같다. 앱버전 체크 API연동을 위한 리소스 및 환경 구성 네트워크 상태 체크 웹뷰 브릿지 구성 추가와 WebToApp, AppToWeb Interface개발 테스트 오늘은 아무것도 없는 안드로이드 코틀린 앱 프로젝트에서 RestAPI와 통신하기 위해 Retrofit2를 이용하는 방법을 정리한다. 우선 AndroidManife.. 2023. 3. 22. getHashKey 함수 getHashKey 함수 인터넷 어디선가 복사해서 사용했던 해쉬 키 함수. 나도 복사해서 붙혀넣기한다. import android.content.pm.PackageInfo; import android.content.pm.PackageManager;import android.util.Base64;import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;private void getHashKey(){ try { // 패키지이름을 입력해줍니다. PackageInfo info = getPackageManager().getPackageInfo("me.xxx", PackageManager.GET_SIGNATURES); for .. 2019. 6. 10. 안드로이드 런타임 퍼미션 요청 (READ_CONTACTS) 안드로이드 런타임 퍼미션 요청. 이것 저것 하느라 기능 하나를 제대로 마무리 하지 못하고 있는데 안드로이드 주소록 가져오기를 하는 도중 인터넷에 찾은 소스는 안드로이드의 퍼미션에 대한 부분은 누락되어진 소스가 많았다. 아이폰의 경우에도 퍼미션이 필요한 기능이 실행될 때 권한을 획득하는 경우가 많이 있는데 책을 찾아보니 안드로이드의 경우에도 보통과 위험 퍼미션으로 나눠져 요청을 하고 결과를 받아 화면 처리가 가능하도록 구현하게 되어 있다. 따라서 주소록 데이터에 접근하기 위해서는 READ_CONTACTS 퍼미션이 필요하며 이 역시 Manifest에 선언을 한 뒤 해당 기능이 실행되는 런타임시에도 역시 권한을 요청해야 한다. 안드로이드 6.0이상 버전에서 위험(dangerous) 퍼미션이 추가가되었다. 보통.. 2018. 12. 6. android EditText 커서 색상, 위치 밑줄 설정에 대한 이야기 android EditText 커서 색상, 위치 밑줄 설정에 대한 이야기 아직도 아이폰과 헷갈려하며 하나 하나 찾아가면서 UI작업을 하는 안드로이드. 어제는 EditText란 녀석에 대해 심화(?) 학습을 한 셈이었다. 뚱딴지 같이 밑줄이 나오질 않나 자동으로 포커싱이 가 있질 않나 생각보다 높이가 높지를 않나... 살짝 맨붕이었는데 하나 하나 찾아가면서 해결하다 보니 재미가 솔솔하다. EditText는 여러 속성이 있는데 먼저 Activity가 올라올 때 커서가 위치 하지 않도록 조정하는 방법인데 이건 EditText의 설정이라기 보다 EditText를 포함한 상위 레이아웃박스에 focusableInTouchMode 의 속성을 true 설정해서 EditText가 포커스를 잃도록 하는 방법이 있다. Ed.. 2018. 11. 23. Gradle Scripts 항목에 대한 이해 Gradle Scripts 항목에 대한 이해 안드로이드 스튜디오로 프로젝트를 하다보니 그레이들(Gradle)에 대한 이해가 필수다. 뭐가 뭔지 모른채 가져다 붙혀넣고 사용하다 보니 버벅대는 일이 많았다. 조금 지난 책이긴 하지만 안드로이드 개발자를 위한 Gradle이란 도서가 있어 구입을 했다. 한번 읽어보니 내용은 쉽다. 하지만 책이 없을 때도 참고할 수 있도록 중요한 항목들만 정리해서 옮겨 보고자 한다. Gradle Scripts 구성 항목. 프로젝트 build.gradle 파일 전체 프로젝트를 빌드하기 위한 안드로이드 Gradle플러그인(안드로이드 Gradle플러그인은 Gradle로 안드로이드 앱을 빌드하는데 반드시 필요하다) 버전을 기입하고 다운로드할 수 있는 저장소를 기술, 프로젝트에 모듈이 한.. 2018. 10. 15. Android WebView Session 제거 Android WebView Session 제거 이번에 운영중인 앱의 소소한 기능들이 대대적으로 변경되었다. 그동안 담당 개발자가 없다가 충원이 되면서 이런 저런 기능들의 문제점이나 버그 들을 디버깅하고 수정하고 있는 참이다. 지난주 QA결과로 나온 현상은 로그인 된 사용자의 정보가 남아 있어 앱을 완전 종료한 후에 재구동을 하고 해당 메뉴로 들어가면 세션이 남아 있어 자동으로 사용자의 정보가 조회되어 나타나는 현상이 발견되었다. 웹에서 세션을 종료하면 될 것 같은데(처음 접속하는 페이지에서..) 그게 그리 간단한 문제가 아닌 듯하다. 그래서 앱에서 뭔가 할 수 있는것이 있을까? 하고 찾아봤더니 정말 있다. 앱에서 웹뷰가 초기화 될 때 쿠키매니저를 통해 세션(Session)을 모두 삭제하는 것인데 의외로.. 2018. 9. 18. 이전 1 2 다음 반응형