안드로이드 스튜디오를 하면서 쓰는 단축키


cmd + / : 한줄 주석

cmd + B : 해당 단어가 선언되어 있는 곳으로 감. (setContentView의 xml에 포커싱을 주고 누르면 해당 레이아웃 파일로 가게 됨)

cmd + f12 : 파일 구조 보기

cmd + y : 정의된 부분 빠르게 보기(잘 모르는 메소드에 사용하면 어떻게 선언되어있는지 알 수 있음.)

cmd + d : 선택 블록을 복사하거나 해당 라인을 복사해준다.

cmd + p : 해당 메소드의 사용을 위해 필요한 파라미터를 표시해줌.

alt + cmd + / : 블록 주석

alt + cmd + L : 라인정리

ctrl + O : Override methods

ctrl + I : Implement methods

ctrl + space : 기본 단어 자동 완성 ( 맥의 단축키랑 중복되어서 변경함 )

shift + F6 : 이름 변경하기 ( 변수명 등 )

shift + cmd + 위 또는 아래 : 해당 메서드 안에서의 라인 이동

ctrl + shift + space : 타입 캐스팅( ex) Button button = (까지 입력하고 누르면 (Button)생성해줌)

f3 : 북마크 (숫자나 문자로 북마크 = alt + f3, ctrl + 숫자 or 문자로 이동)




'# 기타 공부한 것들 > Android' 카테고리의 다른 글

Nevigation View 만들기  (0) 2018.07.26
Toobar, appbar 경계선 없애기  (0) 2018.07.25
Fragment(프래그먼트) 만들기  (0) 2018.07.15
Android Project Review with BP(2)  (0) 2018.06.18
Android Project Review with BP(1)  (0) 2018.06.16

오늘도 예제를 하면서 알게 된 몇 가지 사실을 적도록 하겠습니다.

notifyDataSetChanged();

저번에 setAdapter을 onResume부분에 편의상 해두었는데요. 사실 notifyDataSetChanged()가 더 편해요.. ;;

갱신되거나 삭제되었을 때 알려주는 메소드입니다.

구글링 해보니 안먹는 경우도 있다고 한다.


Super.onBackPressed()의 위치

제가 원하는 것은 BackPress를 눌렀을 때 데이터를 intent에 넣어서 전송하는 것이었습니다.

근데 BackPressed 내부에 보시면 super로 부모를 상속하는 것을 볼 수 있습니다. 바로 이 부분이 종료하는 시점이 됩니다.

즉, 눌렀을 때 데이터를 intent에 넣어주고 싶다면, super.onBackPressed()를 맨 아래쪽에 두어야 정상 작동할 거에요.

이런 식으로 맨 밑에 두어야 위의 코드가 정상 작동 됩니다.


ArrayList 초기화

(1) 리스트 초기화

contents 는 ArrayList입니다.

(2) ArrayList 초기화하는 방법 두번째

ArrayList를 사용할 때, add를 굳이 사용하지 않고 간단하게, 한번에 초기화시키고 싶을 때가 있습니다.

이런식으로 하시면 됩니다.

ex)

ArrayList<String> test = new ArrayList<>(Arrays.asList("a", "b", "c"));

또한, Collection을 사용해도 된다고 합니다.

이 사항에 관해서는 더 알고 싶으시다면

>> https://code.i-harness.com/ko/q/f5611

 

 

'# 기타 공부한 것들 > Android' 카테고리의 다른 글

Nevigation View 만들기  (0) 2018.07.26
Toobar, appbar 경계선 없애기  (0) 2018.07.25
Fragment(프래그먼트) 만들기  (0) 2018.07.15
(MAC) Android Studio 단축키  (0) 2018.07.01
Android Project Review with BP(1)  (0) 2018.06.16

ListView를 만들어보는 예제를 해보았습니다. 몇 가지 알게 된 점을 적도록 하겠습니다.


예제의 순서는 이렇습니다.


메인 액티비티 <- Custom ListView inflation <- Data Set


의 순서로 구성되어 있습니다.


ListView는 기본적으로 Adapter를 부착시켜 item들을 뿌려준다고 생각하시면 쉽습니다.


View로서의 역할만 해주는 것이죠. 그래서 코드에서는 Adapter가 View를 인식시키도록 코드를 짜야합니다. 그 부분이 getView부분입니다.


Adapter 부분은 BaseAdapter을 상속받았고, 필요한 것들은 자동으로 implementation을 이용하시면 됩니다.



가장 중요한 부분은 getView부분입니다. getView에서는 자신이 등록한 ArrayList의 아이템을 각각가져와서 inflate해주게 됩니다.


( 이 부분에서 겪었던 오류는 여러분이 implementation하면 getCount도 자동으로 Override해주게 되는데, return 0으로 기본값이 설정되어 있을겁니다. 이것을 size대로 변경시켜주지 않고 그대로 실행시키면 getView 부분에서 getCount를 가져오는지 확인은 해보지 않았지만, 아무리 아이템을 등록해주어도 결국 0으로 인식하는 것을 볼 수 있습니다. 실제로 Adapter에 등록조차 되지 않더군요. -> 확인 필요)


CustomList를 만들고 inflate해주는 부분입니다. (R.layout.listview_items 는 custom ListView입니다.)




다음 사진은 Custom List View에 데이터를 입력시켜주는 부분 중 일부입니다.




또한, ListView에 갱신하는 부분에서 notify method를 사용하지 않아도 



onResume부분에 다시 Adapter를 부착시키면 갱신시킬 수 있다는것을 확인하실 수 있습니다. ( 추천드리진 않습니다. 많이 좋지 않은 방법입니다. 편의상 해놓은 것이에요)


다른 기본적인 예제는 구글링하시면 쉬운예제가 많아 설명하지 않았고, 예제를 해보면서 겪은 현상을 정리하였습니다.




'# 기타 공부한 것들 > Android' 카테고리의 다른 글

Nevigation View 만들기  (0) 2018.07.26
Toobar, appbar 경계선 없애기  (0) 2018.07.25
Fragment(프래그먼트) 만들기  (0) 2018.07.15
(MAC) Android Studio 단축키  (0) 2018.07.01
Android Project Review with BP(2)  (0) 2018.06.18