본문 바로가기

안드로이드

[안드로이드] 유용한 라이브러리 - 개발속도를 빠르게 해주는 각종 유틸 모음 AirQuickUtils 안드로이드에서 자주 사용되는 기능들에 대해 좀더 쉽고 편하고 안정적이게 사용할 수 있도록 제공하는 유틸 라이브러리 입니다. 이 라이브러에 포함된 모든 기능들은 안드로이드에서 제공하는 API를 사용하고 있으며, 이를 좀더 직관적이고 손쉽게 사용할 수 있도록 하였습니다. 일부 OS버전별로 분기가 필요한 부분에 대해서도 라이브러리 자체에서 처리를 해주어 개발단계에서 보다 쉽게 개발할 수 있도록 하고 있습니다. 앞으로 확장될 예정이지만 현재는 아래의 종류에 대한 기능을 제공중이며, 앞으로 확장될 예정입니다. 이 글에 포함된 사용법인 일부 기능에 대한 사용법이며 자세한 기능은 문서를 보시거나 댓글로 질문해주세요 :) 포함된 기능API문서에서 보기(2017.11.03 기준)AirLogAirPrefsAirScreen.. 더보기
[안드로이드] 유용한 라이브러리 - AirCalendar ( 리스트뷰 형태의 에어비앤비 스타일 달력 ) Android 달력 라이브러리 - AirCalendar 현재는 업데이트 되어 바뀌어버렸지만, 그전 에어비앤비 달력은 많은 서비스에서 참고했던 달력이였습니다.리스트뷰 스타일로 위/아래 무한스크롤 형태의 달력이죠 주로 호텔/펜션등 숙박 예약 서비스에서 많이 사용되어진 달력인데요그 이유는 예약현황 + 단일 + 다중 날짜 선택이 가능하기 때문입니다( 숙박의 경우 최소 1박 2일 이죠 ) 달력 자체가 만들때마다 귀찮고 손이 많이 가는 부분입니다.그 때문에 "예약현황 + 단일 + 다중" 선택이 모두 가능한 달력 라이브러리를 만들어보았습니다. < 스크린샷 > 1. app.gradle 에 아래 라인을 추가합니다.( 라이브러리 import )jitpack.io 저장소 추가 allprojects { repositories.. 더보기
[Android] Picasso 이미지로드 라이브러리 사용시 오류 디버깅 하기 정말 별거 아닌팁인데 모르시는분들이 응근 많은거 같아서 적어봅니다.Picasso 라이브러리를 사용할때 왜 이미지 로드가 되지 않는지 궁금하신적 있으시죠?디버깅을 쉽게할 수 있도록 라이브러리 자체에서 디버그모드를 지원합니다. 물론 성공/실패에 대한 기본적인 콜백개념도 지원하구요 Picasso picasso = new Picasso.Builder(this) .listener(new Picasso.Listener() { @Override public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) { //Here your log exception.printStackTrace(); } }) .build(); picasso.load(pr.. 더보기
[Android] retrofit2 + gson 을 이용한 네트워크 처리하기 안드로이드에서 네트워크(API)를 처리할떄는 여러가지 방법이 있습니다.기본 지원하는 urlconnection 를 사용하는 방법이 있고 외부 서드파티 라이브러리를 사용하는 방법이 있습니다. 예전에는 httpClient를 사용했으나 현재는 안드로이드에서는 공식적으로 지원하지 않습니다.그래서 그 대용으로 사용하는 서드파티 라이브러리는 okHttp가 있습니다. 그중 오늘 소개할 retrofit(일명 레트로핏) 은 2.0부터는 okHttp를 사용하고 있습니다.( 뭐 둘다 같은 회사에서 개발한거죠, 스퀘어사 만세! ) 저같은 경우는 3가지 방식 모두 사용하는데 오늘은 레트로핏2 를 통해 간단하게 API통신하는걸 기록해봅니다. 1. 먼저 Gradle에 아래와 같은 dependencies 를 추가해줍니다compile .. 더보기
Android 핫스팟(테더링)을 스마트하게 쓰기위한 모와(Mowa) 개발기 모와(Mowa) 서비스 소개 보기 핫스팟 일명 테더링 이란 무엇일까요?사전적 의미로 딱딱하게 말하면 아래와 같습니다. 테더링(영어: tethering)은 인터넷 접속이 가능한 기기를 이용하여, 다른 기기에도 인터넷에 접속할 수 있게 해주는 기술이다. 블루투스 무선 기술이나 USB 케이블 등으로 두 기기를 연결하여 사용할 수 있으며, 이때 인터넷 접속이 가능한 기기가 다른 기기의 모뎀 역할을 하게 된다.- 위키피디아 한마디로 요약하면 3G/LTE가 되는 휴대폰의 데이터를 사용할 수 있게 하는 기능!즉, 휴대폰의 3G/LTE 데이터를 Wi-Fi로 바꿔주는 기능이며 다른 기기에서 인터넷을 할 수 있게 하는것이죠!근데 이게 응근 사용하기 불편합니다 이기능 자체를 모르시는 분들도 많구요! 그래서! 생각했습니다(지.. 더보기
[Android] 안드로이드 페이스북 로그인 10초만에 구현하기 ( Facebook Login ) 바로 직전에 카카오톡 로그인 구현을 다루었습니다.그렇다면 가장 많이 사용하는 페이스북은 어떨까요?? 권한 관련 이슈가 있긴하지만 카카오톡보다 훠~~얼씬더 간단합니다.하지만 페이스북 조금다른게 토큰요청후 그토큰을 이용하여 graph api 로 사용자 정보를 다시 조회해야합니다.물론 모든건 페이스북 개발자센터에 다~ 나와있습니다. 본 예제는 따로 샘플없이 다룹니다.본 예제는 로그인요청 버튼을 페이스북에서 제공하는게 아닌 커스텀하여 사용할 수 있도록 구현합니다. 카카오톡을 연동하고 싶으시면 아래 게시물을 참조하세요[Android] 안드로이드 카카오톡 로그인 10초만에 구현하기 ( Kakao Login ) 1. AndroidManifest.xml 2. 로그인요청 버튼 구현 * Arrays.asList 를 이용하.. 더보기
[Android] 안드로이드6.0 권한 처리하기 ( checkSelfPermission ) Android 6.0 Marshmallow 에서 checkSelfPermission 사용하기 안드로이드가 6.0 마시멜로로 업데이트 되면서 크게 바뀐게 하나 있습니다.바로 권한인데요, 기본적인 인터넷 같은 사용권한은 기본권한에 포함되어 따로 사용자에게 동의를 구하지 않아도 됩니다.하지만 기기를 제어할 수 있는( 파일읽기,카메라,블루투스,GPS제어 등등 ) 에 대한 권한은 동의를 받아야만 사용할 수 있습니다.또한 사용자는 언제든지 그 권한 사용을 취소할 수 있습니다. 앱개발시 가령 갤러리를 만들어서 사용한다고 할때 기기의 파일을 읽는 권한인 READ_EXTERNAL_STORAGE 가 필요로 합니다.마시멜로에서는 READ_EXTERNAL_STORAGE 권한에 대한 사용동의를 받지 않을경우 별다른 처리가 없으.. 더보기
[Android] Google Play Service 원하는 기능만 사용하기( Android Studio 기준 ) GooglePlayService 가 현재 7.8.0 까지 나왔습니다.현재의 GooglePlayService에는 Google에서 제공하는 모든 SDK 가 들어가있습니다.그때문에 그냥 사용하시면 65k 오류가 발생하고 dex 옵션을 무조건 사용해야 하는 문제가 있습니다 하지만, 구글에서는 기능별로 사용할 수 있게 제공하고 있습니다응근 이부분을 놓치셔서 삽질을 많이 하는데요, 그에 대해 포스팅 해보도록 하겠습니다 1. 일반적으로 구글맵을 사용하려고 할때 아래처럼 구글플레이서비스 를 Gradle에 추가 할겁니다compile 'com.google.android.gms:play-services:7.8.0' 하지만 위처럼 사용하는건 올바른 방법이 아닙니다.GooglePlayService에는 20여개의 구글에서 제공하.. 더보기