Android57 Intent의 Flag 사용법 Activity Stack 안드로이드 앱에서는 새로운 액티비티가 실행될 때마다 기존에 사용하던 액티비티는 스택에 쌓이게 된다. 이를 Activity Stack이라고 하며 현재 액티비티가 종료되면 스택의 맨 위에 놓여져 있는 액티비티가 나타나게 된다. 하지만 이렇게 액티비티가 쌓이는 과정에서 우리가 의도하지 않은 결과가 나타날 수 있다. 이 때 Intent의 Flag를 통해 어떻게 해결할 수 있는지 알아보자. Intent Flag 사용법 Intent intent = new Intent(getApplicationContext(), NewActivity.class); // 플래그 지정 intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); // 플래그 추가 intent.add.. 2020. 4. 2. Intent란? Intent란? Intent는 컴포넌트 간의 통신을 위해 만들어진 메신저이다. 이 때 Intent의 목적지를 정확하게 지정해 줄 경우 이를 명시적 Intent라고 한다. 그렇다면 목적지가 없이 이동할 수도 있다는 건데 그건 무슨 뜻일까? 예를 들어 위와 같은 특정 action을 지정하여 Intent를 사용할 수도 있는데 이를 암시적 Intent라고 한다. 암시적 Intent는 지정된 action을 수행할 수 있는 앱을 찾아 알아서 이동하게 된다. 명시적 Intent 사용법 명시적 Intent는 Intent 객체를 생성하여 목적지를 설정해준 뒤 startActivity() 함수를 통해 이동 가능하다. 자세한 내용은 Activity를 설명하는 글에서 앞서 다루었으니 참고하자. https://ju-hy.tis.. 2020. 3. 31. Activity란? Activity란? 안드로이드 앱은 크게 Activity, Service, Broadcast Receiver, Content Provider 4가지 컴포넌트로 구성된다. 각각의 컴포넌트들의 기능에 대해 간단히 설명하자면 Activity는 화면에 보여지는 부분의 기능, Service는 화면이 없지만 동작하는 기능, Broadcast Receiver는 시스템에서 전달하는 알림을 수신하는 기능, Content Provider는 보안상의 문제로 선택적으로 시스템의 파일을 제공해주는 기능이라고 할 수 있다. 모든 컴포넌트는 앱에 추가할 때, Manifest에 추가하여 이 앱이 어떻게 구성되는지를 알려주어야 한다. Manifest란 시스템이 앱을 설치할 때 앱을 파악하기 위한 설계도의 역할을 하는 파일이다. Act.. 2020. 3. 31. GridView 사용법 GridView란? GridView는 ListView와 비슷하지만 이름에서 알 수 있듯 List 형태가 아닌 Grid 형태로 아이템을 배치할 수 있다. 단순한 한 줄로 아이템을 나열하는 것이 아니라 여러 개의 행과 열로 아이템을 배치할 수 있다. 사용법 기본적으로 사용법은 리스트뷰와 거의 똑같으므로 설명이 부족할 경우 리스트뷰 포스트를 참고하면 된다. https://ju-hy.tistory.com/35 안드로이드 ListView 사용법 ListView란? ListView는 리스트 형태의 데이터를 보여주기 위한 위젯이다. 따라서 list 형태의 원본 데이터가 있어야 하며 이를 adapter를 통해 각각의 아이템에 지정해준다. 이 때 어댑터는 데이터를 관리할 뿐만.. ju-hy.tistory.com 먼저 l.. 2020. 3. 24. Spinner 사용법 Spinner란? Spinner는 사용자가 여러 선택지 중 하나를 고르게 하고 싶을 때 사용하는 위젯이다. 다른 환경에서는 주로 ComboBox라고 불린다. 사용법 먼저 xml에 적당한 크기의 spinner를 생성해준다. 생성해주었다면 activity로 이동해보자. package com.juhy.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.. 2020. 3. 24. ListView 사용법 ListView란? ListView는 리스트 형태의 데이터를 보여주기 위한 위젯이다. 따라서 list 형태의 원본 데이터가 있어야 하며 이를 adapter를 통해 각각의 아이템에 지정해준다. 이 때 어댑터는 데이터를 관리할 뿐만 아니라 뷰도 생성해준다. 이와 같은 형태로 쓰이는 위젯이 많기 때문에 리스트뷰를 통해 기본적인 사용법을 익히는 것이 좋다. ListView 사용법 리스트뷰의 기본적인 구성은 다음과 같다. 1. 표현할 레이아웃 파일 내의 리스트뷰 객체 2. 아이템 각각의 구성을 표현할 레이아웃 파일 3. 데이터를 아이템에 지정해줄 어댑터 이 구성을 토대로 하나씩 만들어보자. 먼저 액티비티의 레이아웃 파일에 리스트뷰를 추가한다. 다음으로 아이템의 구성을 정하기 위한 레이아웃 파일을 만들어보자. 고객.. 2019. 8. 21. Inflation과 Layout Inflater Inflation이란? 안드로이드의 Activity는 보여지는 화면을 구성하는 xml과 내부적으로 동작하는 java 코드로 구성되어 있다. 우리가 view를 하나 만들기 위해서는 먼저 xml 파일에 원하는 view 태그를 만들게 된다. 하지만 xml 파일에서 버튼을 만들었다고 실제로 버튼이 만들어진 것은 아니다. 실제로 버튼이 만들어지기 위해서는 버튼을 메모리에 올려놓아야 한다. 이렇게 view를 메모리에 올려 객체화하는 것을 inflation이라고 한다. Layout Inflater란? view를 inflate하기 위해서는 new View()와 같이 메모리를 할당하는 코드가 필요하다. 그러나 우리는 이 코드를 직접 만들지 않아도 xml 파일에만 만들면 view를 볼 수 있다. 이는 메모리에 할당되지 않.. 2019. 8. 9. Button을 상속받아 커스텀 Button 만들어보기 xml에서도 여러가지 속성을 바꿈으로서 원하는 형태의 Button을 만들 수 있다. 이번에는 Button 클래스를 상속받아 자바 코드를 통해 여러가지 속성을 바꿔보자. public class BitmapButton extends AppCompatButton { public BitmapButton(Context context) { super(context); } public BitmapButton(Context context, AttributeSet attrs) { super(context, attrs); } } 먼저 AppCompatButton을 상속받아 BitmapButton 클래스를 생성해준다. 아래 두 함수는 기본적으로 호출되는 AppCompatButton의 생성자이다. public BitmapBu.. 2019. 8. 8. 나인패치(Nine Patch) 이미지란? 나인패치(Nine Patch) 이미지란? 안드로이드는 기본적으로 이미지뷰를 할당한 뒤 이미지를 넣게 되면 이미지뷰의 사이즈에 맞춰지게 된다. 하지만 원본 이미지와 뷰의 크기가 다르게 되면 이미지가 늘어나서 깨지게 된다. 이를 방지하기 위해 이미지의 크기가 달라질 때 왜곡되는 부분과 왜곡되지 않는 부분을 나누어 처리할 수 있도록 만든 기능이 나인패치 이미지이다. 안드로이드 스튜디오에서 나인패치 이미지를 열어보면 위와 같은 UI를 볼 수 있다. 앞서 말했듯 왼쪽 이미지처럼 이미지를 9개의 구역으로 나누어 늘어나도 되는 부분과 아닌 부분을 정할 수 있다. 그 후 이미지의 크기를 바꾸면 오른쪽처럼 코너 부분이 왜곡되지 않고 변경되는 것을 볼 수 있다. 사용법 나인패치 이미지를 사용하기 위해서는 프로젝트에 이미지.. 2019. 8. 8. 이전 1 2 3 4 5 6 7 다음