안드로이드 112

안드로이드 - 프래그먼트 인수 전달

프래그먼트도 메소드와 비슷하게 액티비티의 요구에 따라 조금씩 다르게 동작하기 위해 인수를 받아 들인다. 이때 프래그먼트의 인수 저장을 위해 아규먼트를 사용하며 다음 두 메소드로 아큐먼트를 설정하거나 얻는다. void setArguments(Bundle args) Bundle getArguments() 아규먼트는 프래그먼트 내부에 저장되는 Bundle 객체이며 주로 프래그먼트의 생성에 관련된 정보를 저장한다. 그래서 아규먼트는 액티비티에 프래그먼트를 부착하기 전에만 저장할 수 있다. 다음은 아규먼트를 사용하여 정수를 저장하는 예제이다. activity_fragment_argument.xml counterfragment.xml FragmentArgument.java package com.example.ch2..

안드로이드 - FragmentManager를 이용한 프래그먼트 추가, 삭제, 교체, 숨김

프래그먼트를 실행중에 편집하기 위해서는 프래그먼트 관리자를 사용해야한다. FragmentManager Activity.getFragmentManager() FragmentManager Fragment.getFragmentManager() 그리고 프래그먼트를 관리하려면 먼저 대상 프래그먼트를 검색해야 한다. Fragment findFragmentById(int id) Fragment findFragmentByTag(String tag) 프래그먼트는 다음 3가지 방식으로 지칭한다. 1. id: 프래그먼트를 배치할 때 지정한 android:id 속성의 정수값을 이용한다. 2. 부모의 id : 실행 중에 생성한 프래그먼트는 고유한 id가 없다. 그래서 부모의 id를 통해 프래그먼트를 찾는다. (단 첫 번째 차일..

안드로이드 - 프래그먼트 상태 저장하기

프래그먼트에 관한 내용은 안드로이드-프래그먼트-사용-간단-예제 를 참고하자. 이번에는 스마트폰의 상태 변경이나 화면이 가로로 될 때 자신의 데이터 저장을 해보자 이번에도 다음과 같이 3개의 파일을 만들어야 됨을 잊지 말자. counterfragment.xml 파일 기본적인 프래그먼트를 구성하는 UI 파일 save_fragment_state.xml 프래그먼트를 실제 사용하는 부분 SaveFragmentState.java package com.example.savefragmentstate; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; imp..

안드로이드 - 한 화면에 여러 개의 프래그먼트 만들기

프래그먼트에 관한 내용은 안드로이드-프래그먼트-사용-간단-예제 를 참고하자. 이번에는 한 화면에 2개의 프래그먼트를 만들어 보는 예제이다.. 프로젝트 익스플로러에서 다음과 같이 3개의 파일을 생성해야 함을 잊지 말자. counterfragment..xml 파일은 실제 프래그먼트를 구성하는 UI파일이다. activity_two_fragment1.xml 여기서 실제 프래그먼트가 2개라는 것을 명시해주는 UI이다. TwoFragment1.java package com.example.ch20_twofragment; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutI..

안드로이드 - 프래그먼트 사용 간단 예제

프래그먼트 간략 설명은 다음 링크를 참조 하자. 커니의 안드로이드 프래그먼트 설명 프래그먼트 생명주기 설명 간단한 예제에 앞서 프로젝트 익스플로러를 보자 아래와 같이 자바파일과 xml파일을 2개로 구성함을 잊지 말자. counterfragment.xml 파일 fragment_test.xml FragmentTest.java package com.example.ch20_fragment_ex1; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; i..

안드로이드 - 외부 메모리에 앱 설치하기

안드로이드 메니페스트 파일에 설치 가능한 위치를 지정하는 installLocation 속성을 추가했다. 속성 설명 internalOnly 내부 메모리에만 설치 할 수 있고 외부 메모리에는 설치 할 수 없다. preferExternal 가급적이면 외부 메모리에 설치한다. 외부 메모리가 부족하거나 없으면 내부 메모리에 설치한다. auto 내부 메모리가 부족하면 외부 메모리에 설치한다. 다음 예제를 통해 preferExternal 옵션을 줘서 실제로 외부 메모리에 설치가 되었는지 확인해보자 MainActivity.java package com.example.ch18_external; import android.app.Activity; import android.os.Bundle; import android.v..

안드로이드 - 윈도우 관리자 활용하기

윈도우 관리자는 안드로이드 프레임워크를 구성하는 주요 모듈로 윈도우를 관리한다. 다음의 호출문으로 구할 수 있다. getSystemService(Context.WINDOW_SERVICE) 윈도우 관리는 대부분 시스템 내부에서 알아서 수행되므로 공개된 기능은 많지 않다. 다음 메소드는 윈도우가 실행되는 화면에 대한 정보를 구한다. Display getDefaultDisplay() Display 클래스는 장비의 화면 폭이나 높이, 방향, 갱신 주기 등의 정보를 제공한다. 다음 메소드는 ViewManager 인터페이스로부터 상속받은 것이며 윈도우에 개별 뷰를 추가하거나 삭제한다. void addView(View view, ViewGroup.LayoutParams params) void removeView(Vi..

안드로이드 - LayoutInflater를 활용한 레이아웃 겹치기

윈도우는 빈 채로 생성되며 빈 윈도우 안에 레이아웃을 채워 넣어 UI를 구성하는데 이때는 다음 메소드를 호출 한다. void setContentView(int layoutResID) void setContentView(View view, [ViewGroup.LayoutParams params]) void addContentView(View view, ViewGroup.LayoutParams params) 다음 예제는 2개의 xml파일을 겹쳐서 보여주는 예제이다. overlay1.xml overlay2.xml Overlay.java package com.example.overlay; import android.app.Activity; import android.content.Context; import a..

안드로이드 - 타이틀 바 조작하기 (풀스크린 만들기)

Window 클래스는 윈도우를 표현하며 액티비티의 모양과 동작에 대한 여러가지 옵션을 제공한다. 윈도우 객체는 getWindow 메소드를 호출하여 언제든지 얻을 수 있으며 이 객체를 통해 여러가지 조작을 한다. boolean Window.requestFeature(int featureId) boolean Activity.requestWindowFeature(int featureId) 위의 메소드를 활용해서 윈도우의 확장 기능을 활성화 할 수 있다. 확장기능 플래그는 다음과 같다. 기능 설명 DEFAULT_FEATURES 기본 기능 FEATURE_CONTEXT_MENU 컨텍스트 메뉴를 쓸 수 있다. 디폴트로 이 기능이 선택되어있음 FEATURE_CUSTOM_TITLE 커스텀 타이틀 바를 사용한다. FEAT..

안드로이드 - Application 객체를 이용한 전역 변수 만들기

프로세스의 아래에는 단 하나의 유일한 Application 객체가 있고 그아래 컴포넌트인 서비스, 브로드캐스트 리시버, 액티비티, 콘텐트 프로바이더로 구성된다. Application 클래스가 모든 컴포넌트보다 우선적으로 생성되고 유일한 객체만 생성되므로 전역 변수를 두기에는 제일 좋은 곳이다. 그리고 Application 객체의 멤버는 프로세스의 어디에서나 참조할 수 있다. void onCreate() void onTerminate() void onConfigurationChanged(Configuration newConfig) void onLowMemory() onCreate는 응용프로그램이 실행된 직후 호출된다. 다른 컴포넌트인 서비스, 브로드캐스트 리시버, 액티비티, 콘텐트 프로바이더보다 먼저 실행..

반응형