반응형

Android 36

[Android][Kotlin] Fragment의 toolbar 메뉴 클릭 이벤트

프래그먼트의 툴바의 메뉴를 클릭 이벤트를 어떻게 처리하는지 검색하는데 다 액티비티의 메뉴 클릭 이벤트를 처리하는 방법만은 알려주었다... 프래그먼트라고 되어있어도 클릭 이벤트는 제대로 실행되지 않았다 그러던 중 공식 문서에서 이것에 대해 다룬 것을 발견!!! 해서 공유해보려고 한다! 시간 낭비를 줄이는데 도움이 되었음 하는 마음에서..ㅎ https://developer.android.com/guide/fragments/appbar?hl=ko#kotlin AppBar 사용 | Android 개발자 | Android Developers 상단 앱 바는 현재 화면의 정보와 작업을 표시하기 위해 앱 창 상단을 따라 일관된 위치를 제공합니다. 그림 1. 상단 앱 바의 예 프래그먼트를 사용할 때 앱 바는 호스트 활동..

Android 2021.05.22

[Android + FirebaseML] Android에서 커스텀 Tensorflow Lite 모델 사용하기

오늘은 안드로이드에서 커스텀 텐서플로우 라이트 모델을 사용하는 방법을 알아보겠습니다! 구글에 안드로이드에서 텐서플로우 라이트 모델 사용하는 법을 검색하면 거의 안드로이드 프로젝트에 텐서플로우 라이트 모델을 넣고 사용하는 방법만 알려주더라구요! 안드로이드 프로젝트에 모델을 직접 넣는 것이 아닌 FirebaseML을 사용하여 Firebase에서 모델을 가져와 안드로이드에서 모델을 사용하는 방법을 알아보겠습니다 :) FirebaseML FirebaseML을 사용해보겠습니다! 이것을 사용하기 위해서는 Firebase에 모델을 업로드해야 합니다 안드로이드에서 텐서플로우 라이트를 사용할 것이기 때문에 모델을 업로드할 때 .tflite 파일로 업로드를 해주어야 합니다 모델을 .tflite로 변환하는 방법은 조금만 구..

Android 2021.05.15

[Android] RxJava란?

오늘은 RxJava가 무엇이고 어떻게 사용하는지에 대해 기본적인 것들만 알아보도록 하겠습니다! RxJava에 관한 내용이 많기 때문에 오늘은 기본적인 개념만 다루고 나중에 추가적으로 필요한 부분은 따로 공부하는 것이 좋을 것 같습니다 RxJava란? RxAndroid 는 RxJava에 안드로이드용 스케쥴러 등 몇 가지 클래스를 추가해 안드로이드 개발을 쉽게 해주는 라이브러리 RxJava 는 ReactiveX(Reactive Extensions)를 Java로 구현한 라이브러리 RxJava, RxAndroid는 반응형 프로그래밍(Reative Programming)을 하기 위해 만들어졌습니다. 그럼 반응형 프로그래밍은 무엇일까부터 시작해야겠습니다. 반응형 프로그래밍 (Reactive Programming) ..

Android 2021.05.14

[Android] 12주차 스터디 (Volley)

Volley - HTTP 통신 라이브러리 - 안드로이드에서 웹서버에 데이터를 요청하고 응답을 받을 때 HttpURLConnection을 사용하는 통신을 간단하게 해준다 - 여러 개의 동시 네트워크 연결 - 표준 HTTP 캐시 일관성을 갖춘 투명한 디스크 및 메모리 응답 캐싱 - 요청(Request)의 우선순위 자동으로 관리 Volley의 작동 구조는 다음 그림과 같습니다. 먼저 Request 요청객체를 만들고 이 요청객체를 requestQueue(요청 큐)에 넣어주면 이 requestQueue가 자동으로 웹서버에 요청을 해주고 응답을 받아 사용자가 사용할 수 있게 지정된 메소드를 호출해줍니다. 이제 Volley를 사용하여 웹서버와 통신해보겠습니다! 1. build.gradle에 다음 코드를 추가합니다 i..

Android 2021.02.19

[Android] 11주차 스터디 (Firebase Storage with Glide)

1. Firebase에서 프로젝트 생성 후 이미지 업로드 2. Storage 보안규칙 변경 service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write : if true; } } } 3. Gradle 설정 // build.gradle( buildscript { repositories { google() jcenter() } dependencies { classpath "com.android.tools.build:gradle:4.1.1" classpath 'com.google.gms:google-services:4.3.4' // 추가할 부분 } } // build.gradle(:app) apply plugi..

Android 2021.01.27

[Android] 10주차 스터디 (Firebase 클라우드 메시징 (FCM))

기본적으로 파이어베이스와의 연동이 다 끝난 상태라고 가정한 후 시작하겠습니다! 연동이 아직 안된 상태라면 파이어베이스와 연동을 끝낸 후 시작하시길 바랍니다 Firebase 클라우드 메시징 (FCM) - 급하게 앱 서비스를 위해 푸쉬 알림이나 공지사항 등을 날릴 때 사용 - 기능: 알림 메시지 또는 데이터 메시지 전송, 다양한 메시지 타겟팅, 클라이언트 앱에서 메시지 전송 1. 권한 추가 - build.gradle implementation 'com.google.firebase:firebase-messaging:21.0.1' 2. 서비스 설정 - AndroidManifest.xml - 는 아래에 추가해줍니다. - service는 백그라운드에서 계속 작업되고 있는 것을 말합니다. - service를 정의할 ..

Android 2021.01.14

[Android] 9주차 스터디 (Glide)

Glide(글라이드)란? - 이미지 로딩 라이브러리 - Google에서 개발해서 밀고있던 volley이후에 2014년에 공개된 라이브러리입니다. - Bump앱을 구글이 인수하면서 bump앱에서 사용하던 이미지 라이브러리를 공개한것이 이 Glide입니다. - 기존의 Picasso에서 사용하는 함수 방식과 거의 비슷합니다. - 다른 이미지 로딩라이브러리에는 없는 썸네일보기, GIF로딩, 동영상 스틸 보기 기능까지 지원합니다. 1. Glide 라이브러리 추가 - build.gradle implementation 'com.github.bumptech.glide:glide:4.10.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0' 2. 권한 추..

Android 2021.01.07

[Android] 8주차 스터디 (Firebase)

오늘은 파이어베이스를 사용하여 안드로이드에서 입력받은 데이터를 저장하고 데이터를 읽어보는 것을 해보겠습니다. 저는 파이어베이스와 안드로이드 연동이 다 끝난 상태로 시작하겠습니다. 1. 권한 추가 - AndroidManifest.xml 다음 권한을 추가해주세요! 2. 뷰 만들기 - activity_main.xml 사용자에게 이름, 이메일, 나이를 입력받기 위해서 EditText를 만들어줍니다. 데이터 저장을 위해 버튼을 만들었습니다. 가져올 데이터의 pk값인 id를 입력받기 위해서 EditText를 만들어줍니다. 데이터 읽기를 위해 버튼을 만들었습니다. 3. 객체 만들기 데이터를 객체 형태로 만들어 저장하기 위해 데이터를 담을 객체를 만들어줍니다. @IgnoreExtraProperties public cl..

Android 2021.01.07

[Android] 네비게이션 드로어(Navigation Drawer) 사용하기 + 풀스크린(Fullscreen)

오늘은 네비게이션 드로어의 사용방법에 대해 알아보겠습니다. 1. 먼저 툴바를 사용하기 위해서 theme.xml을 액션바를 사용하지 않도록 바꾸어줍니다. 이 작업을 하지 않으면 오류가 날 것입니다. 2. layout/activity_main.xml 네비게이션 드로어를 사용하기 위해서는 DrawerLayout을 사용해야 합니다. 가장 바깥에 DrawerLayout을 깔아주고, 그 안에 원하는 레이아웃을 넣은 후 화면을 구성하면 됩니다. 저는 따로 뭘 넣지는 않았습니다. Relative Layout 안에 툴바를 넣어줍니다. 네비게이션 드로어 화면은 화면에 계속 보여지는 것이 아니므로 RelativeLayout 밖에 뷰를 넣어줘야 합니다. 따라서 NavigationView는 RelativeLayout 밖이고, ..

Android 2020.12.27

[Android] 카메라(Camera) 호출 후 이미지 크롭(Crop) 하기

1. 크롭 라이브러리 추가 - build.gradle의 dependencies implementation 'com.soundcloud.android:android-crop:1.0.1@aar' 2. 권한 추가 - AndroidManifest.xml 3. activity_main.xml 에 버튼과 이미지뷰 추가 4. MainActivity.java 작업하기 public class MainActivity extends AppCompatActivity implements View.OnClickListener{ ImageView imageView; Button btnCamera; final static int TAKE_PICTURE = 1; final static int CROP_PICTURE = 2; priva..

Android 2020.12.26
반응형