안드로이드: 133개의 글
앱에서 서버와 통신을 할 때 사용자의 인증이 필요한 경우가 있습니다. 이럴 경우에는 해더에 Authorization를 추가하여 인증된 사용자만 정보를 취득하도록 합니다. Authorization에도 BearerToken, ApiKey, OAuth2.0등 여러가지 종류가 있습니다. 그럼 어떻게 해더에 Authorization를 넣을까요? 제가 즐겨쓰는 retofit2와 okhttp3를 이용하여 알아보도록 할게요. 먼저 retorfit2의 custom header를 사용하여 추가하는 방법입니다. public interface ApiService { @Headers("Authorization: your auth token") @GET("/test") List getTestData(); } 또 다른 방법으로는 ..
안드로이드 개발을 하다보면 progress를 사용하여 현재 데이터를 처리중이라는 것을 알려야할 때가 있다. 다음은 우리가 흔히 볼수 있는 progress를 사용하는 방법이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Colored by Color Scripter cs 위의 코드는 왼쪽과 같은 결과를 나타낸다. xml 디자인을 하다보면 다양한 뷰를 추가해아하고 progress의 경우 다른 뷰보다 최상위로 표현하기위해 가장 하단에 선언하여 사용한다. 하지만 좀 더 직관적이면서 심플하게 xml에 적용하고 싶었고 custom view를 만들어 사용하게됬다. 다음은 custom view를 이용한 progress wrapper를 만들어 사용한 예제다. custom_progre..
이글은 windows10 / android studio 3.3.1을 기준으로 작성되었습니다. 안드로이드 에뮬레이터를 사용하려고 할 때 다음과 같은 에러가 출력이 되었다. x86 emulation currently requires hardware acceleration x86에뮬레이터를 쓰려면 하드웨어 가속이 필요하다는 것인데. 아래와 같이 박스친 툴을 설치하면 된다. 하지만 설치 한 이후에도 계속 같은 오류가 발생한다면 BIOS설정에서 Virtualization Technology 기능을 활성화 해야한다. 또한 Windows 기능 켜기/끄지 설정에서 Windows 하이퍼바이저 플랫폼이 활성화 되있는지도 체크하자. 완료가 되었다. 이제 즐겁게 개발하면 된다. 출처: https://akaisun.tistor..
안드로이드에서 gradle에 라이브러리를 추가해서 사용을 하다보면 경우에따라 최신버전을 사용해야하는 경우가 있습니다. 일일히 github에서 라이브러리 버전을 체크한다던지 안드로이드 스튜디오에 있는 library dependency를 검색해서 확인하는 방법이 있지만 검색어에 따라 결과가 너무 많이 뿌려지기 때문에 불편함이 있었습니다. 그러다 VersionChecker 플러그인을 발견하게되었고 소개해드리고자합니다. Seetings -> Plugins으로 이동하여 version checker라고 입력을 합니다. 검색결과에는 나타나지 않습니다. search in repositories를 눌러봅니다. 검색결과가 하나 나타납니다. install을 눌러 설치합니다. 그리고 안드로이드 스튜디오를 restart 해주세..
This app is using a lightweight version of the Google Mobile Ads SDK that requires the latest Google Play services to be installed, but Google Play services is either missing or out of date. 안드로이드 4+에서 애드몹과 관련해 안보이는 현상이 일어나서 구글링을 해보니 일종의버그라고 한다. 참고페이지http://stackoverflow.com/questions/37330290/no-admobs-displayed-on-2-3-but-displayed-with-android-4-with-google-play-servic 해결방법이 없는가 싶었는데 해당어플의 캐시..
No acceptable module found. Local version is 0 and remote version is 0. this problem has due to there is no playstore in phone of user when you using firebase libraryif you guiding to install playstore to user. it is would be solved.if already installed playstore, have to version update 해당 폰에 플레이스토어가 없어서 생기는 문제다.firebase를 적용하면서 오류가 발생했는데 이전의 구형폰들은 안드로이드 마켓이 깔려있기 때문이다.플레이스토어를 설치하도록 유도하여 플레이스토어가 설..
RxJava Delay Observable myObservable = Observable.create( new Observable.OnSubscribe() { @Override public void call(Subscriber
앱을 개발했으면 수익을 창출해 볼 시간입니다.수익을 창출하는 방법은 여러가지가 있겠지만 가장 접근하기 쉬운것이 광고가 아닐까 합니다.이번 시간에는 facebook의 광고플랫폼인 audience-network에 대해 포스팅하겠습니다. https://developers.facebook.com/ 로 이동합니다. 개발자페이지에 가입을 하고 프로젝트를 만듭니다. 만드는 자세한 사항은 다큐먼트를 참조하여도 좋습니다. 프로젝트를 만든 후 프로젝트를 클릭하여 이동하면 좌측 상단에 여러가지 메뉴늘 볼 수 있습니다.앱 이름 우측의 화살표를 클릭하면 테스트를 만들 수 있는 기능도 제공합니다. 우리가 필요한것은 audience-network 이기 때문에 audience-network 를 선택합니다.페이스북 광고플랫폼을 붙이기..
이번에 급식앱을 만들면서 버전관리를 해야할 필요성을 느꼈는데요. 기존의 버전관리는 단순히 playstore에 등록이 되면 그 정보를 가져다 파싱하여 업데이트 비교를 하곤했습니다. 여기서 문제가 캐시때문에 실제 서버에 반영되어 가져온 정보와 사용자가 보는 정보가 다르다는 것입니다. 즉, 플레이스토어에는 업데이트버전이 올라가있지만 사용자는 캐시때문에 구버전이 보여 업데이트가 이루어지지 않는다는 점입니다. 그래서 서버에서 버전정보를 받아와 업데이트를 해주는게 더 낫다고 판단하여 구현을 생각하게 되었는데 단지 버전관리만을 위해서 서버를 임대한다는 건 500원이라도 낭비라고 생각했습니다. 그래서 알아보던 중 Firebase의 Realtime Database를 써보기로 했습니다. Firebase는 이전에 통계를 붙..
프로그램 개발시 디버깅은 필수입니다. 개발시에는 개발자가 디버깅을 하지만 앱을 출시한 후에는 어떤 에러가 났는지 알기가 쉽지 않습니다. 그래서 어떤 에러가 발생했는지 자동으로 리포팅해주는 이슈트래커는 필수입니다. 여러가지 이슈트래커가 있지만, 야후에서 제공하는 페브릭만큼 간편하고 강력한 이슈트래커는 아직까지 못봤습니다. 정확히는 Fabric의 crashlytics입니다. 우선 ctrl + alt + s 를 눌러서 settings 창을 띄운 후 plugins으로 이동합니다. fabric이란 키워드를 입력하고 Browse를 클릭합니다. Fabric이 검색되면 install하고 재시작을 해줍니다. 재시작 후, 오른쪽에 Fabric아이콘이 생긴 것을 볼 수 있습니다. 아이콘을 클릭하여 실행버튼을 누르면 다음과 ..