일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 안드로이드 Sunflower 스터디
- 막내의막무가내 일상
- Fragment
- 안드로이드
- 2022년 6월 일상
- 막내의막무가내 코틀린
- 막내의막무가내 안드로이드 코틀린
- 부스트코스
- 주엽역 생활맥주
- 안드로이드 sunflower
- 막내의막무가내 목표 및 회고
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 SQL
- 막내의막무가내 플러터
- 주택가 잠실새내
- 막내의 막무가내
- 막내의막무가내
- 막내의막무가내 rxjava
- flutter network call
- 막무가내
- 부스트코스에이스
- 막내의막무가내 안드로이드
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 플러터 flutter
- 프래그먼트
- 막내의막무가내 프로그래밍
- 프로그래머스 알고리즘
- 막내의막무가내 코틀린 안드로이드
- 막내의 막무가내 알고리즘
- 막내의막무가내 알고리즘
- Today
- Total
목록안드로이드/자바 & Previous (56)
막내의 막무가내 프로그래밍 & 일상

구글로그인과 페이스북로그인에 이어서 카카오톡 로그인을 해본 걸 정리하는 포스팅을 갖도록 해보겠습니다. [2020-06-21 업데이트] 참고로 저는 구글 파이어베이스의 OAuth 토큰을 사용하기 위해서 카카오톡 로그인과 구글 로그인을 통합해야했습니다. 그래서 카카오톡 로그인 성공시 해당 정보를 갖고 구글로그인 가입이 되게 하여 토큰을 받을 수 있게 했었습니다. 즉 카카오톡 로그인 -> 구글 로그인 -> 가입 완료가 되는 절차입니다. 카카오 디빌로퍼 UI가 좀 바꼇네요. 활성화 하시고 키는 여깄습니다. https://developers.kakao.com/docs/latest/ko/kakaologin/android Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카..

데이터바인딩 많이 들어봤지만 실제 프로젝트에 써본적은 없었습니다. 이번기회에 한번 써보고 싶어서 간단하게 findViewById를 생략해주고 onClick리스너 관련 데이터바인딩만 사용해봤습니다. 프래그먼트와 액티비티에서 사용해봤습니다. android { ... dataBinding { enabled = true } } 이것을 앱수준 build.gradle에 추가해준다. 프래그먼트에 적용한 거부터 살펴보겠습니다. 먼저 xml입니다. layout태그를 밖에 감싸줍니다. 저같은 경우 layout에 있는 tools:context나 context를 그 바로 하단의 CoordinatorLayout에 넣어놨었더니(데이터바인딩을 나중에 넣은거여서 CoordinatorLayout가 최상다 레이아웃이여서 갖고 있었다.)..
1 public void showDialog(String title, String content, String positive, String negative) { AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle(title); dialog.setMessage(content); dialog.setPositiveButton(positive, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //positive 버튼이ㅏ 눌렸을 때 수행될 코드를 작성 } }); dialog.setNegativeButton..
1. 첫번째 방법 클릭리스너 안에 시간초를 재서 구현 private long mLastClickTime = 0; ... // inside onCreate or so: findViewById(R.id.button).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // mis-clicking prevention, using threshold of 1000 ms if (SystemClock.elapsedRealtime() - mLastClickTime < 1000){ return; } mLastClickTime = SystemClock.elapsedRealtime(); // do your magic here }..

참고 및 출처: https://realm.io/kr/docs/java/latest/ Realm: 리액티브 모바일 애플리케이션을 손쉽고 빠르게 만드세요 Realm Java is the first database built for mobile. An alternative to SQLite and ORMs that's fast, easy to use, and open source. realm.io Realm에 대해 간략하게 정리해는 포스팅입니다. 개인적으로 적는거라 정보를 얻으러 오신분들은 다른 블로그 추천드립니당.. 처음 안드로이드를 시작할때는 Shared와 SQlite를 사용해봤었는데 Realm도 안드로이드에서 사용할 수 있는 데이터베이스 중 하나입니다. 장점으로는 타 데이터베이스에비해 빠르고 간편하고 O..
square사에서 만든 otto(오투) 라이브러리에 대해 포스팅을 해보겠습니다. https://github.com/square/otto square/otto An enhanced Guava-based event bus with emphasis on Android support. - square/otto github.com 참고 : https://gun0912.tistory.com/4 [안드로이드/Android]유용한 라이브러리 - Otto(Event Bus) Otto라이브러리는 Square에서 만든 event bus형태의 라이브러리 입니다. 홈페이지 GitHub 예를들어보겠습니다. 3개의 Activity A,B,C가 있습니다. 이 3개의 화면은 모두 같은 데이터를 가지고 다른형태로 화면에.. gun091..
Spanny 라이브러리에 대해 살펴보는 포스팅입니다. Spanny는 텍스트뷰와 같이 여러줄의 글이 올 수 있는 뷰의 스타일을 바꿔줄 수 있는 라이브러리입니다. 예를들어 안 녕 하 세 요. 또는 안 녕 하 세 요 이 각 한글자들을 다른 색상이나 스타일로 선언을 할려면 텍스트뷰를 5개를 만들어 각기 다른 스타일을 지정해줘야합니다. 그리고 유동적으로 바뀌는 글이라면은 하나하나 대응하기 더 복잡할 겁니다. 이럴때 Spanny라이브러리를 사용하면 단어 혹은 줄마다 자기가 원하는 글자 스타일을 지정해줄 수 있습니다. 사용법은 아래 사이트에 잘 나와있습니다. https://github.com/binaryfork/Spanny binaryfork/Spanny A helper class that extends Spanna..

이번에는 레트로핏(Retrofit2)에 대해 정리해보는 포스팅을 가져보도록 하겠습니다. http://www.kobis.or.kr/kobisopenapi/homepg/main/main.do 영화진흥위원회 오픈API www.kobis.or.kr 레트로핏 실습을 위해 영화진흥위원회 오픈 API를 참고하여 통신하도록 하겠습니다. 그 중에서도 주간/주말 박스오피스 순위기준으로(http://www.kobis.or.kr/kobisopenapi/homepg/apiservice/searchServiceInfo.do) 영화의 제목과 순위 일일관객수 누적관객수를 리사이클러뷰 형태로 불러와보도록 하겠습니다. 먼저 시작하기전에 해당사이트에서 회원가입을하고 api접근 허용키를 받아야 데이터를 불러올 수 있습니다. 1. 먼저 매니..

예를들어 카톡알림처럼 내가 누군가에게 채팅을 했을때 상대방에게 알림을 주고싶을 때 즉 , 디바이스에서 디바이스로 알림을 주고 싶은데 하는방법에 대해 포스팅해볼려고합니다. 먼저 OkHttp3, 클라우드메세징 파이어베이스 관련된 것은 gradle에서 implementation 해줬다고 생각하고 진행해보도록 하겠습니다. //okHttp implementation 'com.squareup.okhttp3:okhttp:3.14.1' implementation 'com.google.firebase:firebase-messaging:17.3.4' FCM을 하기위해서는 먼저 상대방의 토큰 값을 알아야합니다. 그래서 전 저의 토큰값을 데이터베이스에 저장하여 상대방이 저의 토큰을 데이터베이스를 통해 알고 푸시메세지를 쏴줄 ..

리사이클러뷰를 사용하다가 하나의 뷰가 아닌 다른 형태로 된 여러가지 뷰를 사용하고 싶을 때가 있다. 예를들어 카카오톡 같이 상대의 채팅은 왼쪽에 가고 사진과 이름이 보이게하고 나의 채팅은 이미지는 안보이고 채팅내용만 보이게하고 오른쪽 정렬이 되게끔 하고 싶은...? 그래서 오늘은 리사이클러뷰에서 여러 가지 뷰를 사용해서 만드는법에 대해 포스팅 해볼려고한다. 들어가기에 앞서 나는 뷰를 이렇게2개를 만들었다. ( 2는 오른쪽으로 정렬된 내가채팅칠 경우 띄워줄 화면이고 1은 상대의 채팅을 띄어줄 왼쪽으로 정렬된 화면이다.) $ 참고로 이 글을 읽는 분들은 대부분 채팅과 같은 두 개 이상의 종류를 가진 리사이클러뷰가 필요하신 분들일텐데 디자인은 가볍게 보시고 뷰홀더 쪽 구현만 봐도 어떻게 구현해야할지 감은 오실..

애드몹을 가입하고 광고 아이디를 받았다는 가정하에 포스팅하겠습니다. 먼저 이것들을 추가해준다. (strings.xml) (build.grade 앱) 17버전으로했습니다. (builde.gradle 프로젝트) (manifest) application 태그에 다음 메타데이터를 추가해주고 애드몹이 띄울 액티비티 사이에 똑같이 메타데이터를 추가해준다. 구글 문서로는 애플리케이션사이에 메타데이터 넣으라했는데 안돼서 띄워질 액티비티 사이에도 메타데이터를 넣어주니깐 됬다. 1. 애플리케이션태그안에 하나 2. 광고를 띄워줄 액티비티 태그안에도 똑같이 메타데이터 추가 (띄워질 액티비티에 다음 자바코드들 추가) 전역변수 //애드몹 private InterstitialAd mInterstitialAd; onCreate()내..

리사이클러뷰 표본 예시 포스팅하겠습니다. 저는 context와 items를 한번에 넣어주기 위해 생성자를 저렇게 2개를 받았지만 보통의 경우 둘 중 하나를 받는 것 같습니다.( 가르치시는분이나 블로그마다 달라서...) 어댑터부분 (그냥 쓴거와 null분기문으로 처리한거 두가지 올려봅니다) import android.content.Context; import android.content.Intent; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.V..

프로젝트에 파이어베이스 리얼타임데이터베이스를 사용중인데 나중에 또 사용될떄 까먹을 수 있어서 정리포스팅을 하겠습니다. 저를 위한 정리이므로 타인분들이 얻을 정보는 거의 없으실거라고봅니다... 디비는 다음과 같이 되있습니다. 데이터베이스 참조 및 자식생성 예제 DatabaseReference mRootDatabaseReference = FirebaseDatabase.getInstance().getReference(); DatabaseReference mProfieDatabaseReference = mRootDatabaseReference.child("profile"); //profile이란 이름의 하위 데이터베이스 DatabaseReference mNickNameDatabaseReference = mRoo..
FIrebase RecyclerView를 써봤고 해당코드들을 정리한 포스팅을 하겠습니다. query를 사용해 DB값을 가져온다는거 외에는 리사이클러 뷰와 동일하다고 볼 수 있으므로 리사이클러뷰 참조할때 보셔도 될것 같습니다. 그냥 리사이클러뷰의 경우에는 밑의 생성자부분과 클래스 extends를 다음과 같이 바꿔주면 될것입니다. 파이어베이스 리사이클러뷰 어댑터 public MessageAdapter(@NonNull FirebaseRecyclerOptions options, Context context) { super(options); //options는 파이어베이스 리사이클러뷰에 DB의 쿼리문옵션을 넣어 해당 쿼리문에 맞는 데이터들을 자동 세팅해주기 위해서 사용합니다. this.context = conte..
리사이클러뷰를 사용할때 아래구분선을 주는 방법이다. mMessageRecyclerView.addItemDecoration(new DividerItemDecoration(getApplicationContext(), DividerItemDecoration.VERTICAL)); 를 사용하면된다. //아래구분선 세팅 mMessageRecyclerView.addItemDecoration(new DividerItemDecoration(getApplicationContext(), DividerItemDecoration.VERTICAL)); // 리사이클러뷰에 레이아웃 매니저와 어댑터를 설정한다. LinearLayoutManager layoutManager = new LinearLayoutManager(this, Li..