Android 88

[안드로이드] Kotlin Flow를 이용한 순간검색 (Instant Search)을 구현해보자

내가 만든 앱에서 순간검색을 지원하고 싶었던 순간이 많았는데...원래 되는대로 검색 요청 날리다가 이번에 새로운 방법을 알게되서 적어본다.Kotlin에서 Flow가 뭘까...공부하다가 나온 예제에서 발견했다.완성하면 이렇게된다. 전체 프로젝트 Githubhttps://github.com/lx5475/Kotlin-Flow-Instant-Search 간단하게 치킨집 목록을 검색하는 걸로 시작해보도록하겠다. 12345678910111213dependencies { // RecyclerView implementation "androidx.recyclerview:recyclerview:1.1.0" // ViewModel def lifecycle_version = "2.2.0" implementation "andr..

안드로이드 인앱결제 구독 구현 예제!

* 이 글은 개인적 정리겸 복습을 위해 쓰여진 글로, 설명이 미흡한 부분이있을 수 있습니다! 코드 개선점이나 질문있으시면 댓글로 달아주세요~ 결제 구현을 위한 기본적인 준비물들 제 블로그 결제 구현 글에 자세히 설명 해두었으니 여기서는 간략하게 적고 넘어가겠습니다! 1. build.gradle에 결제 라이브러리 추가1implementation 'com.anjlab.android.iab.v3:library:1.0.44'cs 2. AndroidManifest.xml에 결제 권한 추가1cs 3. Google Play Console에 결제 권한이 추가된 APK를 알파 채널에 업로드 4. Google Play Console > 내 앱 클릭 > 개발 도구 > 서비스 및 API >'이 어플리케이션용 라이센스키' 복사..

안드로이드 이미지 URL로 표시하기 (Android ImageView with image url)

안드로이드에서 이미지 URL을 가지고 이미지뷰(ImageView)에 이미지를 가져오는 가장 간단한 방법이있다.손수 하려하면 캐싱, 로딩, 네트워킹 등 건드려야 할 부분이 꽤 많은데, 라이브러리를 이용하면 아주 쉽다.물론 손수하는 것처럼 여러가지 옵션들도 조정 가능하다. 유명한 라이브러리로는 Picasso/Glide/Fresco 3대장이있는데,3가지 다 써본 유저로서 정리를 해보자면... 이정도!강의에서는 Glide를 사용해볼 것이다. -Glide: 제일 많이쓰는 보편적인 것, 자료가 많음-Picasso: 옛날에 많이 쓰였던것, Picasso와 Glide는 사용하는 문법이 비슷해서 원하는 기능에 따라 편한걸로 쓰면됨 (하지만 기능도 거의 비슷)-Fresco: 페이스북이 개발한 이미지 라이브러리로, 사용법이..

안드로이드 Admob 종료 및 뒤로가기시 전면광고 추가하기

안드로이드 앱에 Admob 전면 광고를 추가할 때는 Admob 광고 정책을 잘 지켜야한다.광고 정책을 피해서 좋은 타이밍에 전면광고를 추가하는 방법으로는 여러가지가 있는데,그중에서도 뒤로가기/백키(Back key) 를 눌렀을때 전면광고를 보여주는 구현을 해볼 것이다. * 종료 및 뒤로가기 시 Admob 전면광고를 붙이는 일은 현재 광고정책에 맞지않습니다. (2020.05.17 수정)1. 전면광고 초기화우선 이렇게 생긴 MainActivity에 전면광고를 초기화 한다.public class MainActivity extends AppCompatActivity { private InterstitialAd interstitialAd; @Override protected void onCreate(Bundle s..

안드로이드 인트로(스플래시) 화면을 만들어보자

카카오톡, 네이버, 구글 등 여러 앱들은 대부분 스플래시 화면이라고 하는 것을 가지고 있다. 앱 실행시 잠깐 로고가 뜨는 화면을 말하는데, 오늘은 그것을 만들어보려고 한다. 내가 진행할 강의는 인터넷에 있는 다른 안드로이드 스플래시 화면 만들기 강의랑은 다른점이 있는데, 바로 Thread-Handler를 사용하지 않는다는 것이다. Handler를 사용해서 만드는 방법은 지정한 시간 후에 화면이 넘어가게하는 방법인데, 아래 단점과 같은 이유로 별로다…여러분의 앱 로고가 아무리 멋지다 하더라도 로딩이 다 끝났는데 스플래시 화면을 봐 줄 사람은 없다. ㅠㅠHandler 사용시장점지정한 시간동안 스플래시 화면을 보여줄 수 있다.단점지정한 시간동안 사용자를 억지로 기다리게 한다.내가 만들 스플래시 화면은 순수하게..

안드로이드 URL에서 메타데이터 얻기 (Android get metadata from url)

오늘 할 것은 유저가 URL을 입력했을때 사이트 메타데이터를 얻어와서 표시하는 작업이다. 아래처럼 유튜브 URL을 입력하면 저렇게 간단한 사진과, 내용이 보인다. 시작하기 전에... Jsoup 라이브러리를 이용할것이니 build.gradle에 implementation 'org.jsoup:jsoup:1.11.1' 한 줄을 추가! 1. Validator.java : URL 검사 클래스 만들기 URL 파싱에 앞서서 URL이 진짜 맞는 URL인지 검사하는 클래스인 Validator를 만든다. Validator.isUrl()를 하면 URL이 맞는지 간단히 검사할 수 있다. public class Validator { public static boolean isUrl(String text) { Pattern p ..

[2019년] 안드로이드 인앱 결제 구현 초간단 정리!

* 2018년 안드로이드 결제 구현에서 다이얼로그 목록으로 결제를 구현하는 부분때문에 많은 분들이 헷갈려하셨고,앱도 내 앱이아니라 소스 코드를 완벽하게 공개하기 어려웠는데, 그래서 2019년! 초간단하게 안드로이드 결제를 구현하는 방법을 정리해서 다시 올린다.(간단명료에 초점을 맞췄으므로 각 메소드에 대한 자세한 설명은 2018년 글을 참조 부탁드립니다.) - 광고제거 버전 구현 목차 : Android In-app Billing 101~ 1. 구글 플레이 콘솔 설정- 1) 구글 플레이 콘솔에 앱 생성하기- 2) 라이센스키 얻기- 3) 인앱상품 등록하기 2. 안드로이드 개발시 설정- 1) build.gradle에 라이브러리 implement하기- 2) AndroidManifest.xml에 BILLING 권..

[안드로이드] Admob 배너 광고가 나오지 않을때 (Admob banner not showing) - Admob Failed to load ad: 0

"애드몹 광고가 안떠요!"정말 문서만 똑같이 따라서 했는데 애드몹 광고가 나오지 않을때가 있다.문제는 정말 초보적인 실수에서 시작하니 하나하나 체크 해보자!오류 로그가 아래와 같이 찍히면서 배너광고나 전면광고가 나오지 않을때 체크해보면 되는 사항들이있다. Admob Failed to load ad: 0admob getting an ad response. ErrorCode: 0 Failed to load ad:0 1. 신규로 만든 계정인가?- Admob에 신규 생성한 계정또는 광고라면 몇시간 내에는 광고가 바로 뜨지 않을 수 있다.이럴때, 테스트 unit id로 등록해보는걸로 실험을 해보면된다. 테스트용 앱 아이디: ca-app-pub-3940256099942544~3347511713테스트용 배너 광고 아..

[안드로이드] WebView에서 카카오톡 플러스친구 Intent 실행법

카카오톡 플친 실행 인텐트를 해결하는 방법을 찾아보다가,아래 블로그에서 해결책을 찾았다. intent://plusfriend/chat/... http://apogenes.tistory.com/4 관련 코드는 아래와 같다. 테스트 결과 잘 작동한다! 1234567891011121314151617181920212223242526272829303132333435private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url != null && url.startsWith("intent://")) { try { Intent int..

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

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