본문 바로가기

안드로이드

(48)
자바와 코틀린 -2 클래스 [테스트 케이스] '소스코드'패키지에서 ~(test)패키지는 안드로이드 기능과 상관없는 Java또는 Kotlin의 코드를 테스트할 수 있고 ~(androidTest)패키지는 안드로이드 환경과 연관된 코들르 테스트할 수 있다. test패키지의 ExampleUnitTest에서 assertEquals()함수는 예측 결과와 실제 결과가 동일하지 않다면 테스트를 실패시키는 함수이다. Assert.assertEquals("e",lastString); 위와같이 사용할 수 있다. [Java/Kotlin 개별 테스트 케이스] @Test 는 함수가 '단위 테스트용 함수'라는 것을 알려준다. @Test public void testNullType(){ Assert.assertEquals(true, null insta..
안드로이드_서비스 서비스(Service) 특징 - 백그라운드에서 오래 실행되는 작업을 수행할 수 있는 어플리케이션 구성 요소 - 사용자 인터페이스(UI)를 제공하지 않음 - 실행 중인 프로세스가 종료되어도 백그라운드에서 실행 중 - Intent 사용 - 시스템의 구성 요소가 startService()로 서비스를 시작하면, stopSelf()로 스스로 중단하거나 stopService()로 서비스 중단 전까지 실행 - 시스템의 다른 구성 요소에 바인딩 된 서비스의 경우에는 바인딩 된 동안만 실행 유형 - 포그라운드(Foreground) - 사용자에게 잘 보이는 몇몇 작업 수행 - 알림표시 - 백그라운드(Background) - 사용자에게 직접 보이지 않는 작업 수행 - 바인드(Bind) - 어플리케이션 구성 요소의 `bind..
자바와 코틀린 코틀린의 확장 플러그인 기능중 뷰 결합(View Binding)에 대해 알아보자. 뷰 결합(View Binding) 뷰 결합이란 레이아웃 XML 파일에서 만든 UI 요소를 코드에서 접근할 수 있도록 변수에 바인딩하는 것 findViewById()를 대체하여 사용할 수 있다. MainActivity.kt에 다음을 추가한다. import kotlinx.android.synthetic.main.activity_main.* 만약 오류가 난다면 build.gradle(app)의 plugins에 다음처럼 id 'kotlin-android-extensions'를 추가하여 sync now 한다. plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin..
안드로이드_프래그먼트 0. 프래그먼트(Fragment) 프래그먼트는 FragmentActivity 내의 어떤 동작 또는 사용자 인터페이스의 일부를 나타낸다. 하나의 액티비티 창에 여러 개의 프래그먼트를 결합할 수 있고, 하나의 프래그먼트를 여러 액티비티에 재사용할 수 있다. 부분화면을 위한 레이아웃을 구성하고, 재사용이 가능하다는 데에 목적이 있다. 1. 액티비티(Activity)와의 차이 액티비티는 액티비티 간 전환에 안드로이드 시스템의 액티비티 매니저를 통한 인텐트(Intent) 작업을 거친다. 하지만 프래그먼트를 화면 크기에 맞춰 사용한다면 액티비티 간 전환과 같은 화면 전환 효과를 보이며, 프래그먼트 매니저의 메소드를 호출하기 때문에 훨씬 효율적으로 사용할 수 있다. 2. 프래그먼트의 생명 주기 프래그먼트는 액티비티 ..
어플리케이션 구성하기 레이아웃 인플레이션 안드로이드에서는 화면을 구성하는 방법으로 XML레이아웃을 사용한다. 이 XML레이아웃 파일의 내용은 어플리케이션이 실행될 때 메모리로 로딩되어 객체화 되는데 이때 메모리 상에 객체화되는 과정을 인플레이션(inflation)이라고한다. 안드로이드 어플리케이션의 4가지 구성요소(Component) - 액티비티(Activity) : 화면을 구성하는 가장 기본적인 컴포넌트로, 일반적으로 하나의 화면으로 생각할 수 있다. - 서비스 (Service) : 눈에 보이는 화면과 상관없이 백그라운드에서 동작하는 컴포넌트 - 브로드캐스트 리시버(Broadcast Receiver) : 안드로이드는 여러 응용 프로그램이나 장치에 메시지를 전달하기 위해 방송 메시지를 사용한다. 브로드캐스트 리시버는 이러한 ..
안드로이드_레이아웃 View 화면에 나타나는 모든 요소로, 버튼, 텍스트 등이 View에 속한다. 눈에 보여야하기에 필수 속성으로는 Width(너비)와 Height(높이)가 있다. View Group 여러 View들을 포함하고 있는 것을 말한다. View Group은 View의 자식 컴포넌트로, View의 속성을 상속 받는다. View와 View Group의 관계는 다음과 같이 나타낼 수 있다. Widget View 중에서 화면에 표시할 수 있는 것을 말한다. 눈에 보이는 것인 TextView, Button 등이 Widget에 속한다. Layout View 중에서 다른 View를 담을 수 있는 것을 말한다. Widget과 다르게 눈에 보이지 않고, Layout은 View이기 때문에 Layout 안에 Layout을 담을 수 ..
Flutter Widget Exepended | Row나 Column 안에서 원하는 위젯만 선택해서 제어하고싶을 때! 한 개의 Row 위젯의 children 안에 3개의 위젯이 있다고 해봐요. 그 모양은 와 같습니다. 이중 하나의 위젯만 골라서 와 같이 넓게 퍼뜨려 여유 공간을 채우고 싶다면 어떤 위젯을 사용해야 할까요? Expanded 위젯으로 감싸면 됩니다. 예시를 들어보죠 1 2 3 4 5 6 7 8 9 Row( children: [ MyWidget(), Expanded( child: MyWidget() ), MyWidget(), ], ) cs d 와 같이 가운데에 있는 위젯을 감싸주면 이렇게 가운데 위젯이 넓어집니다. 이렇게 Row, Column 안에서 원하는 위젯을 골라서 제어할 수 있는 위젯입니다. 감사합니다!
flutter - 이미지를 동그랗게 만드는 위젯 금일 소개해드릴 위젯은 ClipOval 입니다. ClipOval 위젯은 이미지를 동그랗게, 즉 모서리를 둥글게 원형으로 만들어주는 위젯입니다. 굴절도는 제어할 수 있어, 타원형의 모양으로 만드는 것도 가능합니다. 이는 애니메이션을 입혀도 문제없이 작동합니다. 사용 예시는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ClipOval( clipper: MyClipper(), child: Image.asset('dash.jpg'), ) // 원하는대로 크기를 맞추기 위한 클래스 class MyClipper extends CustomClipper { Rect getClip(Size size) { // 하위 요소의 사이즈를 가져오는 메소드 return Rect.fromL..