본문 바로가기

안드로이드 자바539

[JAVA][Android] registerForActivityResult() 사용하기 기존에 안드로이드에서 사용하던 startActivityForResult() onActivityResult() 기억 나시나요? 근데 지금 그 메소드가 Deprecated가 되었습니다. 그러면 어떤 방법을 이용해야 할까요? http:// developer.android.com/training/basics/intents/result https://stickode.com/mainlogin.html STICKODE stickode.com 먼저 최신 버전으로 dependencies를 체크해 줍니다. implementation 'androidx.appcompat:appcompat:1.3.0-alpha02' 기본적인 구현 방법은 기존의 startActivityForResult(), onAcitivityResult() .. 2021. 8. 4.
[Java][Android] GIF ImageView에 넣기 GIF, Graphics Interchange Format, 파일은 여러 이미지 또는 그래픽 압축시켜줘서, 움직이는 이미지를 만들 수 있습니다. 움짤이라고도 많이 하는데요, 움짤의 파일 형식은 대부분 gif입니다. 글라이드 라이브러리를 활용하면 아주 간단하게 구현할 수 있습니다. 글라이드 라이브러리란, 안드로이드 이미지 로딩 라이브러리 기본적으로 사진 로딩 기능과 심화적으로는 동영상, GIF 로딩 기능까지 지원 1. dependencies 에 glide 라이브러리를 추가해 줍니다. implementation 'com.github.bumptech.glide:glide:4.11.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' 2. Mai.. 2021. 7. 28.
[Java][Android] 핸드폰 기기 정보 가져오기 안녕하새요! 오늘은 스틱코드를 이용하여 핸드폰 기기 정보를 가져와 전화번호와 통신 국가를 표기하도록 구현해보겠습니다. 1. 권한 추가 먼저 핸드폰의 전화번호를 가져올 수 있도록 매니페스트에 권한을 추가하도록 하겠습니다. AndroidManifest.xml SDK 30(안드로이드 11) 이후로는 'READ_PHONE_NUMBERS' 권한이 필요하기에 'READ_PHONE_STATE' 를 SDK 29(안드로이드 10)까지만 적용되도록 추가해줍니다. 2. 권한 확인 구현 권한이 승인 되어야 기기의 정보를 가져올수있기 때문에 권한이 승인 되었는지 확인하는 코드를 작성합니다. MainActivity.java > chkPermission, hasPermission 메소드 다음으로 권한 승인이 되지 않았다면, 위에 .. 2021. 7. 27.
[Java][Android] Lottie Animation을 이용한 버튼 구현 이번 포스팅에선 lottie animation을 통한 좋아요 버튼을 구현해보겠습니다. Lottie 란 위 설명대로 어떤 네이티브 앱에서든 쉽고 높은 퀄리티의 애니메이션을 구현할 수 있게한 라이브러리입니다. 1. build.gradle 에 디펜던시를 추가해줍니다. implementation 'com.airbnb.android:lottie:3.0.7' 2. 자신이 원하는 Lottie 애니메이션을 다운받습니다. https://lottiefiles.com/28705-student-university-character 저같은 경우는 하트모양의 Lottie애니메이션을 다운받았습니다. 3. asset 폴더에 다운받은 json 파일을 복사붙여넣기 해줍니다. 4. xml 을 구현합니다. 5. 코드를 통해 구현합니다. f.. 2021. 7. 22.
[Java][Android] 리사이클러뷰 뷰형태 구분하기 이번 포스팅에서는 안드로이드 리사이클러뷰 뷰형태를 구분하는 것을 자바로 구현해보겠습니다. 보통의 리사이클러뷰는 하나의 뷰홀더를 지정해 놓고, 스크롤이 있는 리스트 형식의 뷰를 데이터만 갈아끼우면서 보여주는데요, 예를들면, 이런 식으로 데이터를 보여주는 뷰의 형식은 일정한데, 안에 들어가는 데이터만 다르게 표시가 되죠. 만약 어플에서 하나의 화면에서 하나의 정보만 보여주는 상황만 있다면, 하나의 뷰 형태만으로 충분할지 모릅니다. ​ 하지만, 우리가 겪는 상황은 더 복잡한 상황이 될 가능성이 높습니다. 예를들어, 채팅 화면을 보면 유저가 채팅방에 입장할 때, 내가 채팅을 입력했을 때, 상대가 채팅을 입력했을 때 보여지는 뷰 형태가 다 같다면, 유저가 채팅을 읽을 때 불편함을 느낄 수 있습니다. 또 다른 예시.. 2021. 7. 21.
[JAVA][Android] ViewModel, LiveData 활용하기 오늘은 모던 안드로이드인 Jetpack 의 구성요소인 ViewModel과 LiveData를 알아보겠습니다. 먼저 안드로이드 Jetpack이 무엇일까요? 안드로이드 Jetpack은 개발에 자주 쓰이는 여러 라이브러리들과 툴들을 묶어놓은 모음집입니다. ViewModel은 View로부터 독립적이며, View가 필요로 하는 데이터만을 소요합니다. 액티비티, 프래그먼트 생명주기에 종속되지 않게 하기 위한 특징이 있습니다. 액티비티 생명주기는 다들 아시죠? 그럼 LiveData는 또 뭘까요? 식별 가능한 데이터 홀더 클래스 입니다. 일반 식별 가능한 클래스와 달리 LiveData는 생명 주기를 인식합니다. 즉, 액티비티, 프래그먼트, 서비스 등 다른 앱 구성요소의 생명 주기를 고려합니다. 그럼 이 둘을 활용하여 간.. 2021. 7. 19.
[Java][Android] 원하는 시간에 알림 받기 안녕하세요~~!! 오늘은 원하는 시간에 알람을 받는 소스에 대해 공부해보겠습니다. 먼저 데이트 피커와 버튼 하나로 이루어진 쉬운 예제 입니다. 먼저 아래의 링크로 들어가서 즐겨찾기 해주세요 https://stickode.com/detail.html?no=2215 스틱코드 stickode.com 먼저 메니페스트 소스 부터 보겠습니다. 부분을 추가해주시면 됩니다. 다음은 스틱코드로 불러 올 수 있는 메인엑티비티 부분을 보겠습니다. alarm의 al만 쳐도 벌써 스틱코드가 자동완성 되려는 것이 보입니다. 자동완성 하게 되면 위와 같은 코드가 완성이 됩니다. 이부분은 알람을 매일 울리는 메소드입니다. 이제 메인엑티비티의 oncreate부분을 완성해 봅시다 필요한 변수 선언과 저장을 하는 알람시간을 저장하는 부분.. 2021. 7. 17.
[Java][Android] 안드로이드 - 프래그먼트에 카드뷰, 리사이클러뷰만들기 프래그먼트에 카드뷰(CardView)와 리사이클러뷰(RecyclerView)를 사용하여 리스트를 만들어 보겠습니다. - build.gradle(Module :app) 파일에 카드뷰와 리사이클러뷰를 추가해 줍니다. dependencies { //리사이클러뷰 implementation 'androidx.recyclerview:recyclerview:1.1.0' // 카드뷰 implementation "androidx.cardview:cardview:1.0.0" } - 프래그먼트 xml에 리사이클러뷰를 넣어줍니다. - 아이템으로 넣을 xml을 구성합니다. - 리사이클러뷰 어댑터를 만들어 줍니다. 스틱코드에 코드를 저장해 놓고 사용하면 편합니다. ada 까지만 입력해도 제 Post에 등록해 놓은 코드를 전체 불.. 2021. 7. 15.
[Java][Android] 카메라로 촬영해서 썸네일 띄우기 이번 시간에는 내가 만든 앱에서 camera 어플을 사용하여 사진을 찍고 image view 에 띄우는 것까지 진행해보겠습니다. 먼저 스틱코드에서 아래 링크된 코드를 즐겨찾기 해주세요 https://stickode.com/detail.html?no=2211 스틱코드에서 필요한 코드들을 즐겨찾기 해놓으면 태그만 입력해서 코든 전체를 한번에 불러올 수 있습니다. 아래 사진들을 보시면 태그만 입력해도 포스팅 제목이 보이죠? 클릭하면 코드 전체가 입력됩니다. 1. MainActivity.java package com.example.camera_ex; import android.Manifest; import android.content.Intent; import android.content.pm.PackageMa.. 2021. 7. 14.