Android 32

[Android] Custom Layout 생성

안녕하세요. Bucket Place 개발자 Cloud Travel입니다.이번에는 Custom Layout을 생성하는 방법에 대해서 알아보도록 합시다. 여기에서는 inflater의 개념이 적용되지만, 이에 대해서 깊이 다루지는 않고, 생성하고 등록하는 것에 중점을 두고 간략하게 설명 하겠습니다. 1. Layout의 생성 Android의 모든 resource는 rsc에 저장되는 것을 지금까지의 사례로 알수 있을 것이다. Layout 폴더에 자신이 원하는 레이아웃 리소스를 정리한다고 생각하면 된다.여기서 필자는 header.xml 이라는 파일을 생성하였고, 이를 Custom view로 만들고자 한다.Custom View는 실질적으로 만들어진 xml레이아웃을 java파일에서 변환해주면 사용이 가능하다. 2. L..

[Android] Back button / 2번 Back 버튼 클릭 종료

안녕하세요. Bucket Place 개발자 Cloud Travel입니다. 이번에는 어플을 개발하면 한 번 검색할까 말까한 2번 백버튼으로 어플리케이션을 종료하는 것을 알아 보도록합시다.간단하게 소스코드를 보면 모든 것이 이해가 되기때문에 여러가지 말은 하지 않을 것입니다. public class MainActivity extends Activity { // define variables for back key : 2 pressed end! private boolean isBackKeyPressed = false; // flag private long currentTimeByMillis = 0; // calculate time interval private static final int MSG_TIMER_..

[Android] Animation

안녕하세요. Bucket Place의 개발자 Cloud Travel입니다. 오늘은 안드로이드를 사용하면서 애니메이션 리소스를 생성하고 적용하는 방법에 대해서 알아보도록 하겠습니다. 안드로이드에서는 사용자가 정의하여 다양한 에니메이션을 생성하고 활용이 가능합니다. 애니메이션을 사용하기 위해서 준비해야할 것이 있습니다.첫번째로는 애니메이션을 저장할 공간을 만들어 주는 것입니다.사용자가 정의한 에니메이션은 하나의 리소스로 저장이 되게 되는데, 프로젝트를 생성시에는 저장할 수 있는 공간이 없어서 공간을 새로 만들어 주셔야 합니다. 프로젝트를 생성한 후에 만들어진 res폴더(resource들을 저장하는 공간) 아래에 "anim"이라는 폴더를 하나 생성해줍니다.다른 폴더명을 사용할 수는 없습니다. 왜냐하면, 안드로..

[Android] Android Intro Setting: 첫 화면 몇 초간 대기하기

안녕하세요. Bucket Place의 개발자 Cloud Travel 입니다. 안드로이드를 개발하면서 자잘자잘한 것부터 세세한 것까지 기술을 적어보려고 합니다.오늘은 그 첫번째 소개로 인트로 화면 셋팅에 대해서 알아보도록 하겠습니다. 많은 어플리케이션을 사용하시면 몇 초간 메인 화면을 띄어 주는 것을 많이 볼 수 있습니다.이 순간 백그라운드에서는 어플리케이션이 돌아갈 수 있게 준비를 하고 있는 경우가 많을 것입니다.예를 들어, 은행 관련 어플리케이션은 메인 화면을 보여주면서 관련된 어플리케이션(백신)을 실행하는 경우가 많습니다. 옆에는 하나의 예로 신한은행 어플을 실행했을 경우를 했습니다. 신한은행 및 한국의 대부분의 은행 어플은 V3를 백신을 연동하면서 메인화면을 기다립니다. 이외에 백그라운드에서는 무언..

[Android] Toast, Dialog

* Toast - 디버깅 메세지를 확인하거나 사용자에게 간단한 메세지를 출력 - 생성 : Toast.makeText(Context context, String message, int duration) - Method > public void setGravity(int gravity, int xOffset, int yOffset) // = Toast가 보이는 위치를 지정해준다.(x좌표 : -160~160 / y좌표 : -240~240) > public void setMargin(float horizontalMargin, float verticalMargin) // = 외부 여백을 지정하여 위치를 지정 - res/drawable 폴더에 디스플레이를 위한 XML을 지정하여 Toast를 꾸밀수 있다. shape..

[Android] Inflation & Activity추가

* Inflation(인플레이션) - XML레이아웃에 정의된 내용이 메모리상에 객체화 되는 과정 - 이 과정에 포함되있지 않는 객체는 참조할 수 없다.(Fatal Error) - setOnContentView()메소드에 의해서 실행된다. ⓐ 내부적으로 화면에 나타낼 View를 지정 ex) setOnContentview(R.out.main) ⓑ 메모리상에 XML레이아웃에 정의된 것을 객체화 * LayoutInflater : 화면의 일부를 다른 XML사용하는 것 ⓐ 메인레이아웃에 부분레이아웃이 들어갈 자리를 만든다. ⓑ 부분레이아웃을 만듬 ex) subView.xml을 생성해 레이아웃을 정의했다. 그리고 이 레이아웃은 LinearLayout으로 정의됬다. ⓒ 자바파일에서 부분레이아웃의 객체를 참조한다. (컨..

[Android] Java소스로 > EditBox의 변화 감지

* EditBox의 변화감지 - TextWatcher 인터페이스 사용 > ex) public class Exam2Activity extends Activity implements TextWatcher{ ... - TextWatcher 인터페이스의 메소드 @Override public void beforeTextChanged(CharSequence s, int start, int count, int after){ //CharSequence s : 현재 에디트텍스트에 입력된 문자열을 담고 있다. //int start : s 에 저장된 문자열 내에 새로 추가될 문자열의 위치값을 담고있다. //int count : s 에 담긴 문자열 가운데 새로 사용자가 입력할 문자열에 의해 변경될 문자열의 수가 담겨있다. /..

[Android] Java소스로 > ImageView의 이미지 변경

* ImageView의 이미지 변경 ⓐ 변경할 ImageView선택 : onView = (ImageView)findViewById(R.id.onView); ⓑ 원하는 이미지 정보 추출 : BitmapDrawable img = (BitmapDrawable)getResources().getDrawable(R.drawable.img1); // drawable폴더에서 img1의 정보를 가져옴 ⓒ View에 이미지 setting : onView.setImageDrawable(img); ※ 이미지 삭제시 : onView.setImageDrawable(null); -- Exam1Activity.java package exam.exam1; import android.app.Activity; import android...

[Android] Align & Layout & Scroll View / 정렬 & 레이아웃 & 스크롤 뷰

* 정렬 - layout_gravity : 전체화면에서의 정렬(부모 컨테이너에서의 정렬) - gravity : 뷰에서의 정렬 > 버튼이나 TextView의 크기가 wrap_content로 지정되 있으면, 그 자체로 꽉차 있기 때문에 gravity에 대한 정렬은 되지않는다. 또한 크기가 match_parent나 fill_parent로 되어있다면, layout_gravity에 의한 정렬은 되지 않는다. 차이점을 기억하자!! - baselineAligned(베이스 정렬) : 텍스트에서 아랫줄을 통일 시켜준다. - layout_weight(차일드 영역 분할) : 공간에 가중치를 주어서 분할한다. * LinearLayout 리니어 레이아웃 : 차례대로 가로나 세로방향으로 순서대로 출력해준다. - orientati..

[Android] 기본 위젯

* TextView : 텍스트를 출력하는 위젯 - textColor : RGB format에 따라서 값을 지정해준다 - textSize : dp, sp, px 단위로 사용이 가능하다 - textStyle : normal, bold, italic - typeface : text font를 지정해준다. (normal, sans, serif, monospace) - singleLine : text가 위젯 폭보다 큰 경우 강제로 한줄로 표시하게 한다. (...으로 생략) default는 false로 지정되있다. ※ 다국어 지원 모드 - res/values 폴더를 "res/value-en" 과 "res/value-ko"로 나눠지면 각각 단말 설정이 영어이냐 한국어냐에 따라서 다른 폴더를 참조하여 string값을 ..