본문 바로가기

Kotlin17

[kortlin/안드로이드] 안드로이드 NFC Write 해보기 내가 프로젝트를 하면서 NFC 태그에 값을 작성해야 하는 상황이 생겼는데, 찾아보며 코드를 작성하니 자꾸 오류가 나서 내가 직접 올린다. 먼저 Manifest에 아래와 같은 코드를 작성해 주자. 그다음 엑티비티를 정의해주자. @AndroidEntryPoint class NfcActivity : AppCompatActivity() { private lateinit var nfcAdapter: NfcAdapter private lateinit var pending : PendingIntent @Inject lateinit var vm : MainViewModel private val binding : ActivityNfcBinding by lazy { ActivityNfcBinding.inflate(layo.. 2023. 6. 1.
[안드로이드/Kotlin] DatePickerDialog 사용하기 안드로이드 앱을 만들다가 날짜를 입력받아야 하는 상황을 만났는데, 일일이 text로 받기에는 너무 번거로운 것 같아서 calendar 같은 것을 찾아보다가 발견한 친구이다. 생각보다 유용하게 쓰일 것 같다. 이 친구가 생성자로 OnDateSetListener를 받는데 이 Listener를 먼저 만들어 줘야 한다. val data = DatePickerDialog.OnDateSetListener { view, year, month, day -> binding.startDate.text = "${year}/${month}/${day}" } 나는 이런 식으로 만들어 줬다. 이 코드는 사용자가 날짜를 선택하고 OK 버튼을 눌렀을 때 startDate의 text가 바뀌는 코드이다. 이런 식으로 Listener를 .. 2022. 10. 5.
[안드로이드] java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 안드로이드를 개발하다가 dialog를 하나 만들고 실행했는데 이런 에러가 나왔다. 내가 button을 가져올때 그냥 findViewId를 사용했기 때문이다. 그래서 위 사진같이 dialog를 만들고 그 dialog에서 findViewId를 사용해주면된다. 2022. 9. 27.
[안드로이드/Kotlin] 카메라 사용하고 이미지 뷰에 띄워보기 친구가 안드로이드 책을 선물로 사줬는데 생각보다 재밌어 보이는 게 많아서 따라 하고 있다. 뭔가 복습도 되고 괜찮은느낌... 아무튼 이번에는 카메라를 사용하는 방법이다. 먼저 Gradle부터 추가하도록 하자. 카메라 촬영만 하는 것이 아니라 이미지를 띄워야 하기 때문에 ActivityResultLauncher를 사용해서 결과를 처리해야 한다. 이 ActivityResultLauncher에 관한 의존성이다. android { //... buildFeatures{ viewBinding true } } dependencies { //... implementation "androidx.activity:activity-ktx:1.5.1" implementation "androidx.fragment:fragment.. 2022. 8. 26.
[안드로이드/Kotlin] ViewPager2 사용해보기 Fragment를 이용해서 ViewPager2를 구현해 볼 것이다.... 그러니까 대충 이런 거다. 정말 간단하기 때문에 응용하기 쉬울 것이다. 그러면 시작해보자. 먼저 main_activity.xml을 변경해 줘야 한다. viewPager와(스와이프 되는 화면 부분) tabLayout(화면 상단의 A, B, C, D라 적혀있는 탭 레이아웃)을 각각 추가해 주자. 그러면 이렇게 나올 것이다. 사이즈는 대충 눈대중으로 맞춰주자. 아래는 main_activity.xml의 코드이다. 그다음에는 뷰 페이저에 연결할 Fragment를 만들어 주자. 그냥 간단히 아래 사진처럼 만들면 된다. 이렇게 프레그먼트를 4개 만들어주자. 나는 FragmentA, FragmentB... 이런 식으로 만들어 주었다. 그러면 이런.. 2022. 8. 25.