본문 바로가기

Programming

XML 특수문자 처리방법 xml 특수문자 처리 방법 1. 공백문자.수평 탭 : 09 line-feed : 0A carrage-return: 0D ASCII space : 902. Escape 문자& : & : > ' : ' " : " ============================특수문자 (Special Characters)3. XML 예약문자 , &는 XML tag 표시와 entity를 표시하는 XML 예약문자로, XML 문서에 그대로 사용할 수 없기 때문에 다음과 같이 사용합니다. s-than sign) (greater-than sign) > & (ampersand) & XML 예약문자 / 특수문자 (Special Characters) XML 에서 엔터나 & 와 같은 특수문자를 사용할 때는 .. 더보기
Service 사용 1. Service Service는 안드로이드 4대 컴포넌트 [Activity, Broadcast receiver, Content provider, Service] 중 하나이다.코드가 동작하는 것은 같지만 사용자가 무언가 조작을 하기 위해서 필요한 것이 아니라, 앱을 종료하더라도 지속해서 돌아가야 하는 [ex. 음악앱, 메신저앱] 등을 만들 때 주로 쓰인다. 안드로이드에서는 Service가 실행되고 있는 상태라면 메모리 부족같은 특수한 경우가 아니라면 service가 돌아가고 있는 process를 없애지 않고 지속적으로 관리한다. 그렇기 때문에 지속적으로 background에서 돌아가야 하는 앱에 적합하다. 2. Type Service에는 두가지 타입이 있다. Start service와 Bind serv.. 더보기
Custom ListView ListView는 안드로이드 앱에서 빠져서는 안되는 기본 중에 기본이라 할만한 컴포넌트다. 아무리 기초적인 앱이라도 ListView 하나쯤은 들어가 있기 마련이다.그러한 ListView를 내가 원하는 방식으로 Customizing 하여 만든 것을 Custom ListView 라고 한다. 안드로이드는 Activity 와 View로 화면 구성이 되어 있다. 혹시나 모르고 있을 사람들을 위해 간략히 설명하자면. Activity 가 View가 존재할 수 있는 영역을 제공한다고 할 수 있고, View는 다른 언어에서 Conponent 라는 이름을 흔히 불리는 체크박스, 버튼, 에디트, 라디오 버튼, 이미지 박스 등등을 가리키는 안드로이드의 용어이다. ListView는 그러한 View들이 모이는 viewGroup .. 더보기
Android permission request 안드로이드 6.0(마시멜로우) 부터는 기존과 다르게 어플에서 사용자에게 필요한 권한을 획득해야 할 때마다 사용자에게 권한을 사용하겠다는 허락을 받아야 한다. 처음 어플을 설치할 때 한번에 나열되었던 때에 비해서 개발자 입장에서 매우 귀찮아 진 것은 사실이지만 무분별한 어플의 권한 획득으로 인한 피해를 막겠다는 의도는 좋아 보인다.아무튼 퍼미션 권한을 획득하지 못하면 해당 기능을 사용할 수 없으니 퍼미션 권한 획득 방법에 대해 알아보자. 현재 이 정책은 마시멜로우 이후 부터 적용되는 것이기 때문에 그 이전에 나온 버전들에 대해서는 권한을 일일히 얻어야 할 필요는 없다. 그렇기 때문에 SDK버전이 마시멜로우 이하. 그러니까 targetSDKversion을 23미만으로 설정하면 기존과 같이 manifest에 .. 더보기
Fragment 6. 실 사용예 예이 문서에서 논의한 모든 것을 한 번에 모아 보기 위해, 다음은 두 개의 프래그먼트를 사용하여 창이 두 개인 레이아웃을 생성하는 액티비티를 예시로 나타낸 것입니다. 아래의 액티비티에 포함된 한 프래그먼트는 셰익스피어 희곡 제목 목록을 표시하고, 또 다른 하나는 목록에서 선택했을 때 해당 희곡의 요약을 표시합니다. 또한 화면 구성을 근거로 프래그먼트를 여러 가지로 구성하여 제공하는 방법도 보여줍니다.참고: 이 액티비티에 대한 완전한 소스 코드는 FragmentLayout.java에 있습니다.주요 액티비티는 onCreate() 중에 일반적인 방식으로 레이아웃을 적용합니다.@Override protected void onCreate(Bundle savedInstanceState) { super.onCreat.. 더보기
Fragment - 5. Fragment 수명 주기 처리+ 프래그먼트 수명 주기 처리그림 3. 액티비티 수명 주기가 프래그먼트 수명 주기에 미치는 영향.프래그먼트의 수명 주기를 관리하는 것은 액티비티의 수명 주기를 관리하는 것과 매우 비슷합니다. 액티비티와 마찬가지로 프래그먼트는 세 가지 상태로 존재할 수 있습니다.재개됨(Resumed)프래그먼트가 실행 중인 액티비티에 표시됩니다.일시정지됨(Paused)또 다른 액티비티가 포그라운드에 있고 포커스를 갖고 있지만, 이 프래그먼트가 있는 액티비티도 여전히 표시됩니다(포그라운드의 액티비티가 부분적으로 투명하거나 전체 화면을 뒤덮지 않습니다).정지됨(Stopped)프래그먼트가 표시되지 않습니다. 호스트 액티비티가 정지되었거나 프래그먼트가 액티비티에서 제거되었지만 백 스택에 추가되었습니다. 정지된 프래그먼트도 여전히 표시.. 더보기
Fragment - 4. 액티비티와의 통신 액티비티와의 통신Fragment는 Activity로부터 독립적인 객체로 구현되었고 여러 개의 액티비티 안에서 사용할 수 있는 것이 사실이지만, 프래그먼트의 주어진 인스턴스는 그것을 포함하고 있는 액티비티에 직접적으로 연결되어 있습니다.구체적으로 말하면, 이 프래그먼트는 getActivity()를 사용하여 Activity 인스턴스에 액세스하여 액티비티 레이아웃에서 뷰를 찾는 것과 같은 작업을 손쉽게 수행할 수 있습니다.View listView = getActivity().findViewById(R.id.list);이와 마찬가지로, 액티비티도 프래그먼트 안의 메서드를 호출할 수 있습니다. 그러려면 FragmentManager로부터의 Fragment에 대한 참조를 가져와야 하며, 이때 findFragmentB.. 더보기
Fragment - 3. 관리 프래그먼트 관리액티비티 내의 프래그먼트를 관리하려면 FragmentManager를 사용해야 합니다. 이것을 가져오려면 액티비티에서 getFragmentManager()를 호출하세요.FragmentManager를 가지고 할 수 있는 여러 가지 일 중에 예를 들면 다음과 같습니다.액티비티 내에 존재하는 프래그먼트를 findFragmentById()로 가져오기(액티비티 레이아웃 내에서 UI를 제공하는 프래그먼트의 경우) 또는 findFragmentByTag()로 가져오기(UI를 제공하거나 하지 않는 프래그먼트의 경우).popBackStack()을 사용하여 프래그먼트를 백 스택에서 꺼냅니다(사용자가 Back 명령을 시뮬레이션).백 스택에 변경 내용이 있는지 알아보기 위해 addOnBackStackChangedL.. 더보기
Fragment - 2. 사용 사용자 인터페이스 추가 Fragment는 일반적으로 Activity의 사용자 인터페이스의 일부로 사용되며 자체 Layout으로 Activity에 기여한다. Fragment에 대해 Layout을 제공하려면 반드시 onCreateView() 콜백 메서드를 구현하여야 한다. 이것은 Fragment가 자신의 Layout을 그릴 때가 되면 Android 시스템이 호출하는 것이다. 이 메서드의 구현은 반드시 View를 반환해야 한다. 이것은 Fragment Layout의 루트이다. ( - Fragment가 ListFragment의 서브 클래스인 경우,기본 구현이 onCreateView()로부터 ListView를 반환하므로 이를 구현하지 않아도 된다) onCreateView()로부터 레이아웃을 반환하려면 이를 XML.. 더보기
Fragment - 1. 서론 Fragment는 동작 또는 Activity 내에서 사용자 인터페이스의 일부를 나타낸다. 여러 개의 프래그먼트를 하나의 액티비티에 조합하여 창이 여러 개인 UI를 구축할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있다. 프로그먼트는 자체 수명주기를 가지고, 자체 입력 이벤트를 받으며, 액티비티 실행 중에 추가 및 제거가 가능한 액티비티의 모듈식 섹션이라고 생각하면 된다.(다른 Activity에 재사용할 수 있는 "하위 액티비티"와 같은 개념). Fragment는 항상 액티비티 내에 포함되어 있어야 하며 해당Fragment의 수명 주기는 Host Activity의 수명 주기에 직접적으로 영향을 받는다. 예를 들어 Activity가 일시정지 되는 경우, 그 안의 모든 Fragment도 일.. 더보기

반응형