잡다한 프로젝트/안드로이드

<안드로이드> ios개발자의 안드로이드 개발 공부 1편

studying develop 2022. 5. 5. 01:44

https://www.youtube.com/watch?v=WlJszSmK_es

일단 이거 정주행중, 현재 39분까지봄.

 

1. ios랑 안드랑 다른 점이 있는데, ios는 뷰컨트롤러 파일에서 어떤 화면을 사용할지 정할 수 있는데, 주로 정하는데 안드로이드는 Activity 파일에서 setContentView를 통해 어떤 layout을 사용할지 지정한다. 

 

좀 더 말하면 ios도 코드상에서 어떤 뷰컨에 어떤 뷰를 넣고 그런게 가능한데, 일단 스토리보드상에서 뷰컨트롤러와 뷰가 기본적으로 연결되어 있는데, 이게 안드로이드는 코드상에서 아예 뷰컨트롤러가 Activity파일에 있고, 뷰가 아예 layout 파일로 따로 있다.

 

뭔가 ios는 하면서 뷰컨트롤러와 뷰가 함께 MVC에서 V의 영역에 해당하는 느낌이였다면 안드로이드는 뷰컨트롤러가 엑티비티인데 뷰는 아예 그냥 layout에 있는게 뷰 같은 느낌?... (이건 그냥 안드 끄적거린 사람의 느낌...ㅎ)

 

2. 처음에 안드 개발할때 LinearLayout과 ConstraintLayout을 보고 항상 뭘로 하지? 사실 잘 감이 안왔다. 근데 강의 보니까 일단 LinearLayout이 쉽다는 입장? 근데 이거쓰면서 잘 안됐던게

이렇게 weight는 주는데 뭔가 의도대로 사이즈 배치가 안됐다. 그 이유는 여기서 보니까 layout_width를 0으로 해야된다고... linearLayout이 가중치를 고려해서 비중을 정하는 느낌이라 보면될듯? 원래 Button의 content size가 있으니까 그거 땜에 3:2:5로 딱딱 안나뉘는듯.

 

3. 이거랑 안드로이드 스튜디오는 xcode랑 다른게 라이브 템플릿? 이걸로 원하는 코드 템플릿을 만들수 있나봄... 편하다. 

 

4. 그리고 또 안스의 장점이 색깔 세팅이 쉽다는거? 엑스코드는 상대적으로 까다로움, 색깔 리소스 모아놓기도 딱히 없고 있긴한데 잘 못쓰겠던데 불편해서

 

5. 버튼 엑션을 연결하는 방법이 두가지인데, 이렇게 id를 가져와서 onClick 생성해서 넣어주는 방법이 있다.

물론 여기서 R.id.Btn2는 layout 파일에서 아래처럼 넣어준거.

 

그리고 다르게 액션을 연결하는 방법은. 아예 layout 파일에 onClick 액션 아이디를 넣음으로서 연결하는 방법임.

아예 엑티비티 클래스에서 선언된 메소드 이름만으로도 layout 파일에서 어떤 엑션과 연결됐는지 알 수 있는듯. (그 반대로 인식하는걸 수 도 있고?)

 

엑스코드의 경우는 드래그를 통해 뷰컨트롤러(엑티비티)의 메소드와 어떤 버튼인지 연결을 해줘야 되는데 이게 매우 원시적인거 같은데 뭔가 의식적인 행동 같기도함... 아 이 버튼은 이 액션과 연결되어 있구나!!...

 

안드 개발해보면서 엑스코드의 의식적인 과정이 없어서 뭔가 내가 뭐랑 뭘 연결했지? 싶을때가 있긴했는데, 작명이 중요할듯? 길게하는게 좋나 ... 짧으면 기억이 안나서;