분류 전체보기 412

[Android] Anko alert, startActivity에 대해 알아보자

Anko alert , startActivity 사용법 -Anko는 JetBrain에서 직접 제작하여 배포한 코틀린 라이브러리 입니다. Anko는 네 종류의 라이브러리를 나뉩니다. 1.Anko Commons 2.Anko Layouts 3.Anko SQLite 4.Anko Coroutines 기존 코틀린 다이얼로그는 아래와 같이 사용합니다. val alertDialogBuilder = AlertDialog.Builder(acitivity) alertDialogBuilder.setTitle("title") alertDialogBuilder.setMessage("message").setCancelable(false) .setPositiveButton("확인", Dialoginterface.OnClickList..

안드로이드 2022.10.27

[Android] Notification 오레오 대응

Notification 오레오 대응 오레오에서부터는 이 Notification Channel을 필수로 만들어 주어야 합니다. 오레오에서 Notification Channel을 만들어 주지 않으면 알림이 오지 않습니다. 알림채널(Notification Channel) 만들기 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); NotificationChannel notificationChannel = new NotificationChannel("channel_id",..

[Android] Gradle 빌드 에러(HttpErrorStatusCodeException)

Gradle 빌드 에러(HttpErrorStatusCodeException) https://stackoverflow.com/questions/46467561/difference-between-google-and-maven-url-https-maven-google-com maven url 'https://maven.google.com' } 와 google() google() 은 Google maven 저장소에 대한 바로가기입니다. 실제로 동일한 저장소를 가리킵니다. 그러나 google() 단축키를 사용하려면 Gradle 4.x+, Android Studio 3.x+ 및 Android 3.x+용 Gradle플러그인이 필요합니다. 나는 maven url 'https://maven.google.com' } 와 ..

[Android] Android DB Room에 대해 알아보자

Android DB Room에 대해 알아보자 안드로이드 JetPack -Foundation -Architecture -Behavior -Ui 4개의 구성 먼저 Architecture는 다시 Databinding, Lifecycles, LiveData, Navigation,Paging, Room, ViewModel, WorkManager 이렇게 8개로 세분화 할수 있습니다. https://black-jin0427.tistory.com/53?category=727620 1.Room ORM? Room을 알아보기 전에 ORM에 대한 개념을 살펴보겠습니다. ORM이란 Object Relational Mapping 으로 데이터베이스와 객체 지향 프로그래밍 언어간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로..

안드로이드 2022.10.25

[Android] 프로가드(Proguard)에 대해 알아 보자

Android Proguard에 대해 알아보자 Android Proguard가 필요한 이유 1. 코드 난독화를 통해 디컴파일시 본인의 코드가 노출되는 것을 방지 할 수 있습니다. 2.불필요한 메서드를 제거하여 멀티덱스를 피할 수 있습니다. -멀티덱스(multidex)란? 안드로이드 앱을 구성하는 코드는 컴파일 되어 덱스(dex)파일로 만들어집니다. 하나의 덱스(dex)파일에는 최대 65536개의 메소드만 참조 할 수 있습니다. 만약 프로젝트의 코드가 65536개의 메소드를 초과하게 되면 덱스(dex)파일이 여러개가 생성됩니다. 그러면 멀티 덱스를 사용하여 컴파일 할 수 있지만, 빌드 과정에서 앱 내의 파일을 여러개의 덱스파일로 나누어야 하므로 빌드 속도가 느려지고 APK의 용량이 커지게 됩니다. 가능하다..

안드로이드 2022.10.25

[Kotlin] Open Class란?

Open Class란? -java에서는 상속의 재 정의를 방지하기 위해 final을 사용합니다. -kotlin에서는 반대로 상속의 재 정의를 허용하기 위해서 open을 사용합니다. open클래스의 open함수가 있다면, 이는 상속을 받아 재 정의가 가능한 형태가 제공됩니다. //v()는 재 정의가 가능하고, nv()는 재 정의가 불가능한 형태. open class Base{ open fun v(){ print("ABC") } fun nv(){} }

코틀린 & Java 2022.10.25

[Kotlin] Object Class란?

Object Class란? 코틀린에는 static keyword가 없기 때문에 java의 static 개념을 코틀린에서 어떻게 표현해야 하는지 살펴보겠습니다. -싱글턴을 정의하는 방법 -동반객체 companion object를 이용한 팩토리 메서드 구현 -무명클래스(익명 클래스)의 선언 위 세가지를 object란 keyword를 이용해서 표현. 싱글턴(Singleton) 코틀린에서는 object를 이용하여 클래스를 정의함과 동시에 객체를 생성할 수 있습니다. object Payroll{ val allEmployes = arrayListOf() fun calculateSalary(){ } } object로 선언하면 클래스 선언과 동시에 객체가 생성됩니다. Payroll.allEmployes.add(Pers..

코틀린 & Java 2022.10.25

[Kotlin] Data Class란?

Data Class란? 데이터 클래스는 데이터 보관 목적으로 만든 클래스를 말한다. 데이터 클래스는 프로퍼티에 대한 toString(), hashCode(), equals(), copy()메소드를 자동으로 만들어 줍니다. 그래서 boilerplate code를 만들지 않아도 됩니다. boilerplate란 표준문안 이라는 뜻 :최소한의 변경으로 재사용할 수 있는것 :적은 수정만으로 여러 곳에 활용 가능한 코드, 문구 :각종 문서에서 반복적으로 인용되는 문서의 한 부분 반복되지만 자주쓰이는 형태를 자동화한다는게 보일러플레이트의 핵심. data class Site(val url: String, val title: String){ val description = "" } toString()의 인자를 보면 생성..

코틀린 & Java 2022.10.25

[Android] Camera PreView 화면 캡처 및 배경 이미지 적용 (3)

Camera PreView 화면 캡처 및 배경 이미지 적용 이번에는 프리뷰 화면 배경에 이미지를 추가하는 법입니다. xml에 배경이미지를 추가합니다. * 블로그에서 구현한 방식은 Preview화면 앞에 배경이 투명인 이미지를 추가하여 마치 배경이 있는 카메라 화면인 것처럼 만들었다. Preview화면에 직접 오버레이 된 방식이 아니므로 캡처시 카메라이미지 + 선택한 배경 이미지를 합성했습니다. btnTransform.setOnClickListener{ //전면, 후면 전환시 배경 이미지를 초기화 해줍니다. ivFrameSet.setImageDrawable(null) transformCamera() } ivFrame1.setOnClickListener{ ivFrameSet.setImageResource(R..

안드로이드 2022.10.25