본문 바로가기

안드로이드

[안드로이드] 유용한 라이브러리 - 개발속도를 빠르게 해주는 각종 유틸 모음 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 권한에 대한 사용동의를 받지 않을경우 별다른 처리가 없으.. 더보기
[Baas] Android Push 서비스 구성하기 #1 - Parse를 이용한 Push(GCM) 수신하기 많은 Android 개발자 및 서버개발자분들이 고민하시는게 푸쉬서버를 구지 만들어야 할까? 어디 쓸만한 서비스 없을까? 입니다푸쉬서버 및 푸쉬발송 시스템(관리자)등을 구축하는건 어려운건 아니지만 손이 많이가죠 안드로이드/아이폰/관리자 등 만들어야하고 수많은 예외가 필요하기 때문에 쉽지는 않죠특히나 스타트업같은 경우는 시간이 금이고 개발력이 부족하기 때문에 더 어렵구요 그래서 선택한게 FaceBook 의 Parse 입니다.Parse는 Baas 서비스이구요, FaceBook이 2013년에 인수한 서비스입니다. 이글을 시작으로 당분간 Parse를 이용한 푸쉬서비스 구축에 대해 써보려고 합니다.푸쉬에 대한 부분만 이야기할거구요 Parse의 모든기능은 다루지 않을겁니다 일단 제가 푸쉬만 사용하는 이유는 아래와 같.. 더보기