패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #Android앱개발올인원패키지Online
안드로이드 - Addview [패스트 캠퍼스 챌린지 21일차]
Addview Addview는 리스트뷰를 구현하는 도구이다 리스트뷰는 유사하게 반복되는 뷰를 그리기 위한 도구이다 리스트뷰를 구현할 때 Listview를 사용하거나 RecycleView를 가장 많이 사용한다 Addview는 잘 사용되지는 않지만 그래도 배운 기능이니 설명해 보겠다 Addview가 리스트뷰를 그리는 방법 Item을 담을 xml을 만들어 준다 -> 그 xml에 내용을 채워준다 -> Container view에 더해준다 -> 반복한다 Activity의 xml에 리스트를 담은 컨테이너를 만들어 준다 리스트에 넣을 아이템 뷰 xml을 만들어 준다 Activity에서 간단한 클래스를 선언하고 만든 Number클래스를 담을 리스트를 만들고 리스트에 Number인스턴스를 간단히 넣어봤다 리스트에 있는 ..
안드로이드 - Thread [패스트 캠퍼스 챌린지 20일차]
Thread 쓰레드는 작업 흐름으로 기본적으로 MainThread에서 작업이 이루어 진다 MainThread만 있는 경우에는 한번에 하나의 일만 할 수 있다 다른 쓰레드가 있는 경우에는 여러가지 일을 한번에 할 수 있다 안드로이드 MainThread 안드로이드의 MainThread는 UI(User Interface) Thread이며 이는 사용자의 input을 받는 쓰레드이다 UI Thread는 절대 정지시킬 수 없다 정지 시키거나 종료 시키면 더 이상 사용자의 input을 받을수 없기 때문이다 Thread 만들기 쓰레드를 만들어 보자 이제 쓰레드가 할 일을 Runnable담아서 쓰레드에 넣어 주면된다 현재까지는 쓰레드가 할일을 가지고 있는 상태이다 일을 시작하라는 명령 줘야한다 버튼 누를 때마다 쓰레드가..
안드로이드 - Resource, Context [패스트 캠퍼스 챌린지 19일차]
xml에서 리소스 불러오기 colors를 예시로 보겠다 colors파일에 원하는 컬러 추가하고 xml에서 경로를 적어주면 된다 앱 테마를 바꾸고 싶으면 styles파일에 원하는 스타일 만들고 manifest에서 테마를 변경해주면 된다 코드에서 리소스 불러오기 color를 예로 보겠다 버튼의 색깔을 리소스에서 가져와서 적용시켜 보겠다 string을 가져오고 싶으면 getString을 사용하면 된다 Context Context는 ActivityManagerService(개발하기 편하도록 미리 구현해놓은 기능)에 접근하도록 해주는 역할이다 안드로이드는 이미 많은 부분들이 만들어져 있다 이런 것들 사용하기 위해서는 Context가 필요한 경우가 많다 AppCompatActivity가 상속받고 있는 것들을 쫓아가..
안드로이드 - Fragment3, NullSafety [패스트 캠퍼스 챌린지 18일차]
Fragment→Activity 데이터 보내기 Activity에서 Fragment로 데이터 보내는 방법은 안드로이드에서 제공해주는데 Fragment에서 Activity로 데이터 보내는 방법은 없다 우리가 직접 만들어야 한다 옵저버 패턴을 적용하여 직접 리스너를 구현해 보겠다 Fragment에 리스너 인터페이스 만들어준다 인터페이스를 담을 변수를 하나 만들어 준다 Activity에서 받은 context를 형 변환해서 선언한 변수에 넣어준다 Fragment에 간단하게 버튼을 하나 만들어주고 버튼에 리스너를 장착해준다 이제 이 버튼이 리스너를 울리는 녀석이 된다 Activity에서 인터페이스를 구현해주고 추상 메소드 오버라이드 해준다 Fragment에서 버튼을 누를 때마다 Activity로 데이터 전달이 된다..
안드로이드 - Fragment2 [패스트 캠퍼스 챌린지 17일차]
동적으로 Fragment 추가하기 Activity의 xml에 Fragment가 들어갈 컨테이너 만들어준다 저 레이아웃을 Fragment로 바꿀 것이다 우선 Activity에서 Fragment인스턴스를 만든다 Fragment를 동적으로 작동시키기 위해서는 fragmentManager의 도움을 받아야 한다 supportFragmentManager를 가져온다 이제 트랜잭션을 만들어 줘야 한다 트랜잭션은 하나의 작업 단위로 시작과 끝이 있다 트랜잭션의 시작을 만들어 준다 이제 할 일을 적어준다 아까 만들었던 LinearLayout과 Fragment를 바꿔줄 것이다 마지막으로 트랜잭션의 끝을 알리면 된다 Fragment 떼어내기 Fragment를 붙여봤으니까 이제 Fragment를 떼어내어 보겠다 간단하게 det..
안드로이드 - Fragment1 [패스트 캠퍼스 챌린지 16일차]
Fragment Fragment는 Activity의 파트를 나누어 책임진다 웹의 컴포넌트 같은 느낌이다 Fragment를 화면에 나타내기 Frament를 표시하는 방법에는 정적인 방법과 동적인 방법이 있다 정적인 방법부터 보겠다 정적인 방법은 xml에 Frament를 ViewComponent로 추가하는 방법이다 별도의 Fragment 클래스 파일을 만들고 Fragment를 담을 Activity의 xml파일에 Fragment뷰를 넣어준다 Fragment를 사용할 때는 어떤 Fragment를 사용할지 name속성에 말해줘야 한다 그리고 Fragment는 반드시 id를 넣어줘야 한다 그다음 Fragment 파일로 와서 onCreateView 오버라이드 해준다 onCreateView는 Fragment가 인터페이..
안드로이드 - Activity, View [패스트 캠퍼스 챌린지 14일차]
생명 주기 onCreate - activity가 만들어질 때 단 한 번만 호출된다 activity를 만들 때 단 한 번만 하면 되는 작업들 여기에서 해준다 onResume - 다시 앱으로 돌아올 때 무조건 호출된다 activity가 다시 호출될 때 하면 되는 작업들을 여기에서 해준다 onPause - 화면의 일부가 가려졌을 때 onStop - 화면 전부가 보이지 않을 때 onPause와 onStop은 구분이 애매한 경우가 있기 때문에 보통 둘 중 하나에 코드를 몰빵(?)한다 뷰 가져오는 방법 1. 직접 가져오는 방법 해당 레이아웃에서 id를 찾아 가져오는 방법이다 2. 레이아웃 import하는 방법 id를 변수명으로 바로 사용이 가능하다 뷰id를 써주면 자동으로 import된다 뷰에 리스너 달기 1. 인..
안드로이드 - 안스 파일 [패스트 캠퍼스 챌린지 13일차]
안드로이드 스튜디오 파일들에 대해 알아보자 Manifest manifest는 앱의 지도 역할을 한다 차례대로 간단하게 알아보자 package - 앱의 고유한 이름이다 allowBackup - 앱을 삭제하고 다시 깔았을 때 백업한 것들을 불러올지 설정하는 것이다 icon - 앱 아이콘 설정이다 label은- 앱의 이름이다 supportsRtl - 대부분의 글자는 왼쪽부터 오른쪽으로 읽지만 오른쪽부터 글을 읽는 지역에서 앱을 설치하면 자동으로 글 순서를 바뀌도록 하는 설정이다 theme - 앱의 테마 설정이다 activity - 앱에 띄우는 화면이라고 보면 된다 현재 이 앱에 activity가 하나 있고 그 activity의 이름은 MainActivity이다 LAUNCHER - 앱을 켰을 때 최초로 나올 화..
안드로이드 - Scrollview, Imageview, Drawable [패스트 캠퍼스 챌린지 12일차]
Scrollview Scrollview는 말그대로 스크롤이 가능한 컴포넌트이다 다만 주의사항으로 Scrollview 안에는 자식을 하나만 담을 수 있다 여러 자식이 들어갔지만 제대로 표시가 되고있지 않다 그래서 보통 Scrollview안에 Layout을 넣어서 사용한다 Scrollview에서 많이 사용하는 속성이다 스크롤바를 안보이게 해준다 Scrollview에서 필수로 적용해줘야하는 속성이 있다 스크롤바를 사용하다보면 배치가 틀어지게 되는 에러가 발생할 수도 있다 이것을 잡기위해 구글에서 추가해준 속성이다 Imageview 파일의 경로를 적어줄때는 @를 사용한다 ImageView에서 자주 사용하는 속성이다 보통 이렇게 원치 않는 래터박스가 생길 때 centerCrop옵션으로 해결하는 편이다 스마트폰의 ..
안드로이드 - Relativelayout, FrameLayout [패스트 캠퍼스 챌린지 11일차]
Relativelayout 부모나 특정 부를 기준으로 컴포넌트의 위치를 결정하게 해주는 부모 컴포넌트이다 부모인 Relativelayout기준으로 배치를 해보았다 부모를 기준으로 왼쪽, 오른쪽, 센터, 아래쪽에 각각 TextView를 배치한 모습이다 이번에는 부모가 아닌 특정 컴포넌트를 기준으로 배치를 해보았다 빨간색 박스에 id=view1을 주고 초록색 박스는 view1을 기준으로 오른쪽에 배치시킨 모습이다 기준이 되는 컴포넌트 바로 옆이 아닌 평행선에 붙어 배치되는 것이 특징이다 이번에는 빨간색 박스를 기준으로 상하좌우에 다른 박스들을 배치시켜 보았다 FrameLayout FrameLayout은 자식을 겹치게 할 수 있는 부모 컴포넌트이다 FrameLayout안에 있는 TextView들이 겹쳐있는 모..