본문 바로가기

#안드로이드

[Android] Java로 새로운 프로젝트를 만드는 것 이제 그만.... (번역) 왜 새 Android 프로젝트를 Java로 만들면 안되는가...원문 : https://medium.com/snapp-mobile/why-starting-a-new-android-project-with-java-is-a-bad-idea-359bffe0bbd6 나는 프로그래밍 언어에 회의적인 사람이다. 나는 새로운 언어로 뛰어 넘지 않았고, 매년 5개 새로운 언어를 배우고자 노력 한다. 새로운 것을 찾으면 꾸준히 해왔다. 20년 동안 내 프로그래밍 경력은 Java만 사용 했다. 나는 지난해 멋진 사람들이 Kotlin으로 넘어 갈 때 나는 하지 않았다. 난 그이유를 설명 했다. Why and how I switched to Kotlin I’m one of the very few (judging from my .. 더보기
[Android] 구글플레이에 등록된 앱 버전 확인 https://github.com/rampo/UpdateChecker 위 라이브러리를 쓰면 구글 플레이에 등록된 앱 버전을 넘겨 받을 수 있다... 어떻게 그럴수가 있지??? 해서 소스를 봤더니... 구글 플레이 앱 페이지에서 크롤링하듯이 앱 정보만 빼온 것이었다. 라이브러리 에서 아래 소스 위치를 찾는다. itemprop="softwareVersion"> 이 부분이 현재 앱 등록 버전을 보여주는 div 태그 위치 이다. 이 위치에 있는 버전을 사용 할 수 있는 것이다. 아래는 Vingle 앱 페이지에 소스 한 부분이다. 현재 버전 3.3.4 하지만!! 문제점이 있다. 기기 버전에 따란 APK를 다양하게 올릴 수도 있다.그런 앱같은 경우 위 로직으로는 파악 할수 없다. 아래와 같이 '기기에 따라 다릅니다.. 더보기
[오늘의 한줄][2017.3.27] 이직 준비를 하면서 느낀 점 항상 초심을 가지자는 말을 머리로 새기면서, 기초를 간과 하고 있었다. 이직 준비와 면접을 보면서 충격을 받았다. - weakpreference, softpreference, strongpreference 차이는?- Android onPause와 onStop에 차이는?- Intent란?- Context란?- AsyncTask과 Thread의 차이점은?... 실제 실무를 하면서 사용하고 있는 클래스나 함수들인데도 설명하기가 어려웠다.Java 개발자 이면서 Call by reference에 대해 설명도 버벅 댔다.아니 대답을 못했다고 해도 될듯 하다. Android 개발만 6년을 해왔는데...Kotlin과 MVVM 패턴등을 애기하면서기초인 부분을 간과 하고 있었다. 이제부터라도 다시 공부해야 겠다.기초부터 .. 더보기
[Kotlin] Kotlin을 사용하기 위한 기본 설정 Kotlin을 android studio에서 사용하기 위해 gradle 기본 설정을 어떻게 해야 하는지 공유 하고자 합니다. 이 설정은 Android Studio에서 Empty Project를 먼저 만든 상태에서 gradle을 설정 하는 부분만 추가한 소스 입니다.참고로 현재 블로그에 올린 소스는 Android Studio 2.2.3. 버전 입니다. 0. Android Studio에서 Kotlin 플러그인 설치 File -> Settings 를 선택 합니다. Plugins -> Install JetBrains plugin... 버튼을 클릭 합니다. Kotlin으로 검색 한 후 Kotlin 을 선택 합니다.Install 버튼을 누르면 설치가 되고Android Studio를 Restart 하면 플러그인 설치.. 더보기
[Android] WebView 상에서 Intent Uri 실행 public class CustomWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("tel:")) { Intent call_phone = new Intent(Intent.ACTION_CALL); call_phone.setData(Uri.parse(url)); startActivity(call_phone); } else if (url.startsWith("sms:")) { Intent i = new Intent(Intent.ACTION_SENDTO, Uri.parse(url)); startActivity(i); } .. 더보기
[Android][펌] 안드로이드(Android 5.0) Lollipop Webview issue 출처 : http://m.blog.daum.net/_blog/_m/articleView.do?blogid=04qAU&articleno=15310133 안드로이드(Android 5.0) Lollipop Webview issue HTTPS > HTTP 전송시 내장 브라우저에서 block 시켜 데이터 전송이 안되는 문제였다. [blocked] The page at 'https://xxx' was loaded over HTTPS, but ran insecure content from http://xxx.css': this content should also be loaded over HTTPS. 라는 메세지를 콘솔창으로 마구 뱉는 문제였다... 이 문제는 롤리팝에서 변경된 문제였다.구글링 해보았으나 실제로 안드.. 더보기
[Retrofit2] Request와 Response를 커스텀화 하기 Retrofit2 에서 Request와 Response를 커스텀하게 하기 위해선 interceptor를 이용하면 된다. OkHttpClient.Builder builder = new OkHttpClient.Builder().addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request original = chain.request(); // 헤더를 자유 자재로 변경 Request.Builder builder = original.newBuilder(); builder.addHeader("Content-Type","application/json; charset=utf-8".. 더보기
[Android] ONE store 최신 In-App 결제 모듈 v16.02.00 사용시 지난 10월 26일쯤 OneStore In-App 결제 모듈이 업데이트 됐다는 메일이 왔다.예전에는 USIM이 있는 폰만 가능 해서 휴대폰 번호가 등록되어 있는 사람만 테스트가 가능 했다. 새로운 모듈에서는 MDN 넘버를 가지고,USIM이 없는 폰을 가지고도 결제 테스트가 가능해 졌다. 참고 : http://dev.onestore.co.kr/devpoc/reference/view/Tools 새로운 결제 모듈로 바꾸는 도중에 특정 인앱 상품이 결제가 완료 되더라도,Response가 오지 않는 현상이 발견 되었다. OneStore에 문의한 결과 아래와 같이 하라고 하네요. private IapPlugin.AbsRequestCallback mAbsRequestCallback = new IapPlugin.Abs.. 더보기