프로그래밍/Android 134

안드로이드 Fragment 상태를 저장하고 복구하는 Best practice 소개

오늘도 개발을하는 중 이미지를 불러오는 Fragment를 구현할일이 생겼다. (사실 비일비재하지만)이미지뷰가 onSaveInstanceState 메소드가 구현되어있지 않은 서드파티 이미지뷰였기 때문에 속도는 당연 느렸고,그래서 방법을 찾던 중 이 글을 보게되었다. 유용할 것 같아서 공유한다! 심심할때마다 번역해야겠다. > 원문 출처https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en

[2018년] 안드로이드 인앱 결제 구현 완벽 정리

시작하며...이번에 프로젝트를 하면서 인앱결제 부분을 맡게 되었는데 안드로이드 인앱결제 구현을 한 번도 해본적이 없어서 애좀 먹었다.나 역시도 인앱결제 별거아니겠지~ 생각했는데 의외로 새로운 개념들이 많았다! * 수정 (2018.10.13)관련 소스파일은 링크(http://jizard.tistory.com/153) 를 참조하세요!* 추가 (2019.03.10)빠른 진행을 원하신다면 간단 버전(https://jizard.tistory.com/164)을 참조 해 주세요~ 시작 전에 미리 준비할 것안드로이드 개발자 계정 알기싫어도 꼭 알아 둬야 할 개념들- 인앱 상품의 종류인앱상품의 종류에는 관리되는 제품과 구독 2가지가 있다. 관리되는 제품이란 우리가 일반적으로 생각하는 소비가능한 게임 아이템/화폐 또는 일..

안드로이드 ListView 스크롤 끝날때 물결 없애는 방법

오랜만의 포스팅이다.그 동안 너무 바쁘고... 쉴땐 쉬고 싶어서 이런 저런 핑계로~ 블로그 일을 미뤄뒀는데, 간만에 간단하면서 유용한 팁하나 적어보려한다. 안드로이드 ListView는 더이상 스크롤을 할 수 없을 때 기본 값으로 물결이 생기도록 되어있다.유용하기는 하지만, 직접 설정한 padding 값이 보이기도하고, 앱의 디자인 테마랑 맞지 않을 때 상당히 걸리적거린다.이럴때는 android:overScrollMode="never" 한줄로 해결할 수 있다.나는 스크롤바까지 전부 없애버렸다 ㅎㅎ.. 12345678cs

[안드로이드] Retrofit으로 API 통신하기

이번 강의에서는 안드로이드를 위한 HTTP 클라이언트 레트로핏을 이용해서 API 통신을 구현 해 보도록 하겠다.먼저, JSON 값을 돌려주는 서버가 준비 되어 있어야한다.여기서는 간단히...깃헙 contributors를 통해 살펴보겠다.주소는 https://api.github.com/repos/square/retrofit/contributors 이다. 목표https://api.github.com/repos/square/retrofit/contributors 에 들어가면 아래와 같이 JSON 형식으로 된 정보들이 나온다. 오늘 해볼 것은 저 정보들 중에서 특히 'login' 정보를 TextView에 받아 오는 것이다. build.graddle (app) 12345dependencies { ... compi..

[Retrofit] 안드로이드로 HTTP 통신하는 Retrofit 소개

Retrofit 안드로이드 앱을 개발하면서 백엔드는 거의 필수 요소가 되었다.백엔드를 개발할 줄 몰랐을땐 Firebase 처럼 손쉽게 백엔드 기능을 구현해주는 BasS를 사용했지만,요새는 Node.js를 이용해서 손 쉽게 백엔드 서버를 만들 수 있게 되었다. 2012년 부터 쭉- 나는 안드로이드와 REST API 서버 간에 HTTP 통신을 할때는 주로 AsyncTask를 사용 했었다.귀찮기는 했지만 그게 유일한 길인 줄 알았는데, 이번에 새로운 라이브러리를 하나 알게 되었다.바로, Retrofit이다. Async보다 성능이 뛰어나대서 다음 프로젝트에 바로 적용시킬 예정이다. 공식 홈페이지에 사용법이 친절하게 적혀있다. >> http://square.github.io/retrofit/친절하게 영어로...^..

안드로이드 구글 애널리틱스 (Google Analytics) 연동하기

안드로이드에서 구글 애널리틱스 연동하는 방법을 살펴보자!구글이 제공하는 시작 가이드가 있지만 가이드대로 했더니 약간 부족한 면이 있어 포스팅한다.구글 애널리틱스 콘솔 화면에서의 작업이 아닌 안드로이드 스튜디오에서 해야할 것들에 대해서 자세히 다룰 것이다. 구글 애널리틱스 콘솔에서 준비하기우선 analytics.google.com 에 접속하여 앱 데이터를 만든다.여기서 얻어야 할 것은 바로 UA-00000000-0 형태로 생긴 추적 코드다. AndroidManifest.xml 1234567891011121314 ... Colored by Color Scriptercs 안드로이드 스튜디오에 들어가서 프로젝트를 열고, AndroidManifest.xml 파일을 연다. 태그 아래에 인터넷, 액세스 네트워크 스테..

안드로이드 apk 용량 줄이는 효과적인 방법

>> https://blog.getsigneasy.com/engineering/signeasy-android-app-lighter/ 요약하면 이렇습니다. 디테일은 링크를 통해서 알아보세요! 최소한의 라이브러리 사용하기Google API의 경우에 v6.5 이상 부터 선택적으로 라이브러리를 포함시킬 수 있도록 했으니, 사용하는 종류만 골라서 사용하는 것이 좋다. ProGuard 사용하기ProGuard는 앱에서(라이브러리를 포함) 사용하지 않는 클래스나 메소드, 필드들을 지워주는 효과적인 툴이다.만약에 AppCompat-v7 또는 support library-v4를 사용하고 있다면 ProGuard파일에 아래의 2줄이 없도록 해야한다.-keep class android.support.v4.** { *; }-ke..

안드로이드 아름다운 카드뷰(Card View) 리스트 만들기 - (4)

PHP 파일 공개PHP 파일은 어떻게 되어있는지 궁금해 하시는 분들이 많아코드를 첨부합니다. 저도 DB & PHP를 배우지를 않아서 인터넷 코드를 긁어서 만든거라 JSON 형태로 만든 아웃풋만 봐주시면 될 듯합니다!Android를 위한 JSON Parser는 구글링해서 쉽게 찾으실 수 있을 것입니다.물론 gson 같은 유명한 라이브러리도 있구요!

안드로이드 아름다운 인트로 화면 만들기

안드로이드 앱 시작시 로고가 잠깐 떴다 사라지는 화면을 본 적 있을 것이다.인트로 화면에서는 최근 안드로이드 M에서 등장한 퍼미션을 받을 수도 있을 것이고, 로딩바도 구현할 수 있을 것이다.오늘은 그 인트로 화면을 구현해보도록 하겠다.먼저, 해당 layout을 준비한다. 그냥 linearLayout에 이미지 하나 올린 거라도 괜찮다.그 화면을 activity_intro.xml 라고 가정하자. 다음은 IntroActivity.java 를 생성한다.IntroActivity.javaimport android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; /** * Created by..