공부/Kotlin

Http 통신용 라이브러리라이브러리 없이 http 통신을 구현할 경우 코드가 매우 길어지며 반복적인 코드를 작성해야 한다.일반적으로 Java로 하면 InputStream을 열어서 while문을 돌면서 1바이트씩 처리해야한다..Retrofit2 : Square 사에서 개발. 기존 개발한 OkHttp 라이브러리를 기반으로 사용성을 보강했음.JVM 기반 Client 라이브러리. Java 기반의 모든 프로젝트에서 사용 가능.https://square.github.io/retrofit/Ktor: Jetbrain 에서 배포한 Kotlin 언어 전용 라이브러리.Client, Server 모두 구현 가능https://ktor.io/Http 통신에서 주의 할점서버와의 통신은 응답 시간을 예측할 수 없다서버와의 통신은 비..
Fragment + Navigation Fragment + ViewModelFragmenthttps://developer.android.com/guide/fragments앱에서 사용하는 UI를 재사용할 수 있도록 해 주는 클래스자체의 코드와 레이아웃을 가지고 수명 주기를 가지고 있음.Activity와의 관계Android Application Component는 아니기 때문에 독립적으로 존재할 수는 없음. → Activity 또는 다른 Fragment에서 불러써야 함.하나의 Activity에 여러 개의 Fragment를 사용할 수 있음. → 회원가입 시 아이디 비밀번호만 입력받고, 그 다음에 여러가지 정보를 입력하는 화면으로 이동 그러한 형태로 사용할 수 도 있음Activity는 STARTED 수명주기일 ..
새 프로젝트 생성이름: Find me패키지: com.example.findmeEmptyViewsActivity로 생성하고 모듈 build.gradle.kts에 View Binding 적용생성된 MainActivity에도 ViewBinding 적용Android application의 권한Application이 제한된 데이터에 접근하거나 제한된 동작을 해야 하는 경우 권한 (Permission)을 획득해야 한다.단, 묵시적 Intent를 이용해 다른 앱을 통해 해당 동작을 할 경우 권한 요청은 해당 앱이 처리해야 하며 내 앱이 직접 권한을 얻을 필요는 없다.내 어플에서 카메라 권한을 받지않고 설치되어져 있는 카메라 어플은 이미 “카메라”권한을 받았기 때문에 해당 어플에게 요청을 하고 나는 받기만 하면된다.사..
실습 프로젝트이름 : TEA(Time Elapsed After..)package : com.example.tea음식을 먹을 때마다 기록하면, 마지막으로 음식을 먹은 후 경과 시간을 볼 수 있다.View Binding 적용Android Application Local Data중요한 데이터는 Back-end 서버에 저장하는 것이 맞지만 각 개인의 앱 설정 데이터, 서버 데이터의 캐시 등은 Local Data로 저장하는 것이 좋다.Shared Preference: key-value 형식의 간단한 데이터를 파일에 저장.앱이 종료되어도 데이터가 유지된다.참고) 설정 값 만을 저장하는 것은 Preference안드로이드에 앱이 깔리면 안드로이드가 해당 앱에 마음대로 읽고 쓰기를 할 수 있는 폴더를 할당해준다. 해당 ..
애플리케이션 : 4대 컴포넌트사용 프로젝트새 프로젝트이름 : ListEx패키지 : com.example.listpex새 프로젝트 생성 후 View Binding을 적용한다.build.gradle.kts(:app)android { ... buildFeatures.viewBinding = trueMainActivityclass MainActivity : AppCompatActivity() { private val binding by lazy { ActivityMainBinding.inflate(layoutInflater) } override fun onCreate(savedInstanceState: Bundle?) { ... setContentView(binding.root) Vi..
9 - Widget And Listener코드에서 View를 참조하는 법setContentView 함수 호출 이후 xml에 선언된 View의 객체를 코드에서 참조 가능전통적인 방법findViewById(아이디) 함수로 View의 객체를 얻는 법새로운 방법viewBindingHTML의 DOM구조와 비슷하다고 볼 수 있다.MainActivityclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContentView(R.layout.calc) ..
Registercom.example.register회원 가입 프로젝트이름, 전화번호, 라디오 버튼, 약관동의 를 하나씩 체크를 할 때마다 신청 위에 있는 프로그레스 바가 진행 상황을 추적하고 100%가 되면 “신청”버튼을 활성화 한다.Android Application Component앱을 실행 시키는 진입점사용자가 앱 아이콘을 클릭, 상단 Notification 클릭, 공유하기 또는 파일 열기 등 앱을 실행 시킬 수 있는 진입점new 연산을 통해 개발자가 직접 객체를 생성할 수 없다 → 생명 주기를 안드로이드 운영체제가 관리한다앱이 가진 Component의 정보를 안드로이드 시스템이 알아야 한다. AndroidManifest.xml 앱을 실행했을 때 어떤 위젯 레이아웃(컴포넌트)이 제일 처음에 뜨도록 ..
Widget And Listener실습 준비EmptyActivity 를 가진 새 프로젝트 생성build.gradle.kts (Module:app)MainActivity.ktEditText사용자로 부터 문자열을 입력 받을 수 있는 위젯주요 설정 항목android:inputType-> 입력 항목의 출력 및 가상 키보드 종류를 결정android:ems->layout_width가 wrap_content일때 일정 영역을 확보하는 속성. 현재 시스템 폰트 기준으로 대문자 M의 너비를 ems 에 설정된 숫자만큼 확보EditText - android.text.TextWatcherEditText의 입력이 바뀔 때 마다 그 사실을 알려주는 Listener다음 세 가지 함수를 가진다.beforeTextChanged(s:Ch..
Future0_
'공부/Kotlin' 카테고리의 글 목록