본문 바로가기

분류 전체보기

(80)
자바와 코틀린 -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을 담을 수 ..
Eco[친환경] Hoboken 고등학교, 친환경 급수장 설치 [Hoboken High School Installs Eco-Friendly Water Stations] Hoboken 고등학교의 학생과 교직원은 환경친화적인 분수대를 설치하는 학교 중 일부이다. 수요일, Hoboken High School은 건물 전체에 ‘환경적으로 책임 있는 수화 스테이션’을 도입한다고 트윗했다. 이에 “다음에 우리 학교에서 이를 얻을 수 있을까요?”라고 한 댓글 작성자가 물었다. 전국의 학교는 점차 전통적인 분수대 대신 새로운 급수소로 이동하고 있다. 인근 Essex 카운티의 여러 학교는 현재 Hoboken High에서 볼 수 있는 급수소와 동일한 유형의 역을 설치하고 있다. 또한, Millburn 공립학교 교육구는 2017년에 새로운 급..
수질오염[Water Pollution] “수질 오염은 수백만 명의 인도인을 죽이고 있다. 기술과 신뢰할 수 있는 데이터를 어떻게 변화시킬 수 있을까” [Water pollution is killing millions of Indians. Here's how technology and reliable data can change that] 현대 의학의 아버지 히포크라테스가 불결한 물을 질병과 연결시키고, 최초의 정수 필터 중 하나를 발명한 기원전 4~ 5세기까지 인간은 수천 년 동안 수질과 씨름해왔다. 오늘날 이는 규모가 커져 생물 다양성과 여러 인간 공동체에 대한 실존적 위협은 물론 경제 발전과 인간 삶의 지속 가능성을 위협하고 있다. 독성 수역의 경제적, 인적 비용 증가 인도가 성장하고 도시화됨에 따라 수역이 유독해지고 있다. 인도 지표수의..