1. 다른 화면을 wizard를 이용해서 생성한다.
- Android - Android Activity
- activity 와 xml이 함께 생성되며, AndroidManifest.xml 도 설정된다.
2. 한 화면에서 Button 을 만들고, 클릭했을 때 호출되는 메서드를 매핑한다.
- 화면에서 Button 만드는 예시
3. 호출되는 메서드에서 다른 화면을 호출한다.
* Intent 라는 class를 사용하는 것이 중요하며, Intent 의 정의는 아래와 같다.
abstract description of an operation to be performed |
4. 다른 화면을 끝내고 싶을 때
finish(); 라는 명령어를 사용하면, 호출한 화면이 종료되고, 호출했던 화면으로 돌아간다.
(option) 호출한 다른 화면에서 호출했던 화면으로 데이터를 넘겨줘야 할 때
(option) 3. 호출되는 메서드에서 다른 화면을 호출한다.
- startActivity 대신 startActivityForResult 를 호출한다.
- request code를 추가로 파라미터로 넘겨준다.
(option) 3-5. 다른 화면에서 Intent 객체에 호출했던 화면으로 넘겨줄 data를 설정한다.
- intent 가져오기 : Intent intent = getIntent();
- intent 에 값 설정하기 : intent.putExtra("key", value);
* 주의 : EditText.getText().toString() 와 같이 반드시 toString()을 해줘야 한다. getText() method 가 이름을 볼 때 String을 return할 것 같지만, 그렇지 않음.
- result 값 설정하기 : this.setResult(RESULT_OK, intent);
(option) 5. 호출했던 화면에서 호출한 화면에서 넘겨준 데이터를 처리한다.
- onActivityResult 라는 메서드에서 로직을 구현한다. (startActivityForResult를 통해 호출한 activity가 종료되면, 자동으로 onActivityResult 라는 메서드가 호출된다.)
- request code 와 result code를 함께 체크한다.
- intent에 설정되어 있던 값 가져오기 : intent.getStringExtra("key");
- 화면 레이아웃을 수정할 경우, adapter 의 data 를 수정하고, adpater에 data가 수정되었다고, 알려준다.(notifyDataSetChanged();) CursorAdapter 일 경우 changeCursor(cursor) 로 설정한다.
(option) default 화면 전환 효과를 없애고 싶을 때
6. startActivity() 나 finish() 뒤에 overridePendingTransition(0,0); 을 추가한다.
- default로 제공되는 화면 전환 효과는 가운데서 시작해서 전체로 퍼지는 효과이다. 이것을 없애고 싶을 때, 위 로직을 적어준다.
- overridePendingTransition(0,0) 는 어떠한 animation 효과도 주지 않겠다는 뜻이다.
참고 : http://developer.android.com/guide/topics/resources/animation-resource.html
http://developer.android.com/reference/android/app/Activity.html
<<HeadFirst Android 편 참고>>
'Programming Practice > Android' 카테고리의 다른 글
[Contacts Provider]연락처 그룹 생성 및 입력 방법 (0) | 2014.10.26 |
---|---|
[Contacts Provider]연락처 입력 방법 (0) | 2014.10.26 |
[Contacts Provider]연락처 기본 개념 (0) | 2014.10.26 |
SQLite database 에 데이터 저장하고 조회하기 (0) | 2014.10.18 |
화면에 리스트 목록 표시하기 (0) | 2014.10.17 |