빠르게배우는 안드로이드 Fragment -1 (배경)

지금 까지 강의를 통해서 기본적인 안드로이드 sdk에서 지원하는
api를 사용할수 있게되었습니다.
오늘은 Fragment를 배워볼것인데요 Fragment는 한글로는 파편, 조각이라는 의미로 해석되는데요 최근 안드로이드에서 가장 중요하게 사용되는 api입니다. Activity와 거의 비슷한 기능을 수행하는 클래스라고 생각하시면 편합니다. 그렇다면 비슷한 기능을 수행하는 클래스인데 왜 등장하게 되었을까요?

(지금 부터 나오는 Fragment 등장에 대한 설명은 저의 지극히 주관적인 생각입니다.)

잠깐 안드로이드에 대한 역사를 보도록합시다.
Fragment는 안드로이드 허니컴(3.0)버전에서 처음 선보인 기능입니다. (이전은 2.2 버전 프로요)허니컴은 태블릿용 즉 대화면용 안드로이드 OS버전으로 설계되었습니다. 화면이 커지다보니 한 화면에 한 엑티비티만을 보여주기에는 너무 비효율적이라는 생각이 들었나봅니다.

그렇다면 한 화면에 2가지 기능을 보여주면 어떨까요?
예를 들어
1. 왼쪽에는 메뉴가나오고 오른쪽에는 앱 기능이 동작한다거나
2. 왼쪽에는 인터넷 사이트가 오른쪽에는 채팅기능이 동작한다고 생각해봅시다.

Image for post
http://developer.android.com/intl/ko/guide/components/fragments.html

이런기능들은 어떻게 만들수 있을까요?

지금까지 배운것으로 생각해보면 한 화면에 리어어 레이아웃 등을 2개로 배치해서 각각 기능을 넣어주면 되지 않나요? 아니면 커스텀 뷰 2개를 만들어서 리니어에 넣으면 코드재사용도 되고 좋을것 같은데요?

라는 생각을 가질수있습니다. 이 또한 틀린 방법은 아니고 좋은 생각입니다. 하지만 안드로이드 개발팀에서는 여기서 재사용등을 염두하여 약간 다른 생각을 하게됩니다.
엑티비티를 2개 한 화면에 띄우면 되겠다. 라는 생각을 하게 되었습니다. 이렇게하면 각각의 Activity를 인텐트 등으로 호출하여 2개를 보이게하면 되고 관리도 쉽겠네? 라는 생각을 했던것같습니다. 하지만 기존에 Activity 클래스는
한 화면을 담당하는 클래스였고 이 안에 Activity들을 넣는 기능을 추가하는것은 구조를 많이 변경해야됬나봅니다. 변경을하면 하위 OS에 있는 것들과 호환이 잘되지 않을수있기 때문에 Activity는 그대로 두고 Activity를 본 딴 새로운 클래스(기능)을 만들게 됩니다 . 그것이 바로 Fragment입니다.
거의 구조적 기능적으로 Activity와 동일한 기능을 가진것으로 생각하고 코딩하시면 될것같습니다.
다음 강의부터 Fragment에 대한 코드를 보면서 Fragment를 알아보도록하겠습니다.

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

[출처] https://medium.com/@henen/%EB%B9%A0%EB%A5%B4%EA%B2%8C%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-fragment-1-%EB%B0%B0%EA%B2%BD-e3aa03151715

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
109 [android studio] 에러 해결: android gradle plugin requires java 11 to run. you are currently using java 1.8. file 졸리운_곰 2022.11.17 4
108 [android sdk] 안드로이드에서 JWT 사용하기 졸리운_곰 2022.07.15 22
107 [Android Studio] Android Native App 에서 mysql , php 연결 : PHP MySQL REST API for Android file 졸리운_곰 2021.12.02 104
106 Android PHP MySQL 예제 - 데이터베이스에서 데이터를 JSON 형식으로 가져오기 file 졸리운_곰 2021.07.24 208
105 Android PHP MySQL 예제 - 데이터베이스 질의(query) 결과 출력하기 file 졸리운_곰 2021.07.24 539
104 [android] 안드로이드에서 mysql 데이터베이스 입력, 접속 / Android PHP MySQL 예제 - 데이터베이스에 데이터 입력하기 file 졸리운_곰 2021.07.24 117
103 Android 에서 Opencv 설치하고 간단한 예제 실행해보기!! file 졸리운_곰 2020.10.31 333
102 안드로이드 나인 패치(9-Patch) 이미지 버튼. (Android Nine-Patch Image Button) file 졸리운_곰 2020.10.10 147
101 나인패치(Nine Patch) 이미지란? file 졸리운_곰 2020.10.10 56
100 Python으로 안드로이드 앱 만들기 졸리운_곰 2020.09.30 839
99 [Android] Fragment 를 이용한 탭 만들기 file 졸리운_곰 2020.09.19 52
98 빠르게배우는 안드로이드 Fragment-4(Fragment간 에 데이터전달) file 졸리운_곰 2020.09.19 36
97 빠르게배우는 안드로이드 Fragment-3(Fragment기초 실습) file 졸리운_곰 2020.09.19 58
96 빠르게배우는 안드로이드 Fragment-2(Activity-> Fragment로 쉽게 변경) 졸리운_곰 2020.09.19 38
» 빠르게배우는 안드로이드 Fragment -1 (배경) file 졸리운_곰 2020.09.19 38
94 안드로이드 스튜디오 - 새로 생성한 Activity Class를 쉽게 Manifest에 등록하기. file 졸리운_곰 2020.08.08 52
93 Android Studio Build시 failed linking references 해결방법 file 졸리운_곰 2020.05.05 517
92 [안드로이드 스튜디오] COULD NOT FIND COM.ANDROID.TOOLS.BUILD:GRADLE:3.0.0-BETA6 file 졸리운_곰 2020.05.05 43
91 Android Sync SQLite Database with Server using PHP and MySQL file 졸리운_곰 2019.02.25 7427
90 안드로이드의 MVC, MVP, MVVM 종합 안내서 file 졸리운_곰 2019.01.06 256
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED