Software Engineering 44

[Android][Kotlin] SharedPreferences로 key-value pair 저장하기

지난번 로또번호 가져오는 기능이 이어서, 입력한 로또 번호를 로컬 저장소에 저장할 수 있도록 기능을 추가해 보았습니다. DataStore라는 개선된 방식이 있다고 하는데, 저는 일단 간단하게 SharedPreference를 사용해 보았습니다. 메인 레이아웃 파일 ViewHolder 레이아웃 파일 패키지 구조 SharedPreferencesApplication.kt 이 Application을 추가로 등록함으로써 MainActivity뿐만 아니라 프로젝트 패키지 내 다른 곳에서도 사용할 수 있게 했습니다. 따라서 AndroidManifest.xml 내의 태그 안쪽에 android:name="SharedPreferencesApplication" 속성을 추가해 주었습니다. package org.iptime.is..

[Android][Kotlin] RecyclerView로 목록 표시하기

개요 안드로이드 앱에서 목록을 표시할 때 사용하는 RecyclerView라는 뷰에 대해서 나름대로 정리해 보았습니다. RecyclerView는 ListView와 다르게, 화면에 표시되지 않는 View를 재사용해서 더 효율적이라고 합니다. 정리한 내용은 Android Developers 웹사이트의 Android Basics in Kotlin 강의 코스에서 제공되는 "Affirmation"이라는 예제 앱에서 나왔습니다. Android Basics in Kotlin course | Android Developers Learn Android Basics in Kotlin. developer.android.com 완성된 앱을 실행하면 아래처럼 3열 격자 모양의 카드가 배열됩니다. 메인 레이아웃 파일 activit..

[Android][Kotlin] jsoup로 HTML 파싱하기

요즘 그냥 재미로 안드로이드 앱을 만들고 있습니다. 학습 자료는 https://developer.android.com/courses/android-basics-kotlin/course 에서 제공하는 강의를 따라가는 중입니다. Android Studio에서 Kotlin을 사용해 진행됩니다. 친구가 로또 번호가 동행복권 홈페이지에 올라오면 입력했던 번호와 대조해서 결과를 notification으로 알려주는 앱을 만들어 보라 했는데, 일단 그 번호를 가져오는 방법을 정리해 두었습니다. 그래서 안드로이드 service와 notification 사용 방법을 알아야겠구나! 했는데, WorkManager라는 새로운 방식으로 만들어야 한다고 합니다. 추가로, 네트워크에서 웹페이지를 받아올 때 AsyncTask 대신에 ..

오픈소스 라이선스 정리

방송대 경진대회에 출품할 작품을 계획하다 보니 만들고자 하는 프로그램에 필요한 대부분의 기능이(사실 전부) 오픈소스 라이브러리로 제공되고 있습니다. 그래서 이참에 자세히 알아보고자 포스트를 작성하게 되었습니다. 기본적으로 어떤 창작물을 만들면, 최초 창작자가 저작권을 가지도록 저작권법에 명시되어 있습니다. 저작권법에서 소스 코드는 "컴퓨터프로그램저작물"이라는 용어로 지칭되고 있습니다. 여기에 원 저작자가 자신의 창작물을 다른 사람이 사용할 수 있게 허락하거나, 일정 수준까지만 허락할 수 있도록 라이선스를 부여하게 됩니다. 먼저 어떤 라이선스가 많이 쓰이는지 알아보겠습니다. 2020년 조사 자료이고, whitesourcesoftware.com에서 가져왔습니다. 아파치 2.0 - 28% MIT - 26% G..