[안드로이드스튜디오] 서비스와 방송수신자
# 서피스의 종류 시작 타입의 서비스, 연결 타입의 서비스 * 시작 타입의 서비스 (started service) = 액티비티가 startService()를 호출하여서 서비스를 시작 * 연결 타입의 서비스 (bound service) = 액티비티가 bindService()를 호출하여서 서비스를 시작 서비스는 애플리케이션에 의해 실행됨 시작된 서비스는 다른 애플리케이션으로 넘어가도 배경에서 실행됨 서비스는 인텐트 객체를 이용해 시작 매니패스트에 공용으로 선언해야 함 서비스는 새로운 스레드로 생성 X # IntentService 클래스 * Service 클래스 : 만약 서비스에서 하는 작업이 상당히 시간을 많이 요구하는 작업이라면 서비스 안에서 새로운 스레드를 생성하는 것이 좋다 * IntentService..
Programming/Mobile
[안드로이드스튜디오] 인텐트
# 인텐트 - 각각의 화면은 별도의 액티비티로 구현됨 - 하나의 액티비티(화면)에서 다른 액티비티(화면)로 전환하려면? -> 인텐트 - 다른 액티비티를 시작하려면 액티비티의 실행에 필요한 여러가지 정보들을 보내줘야함 - 정볼르 인텐트에 실어서보냄 - 명시적 인텐트와 암시적인텐트로 나뉨 # 명시적인텐트 - 타깃 컴포넌트의 이름을 지정 - "애플리케이션 A의 컴포넌트 B를 구동시켜라"와같이 명확하게 지정 - 주로 애플리케이션 내부에서 사용 - 실행하고자 하는 액티비티의 이름을 적어줌 ex) NextActivity - NextActivity.class는 NextActivity클래스에 대한 정보를 가지고 있는 객체 Intent intent = new Intent(this, NextActivity.class); ..
Programming/Mobile
[안드로이드스튜디오] 액티비티로부터 결과받기
메인 액티비티에서 버튼을 누르면 서브 액티비티를 시작 -> 서브 액티비티에서 문자열을 입력하고 '입력완료'버튼을 누르면 서브 액티비티는 문자열을 메인 액티비티로 전달한 후에 종료 -> 메인 액티비티에서는 이 문자열을 받아서 텍스트 뷰를 통하여 화면에 표시 - 사용자가 입력한 문자열을 받아서 메인 액티비티에 반환하는 서브 액티비티를 작성 - 문자열을 입력받는 대화상자처럼 동작 - 메인 액티비티를 작성하고 이어서 서브 액티비티르 작성 - 각 액티비티별로 사용자 인터페이스를 별도로 작성하여야 하며 매니페스트 파일도 변경 activity_main.xml sub.xml AndroidManifest.xml MainActivity.java package kr.co.company.activityforresult; im..
Programming/Mobile
[안드로이드스튜디오] 여러페이지로 구성된 애플리케이션 작성
- 게임을 시작하는 시작 페이지 작성 - 메인 페이지는 하나의 이미지와 3개의 버튼으로 구성되어 있음 - 각각의 버튼을 누르면 해당되는 페이지로 이동 - 이동한 페이지에서 BACK키를 누르면 메인페이지로 되돌아옴 activity_main.xml intro.xml setup.xml start.xml MainActivity.java package kr.co.company.multipage; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActiv..
Programming/Mobile
[안드로이드스튜디오] 명시적 인텐트 - 두개의 액티비티로 이루어진 애플리케이션
'이미지 표시 액티비티 열기' 버튼 클릭 시 액티비티2가 시작 -> 액티비티1이 잠시 중단되고 액티비티2가 새로 시작된 것 -> 액티비티 스택에서 액티비티1 위에 액티비티2가 있을 것 '닫기'버튼 클릭 시 액티비티2가 종료 -> 액티비티 스택에 있는 액티비티1이 다시 실행됨 -> Back키를 눌러도 같은 결과 - layout1.xml - layout2.xml - Activity1.java package kr.co.company.ecplicitintent; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.ap..
Programming/Mobile
[안드로이드스튜디오] 액티비티
# 애플리케이션 - 하나 이상인 여러개의 액티비티들로 구성됨 - 액티비티들은 확장자로 가지는 하나의 파일 안에 저장 - 안드로이드 안에는 많은 애플리케이션들이 내장되어 있음 - 이메일, 달력, 문자, 메시지, 주소록, 카메라, 일정 등이 모두 하나의 애플리케이션 - 안드로이드는 홈 화면에 애플리케이션 구동기를 가지고 있음 - 사용자가 아이콘으로 표시된 애플리케이션을 선택하면 애플리케이션 구동기가 애플리케이션을 시작함 # 액티비티 : 사용자가 어떤 작업을 할 수 있는 화면을 가지고 있는 애플리케이션 구성 요소 - 애플리케이션을 구성하는 빌딩 블록 - 각 액티비티는 사용자 인터페이스가 그려지는 윈도우를 가지고 있음 - 애플리케이션을 작성한다는 것은 결국 액티비티를 하나씩 작성한 후에 하나로 조립하는 것이라고..
Programming/Mobile