본문 바로가기

Android

(9)
[Kotlin]AsyncTask의 사용 AsyncTask는 안드로이드에서 비동기 처리를 할 수 있게 해주는 클래스입니다. 주로 백그라운드 스레드에서 작업을 처리하고 결과를 메인 스레드에 전달하는 데 사용됩니다. AsyncTask는 추상 클래스로, 구현해야 하는 4개의 메서드가 있습니다. doInBackground(params: Params) : 백그라운드 스레드에서 실행할 작업을 정의합니다. onPreExecute() : doInBackground()가 실행되기 전에 메인 스레드에서 실행할 작업을 정의합니다. onPostExecute(result: Result) : doInBackground() 작업이 완료된 후에 메인 스레드에서 실행할 작업을 정의합니다. doInBackground()에서 리턴한 결과를 매개변수로 전달합니다. onProgre..
[Kotlin] Sharedpreference 사용법,메소드 Kotlin에서 SharedPreferences를 사용하여 Android 앱에서 간단한 키-값 쌍의 데이터를 저장할 수 있습니다. 아래와 같이 SharedPreferences를 사용할 수 있습니다. SharedPreferences 인스턴스 가져오기 Context 객체, 예를 들어 Activity 또는 Application 인스턴스에서 getSharedPreferences를 호출하여 SharedPreferences 인스턴스를 가져옵니다. HTML 삽입 미리보기할 수 없는 소스 Editor 가져오기 SharedPreferences를 편집하려면 SharedPreferences.Editor 인스턴스를 가져와야합니다. SharedPreferences 인스턴스에서 edit을 호출하여 얻을 수 있습니다. HTML 삽..
[Android] API와 라이브러리에 대해 알아보자 안드로이드 공부를 하다보니 API와 라이브러리라는 단어를 자주 듣게 된다. 그에 대해 대략적으로 알고 있긴 했지만 정확한 차이점과 역할이 궁금해서 정리해 보려고 한다. 라이브러리 응용 프로그램 개발을 위해 필요한 기능을 모아 놓은 소프트웨어이며, 그 기능에 대한 도구 또는 함수들의 집합이라고 할 수 있다. -프로그래머가 어떠한 기능을 수행하기 위해 도움을 주는 역할, 또는 필요한 것을 제공하는 역할을 하는 것 -라이브러리는 재사용이 필요한 기능으로 반복적인 코드 작성을 없애기 위해 언제든지 필요한 곳에서 호출할 수 있도록 Class나 Function으로 만들어진다. -프로그램을 만들때 기존에 만들어진 함수들을 재활용함으로써, 프로그램의 제작 시간과 노력을 줄일수 있다. API(Applicationn Pr..
[Kotlin] constructor , init 이란? Java를 공부할때 생성자는 클래스네임 형태로 정의가능했다. 또한 여러개를 만들어도 overloading을 이용해서 이를 해결 할수 있었다. Kotlin에서는 constructor을 사용한다. HTML 삽입 미리보기할 수 없는 소스 Java와 다른점은 default 변수선언을 통해 3가지 생성자를 한번에 정의 가능하다. Kotlin에서 constructor은 클래스를 선언할때 덧붙여서 생성자를 만들수 있으며 생략 가능하다. init은 클래스가 생성될때 항상 처음 호출되지만 생성자의 역할을 할뿐 실제로 생성자의 동작을 담당하지는 않는다. init이 필요한 이유는 클래스를 생성할때 호출하는 기본 constructor에서는 코드가 포함될수 없으며, 초기화 코드는 init block으로 되어야 하기 때문이다. ..
[Kotlin] RecyclerView에 CustomDialog 추가하기 이전에 recyclerview를 만들어보았다. 여기에 클릭이벤트를 추가해서 미리 만들어놓은 xml을 띄어보려고 한다. HTML 삽입 미리보기할 수 없는 소스 위 코드를 viewholder에 fun bind 안에 추가했다. adapter와 data class의 전체 코드 HTML 삽입 미리보기할 수 없는 소스 dialog를 클래스로 만들지 않고 recyclerview안에서 만들어서 다이얼로그 너비를 조정하는 부분이라던지 intent를 구현하는대 고생했다.. 하지만 결국 구글링으로 극복 코드가 별로 좋아 보이진 않지만 원하던 기능은 작동한다. 다음에 만들땐 더 깔끔하게 해봐야겠다.
[Android]Fragment 란 무엇인가, Lifecycle Fragment는 FragmentActivity 내의 동작 혹은 사용자 인터페이스의 일부라고한다. 하나의 Activity에서 여러개의 Fragment를 생성함으로 창이 여러개인 UI를 만들 수 있다. 프래그먼트는 액티비티의 모듈식 섹션으로 볼 수 있다. 이는 자체적인 수명주기를 갖고 자체적인 이벤트를 수신하고 액티비티 실행중에 추가 및 삭제가 가능하다. 또한 다른 액티비티에서 재사용 가능하다. 프래그먼트는 항상 액티비티 내에서 호출이 되어야 함으로 액티비티의 수명주기에 직접적인 영향을 받는다. 프래그먼트를 액티비티 레이아웃에 추가하면 viewgroup에 들어가고 자체적인 view를 형성한다. Fragment의 Lifecycle로 activity와 유사하지만 약간의 차이가 있다 onattach()로 호출이..
[Kotlin]Android Button의 background 적용 안됨 drawable 설정법(style , theme) android studio에는 기본 style들을 모아 놓은 theme가 있다. 새로운 프로젝트를 생성한 후 버튼을 만들어보면 다음과 같이 보라색 배경에 흰색 text를 갖고있는 button이 생성된다. 이같은 설정은 res - values - themes 에서 확인해 볼 수 있다. 그리고 현재 적용되어있는 테마는 AndroidManifest.xml 의 application 에서 적혀있다. HTML 삽입 미리보기할 수 없는 소스
[Kotlin] Button setOnClickListener() vs android:onclick 둘다 기능은 같다. android:onclick은 api level4에 추가된 기능이고 더 코드가 짧다. onClickListener 은 모든 클래스가 구현할수 있는 인터페이스로 더 유연하다. 코드가 복잡해진다면 onClickListener을 사용하는 편이 유지보수 면에서 좋다. 두개 기능이 같지만 개인적인 생각으론 onClickListener을 활용하는 편이 더 좋아보인다. https://stackoverflow.com/questions/21319996/android-onclick-in-xml-vs-onclicklistener 참조