FireBase Database란? - "NoSQL 클라우드 데이터베이스로 데이터를 저장하고 동기화하세요. 모든 클라이언트에서 실시간으로 데이터가 동기화되고 앱이 오프라인일 때도 데이터를 사용할 수 있습니다." - NoSQL이란? 정형화된 데이터뿐만 아니라 반정형화 비 정형화 데이터에 적합한 데이터 구조 , json 형태를 기반으로하고 있음 - 채팅도 마찬가지로 {"key" : "value" } 형식 - 간단하게 Chatting App을 만들 수 있음 - firebase.google.com/docs/database?hl=ko Android에서 설치 및 설정 - firebase.google.com/docs/database/android/start?hl=ko - FireBase를 어떻게 써야 하는지 알 수 ..
FireBase 파이어베이스(Firebase, Inc)사가 개발하고 2014년 구글에 인수된 모바일 및 웹 애플리케이션 개발 플랫폼 FireBase 사용방법 1. 프로젝트 추가 -> 이름을 설정하고 프로젝트를 만든다 2. 다음과 같이 만들어진다. - ios / Android / Web - Android 경우 설명 - Android에서 package 이름을 확인한다 1. Android에서 package 이름을 직접 넣기 2. 구성파일 다운로드 google service.json file을 app 단위 폴더에 넣어준다. 3. FireSDK 추가 프로젝트 수준의 build.gradle과 앱 수준의 build.gradle을 나누어 추가한다. 4. 다음 단계 확인...누르기
들어가기전에(다시보기) 안드로이드 어플리케이션에서 시스템은 하나의 실행 스레드로 실행된다. 이 하나의 실행스레드가 바로 메인스레드(Main Thread) 이다. 이 메인 스레드는 화면 구성에 관한 역할을 담당하기 때문에 UI Thread라고도 한다. 이때 반응성 좋은 어플리케이션을 만들기 위해서는 Main Thread가 아닌 별도의 스레드에서 동작하도록 구현하면 된다. 즉 정리하면 시간이 걸리는 작업은 UI 스레드에서 분리하고, UI 스레드가 아닌 스레드는 UI 구성요소를 조작하지 않아야 한다. Main Thread = UI Thread UI 구성하려면 Main Thread에서 동작하도록 해야 한다. ex) setText() ,,, 해결방법 1. runOnUIThread(Runnable) 2. View...
Intent 어떤 Component에서 다른 Component를 호출하기 위해서 전달하는 비동기 메시지 공식문서 => 메시지 객체, 다른 앱 구성요소로부터 작업을 요청하는데 사용 , 즉 통신을 촉진하는데 사용 (1) Activity 시작 (2) Service 시작 - Service ? 사용자 인터페이스 없이 백그라운드에서 작업을 수행하는 구성요소 - ex) 파일 다운로드 (서비스 시작, 일회성 작업) -> Intent사용하여 startService () 전달 - ex) 서비스 바인딩 -> Intent 사용하여 bindService() 전달 (3) BroadCast 전달 모든 앱이 수신할 수 있는 메시지 sendBroadcast() or sendOrderedBoradCast() 전달 Intent 객체? C..
안드로이드 4대 컴포넌트(구성요소) - Activity, Service, Boradcast Receiver , Content Provider - 4가지는 기본 컴포넌트 - 안드로이드 어플리케이션 내에서 독자적으로 작업을 실행할 있는 일종의 진입점 (1) Activity - 사용자 인터페이스 화면을 구성하는 컴포넌트 - Activity내에는 Fragment 추가하여 화면 분할 가능 (2) Service - 백그라운드에서 실행되는 컴포넌트, 시각적인 사용자 인터페이스를 가지지 않음 - 한번 시작된 서비스는 Applcation이 종료되도 Background에서 돌아감 - 모든 Service는 Service 클래스를 상속받아서 사용 - 네트워크를 통해 데이터를 가져올 수 있음 * Service 이용하여 Comp..
Activity - 사용자가 직접 보고 화면을 담당하는 컴포넌트 - 레이아웃을 화면에 그리기 위해서는 액티비티를 통해서만 가능 Activity Start(Acivity 생명주기 메소드) onCreate() Activity가 처음 생성되엇을 때 호출, 일반적인 수행 실행 항상 뒤에는 onStart가 따라옴 onRestart() Activity가 중단되었다가 다시 시작되기 직전에 호출 onStart() Activity가 사용자에게 보여지기 직전에 호출 , Activity가 숨겨지면 onStop이 따라옴 onResume() Activity가 화면에 보여지고, 사용자와 상호작용하기 직전에 호출됨 , 항상 뒤에는 onPause가 따라옴 onPause() 다른 Activity로 넘어가거나, 뒤로가기를 누르거나, 현..
Layout - 엡 > 액티비티>(프래그먼트)> 뷰그룹>뷰 - 즉 , Layout은 ViewGroup에 속함 1. Constraint Layout - 안드로이드 기본 Layout - 위젯들 사이 간단한 Constrain 조건만으로 전체화면 쉽게 구성 2. LinearLayout - 위젯을 가로 또는 세로 한줄로 배치하기 위한 레이아웃 - 레이아웃 속성 중에 orientation의 가로, 세로만 변경해주면 기존에 배치되어 있떤 위젯들도 방향 바꾸기 가능 * orientation 3. FrameLayout - 입력되는 위젯의 위치를 결정하기 보다는 위젯을 중첩해서 사용하기 위한 레이아웃 - 주로 게임화면처럼 게임과 플레이어가 서로 다른 레이어에서 겹쳐 움직여야할 때 사용하면 좋음 - 레이어중 처리속도가 가장..
Fragment - Activity는 화면을 표현하기 위한 기본 단위, 하지만 많이 구성하다 보면 화면이 너무 복잡하거나 코드의 양이 너무 많아짐 - 프레그먼트? 각각의 화면을 분할해서 독립적인 코드로 구성할 수 있도록 도와주는 것, 즉 sub-activity - 프레그먼트를 사용하면 하나의 액티비티로 조건에 따라 서로 다른 화면 구성을 만들 수 있음 Fragment Start(생성주기 메소드) onAttach():- The fragment instance is associated with an activity instance.The fragment and the activity is not fully initialized. Typically you get in this method a reference..
View란? 화면을 구성하는 최소 단위의 컴포넌트 안드로이드에서는 액티비티 위에 뷰(View)들이 배치됨 View? Application에서 눈에 가시적으로 표현되는 모든 것을 가리킨다. Button, Image, Table, Label 등을 의미한다. View의 상속관계는 다음과 같은데 View 계열의 클래스는 가시적으로 보이는 것을 나타내고 ViewGroup에서는 View들을 잘 배치할 수 있는 역할을 할 수 있는 클래스를 나타낸다. Container의 역할을 한다고한 할까? View -> TextView, ImageView, SurfaceView, ProgressBar ... ViewGroup -> FrameLayout, RelativeLayout, LinearLayout, GridLayout ....
들어가기전에 View - 사용자의 인터페이스를 구성하는 클래스들의 최상위 클래스 -> View - 사용자 인터페이스 구성을 위해 사용할 수 있는 클래스들의 대표이름 (TextView, EditText, Spinner, Button ...) -> ViewGroup - ViewGroup은 다른 View를 포함하거나 구성하는 클래스들의 상위 클래스 -> View Container - 다른 View를 포함할 수 있는 컨테이너 (ListView, ExpandableView, GridView, ScrollView...) -> Layout - 다른 View를 배치할 수 있는 배치 관리자 (LinearLayout, FrameLayout, RelativeLayout ... ) View Container ScrollVie..