전체 글
[Android/Kotlin] Live Data
Live Data는 Data를 저장하고 변화를 관찰할 수 있는 객체이다. Observer를 구독하면 Data가 변경될 때마다 UI를 업데이트할 수 있다. 일반 Observable Class와 달리 Live Data는 수명주기를 인식한다. 수명주기 인식을 통해 Activity 수명주기 상태에 있는 앱 컴포넌트 Observer만 업데이트 한다. 관찰자의 수명주기가 STARTED 또는 RESUMED 상태에서만 옵저버에게 데이터 변경을 알린다. LifecycleOwner 인테페이스를 구현하는 객체와 페어링된 관찰자를 등록할 수 있다. 이 관계를 사용하면 관찰자에 대응되는 LifeCycle 객체의 상태가 DESTROYED로 변경될 때 관찰자를 삭제할 수 있다. 특히 Activity와 Fragment가 LiveDa..
[Android/Java] naver map api
Demo 1. Api Key 발급 https://www.ncloud.com/ 2. 내위치 가져오기 해당 앱이 권한이 있어야한다. 안드로이드시스템 설정에서 위치서비스가 켜져있어야 한다. dependency 추가 현재 위치를 얻기위해선 LocationProvider라는 표준 라이브러리를 사용해도 되지만 가볍고 더좋은게 google꺼라고 한다 implementation 'com.google.android.gms:play-services-location:16.0.0' Naver sdk allprojects { repositories { google() mavenCentral() jcenter() // Warning: this repository is going to shut down soon maven { ur..
[안드로이드스튜디오]Manifest merge failed
> Task :app:processDebugMainManifest FAILED [com.android.support:animated-vector-drawable:28.0.0] C:\Users\csjty\.gradle\caches\transforms-2\files-2.1\2ea246c20a91481cc0f9ad545d596a80\animated-vector-drawable-28.0.0\AndroidManifest.xml Warning: Package name 'android.support.graphics.drawable' used in: com.android.support:animated-vector-drawable:28.0.0, com.android.support:support-vector-drawabl..
[안드로이드스튜디오]URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs) 여기 무시할 스키마 DTD목록에 추가해주면 없어지긴함
[Android/Firebase] Firebase 연동
0. Package Name, SHA-1 준비 프로젝트 생성후 패키지 네임 복사 SHA-1을 발급 (터미널에서 아래명령어로 발급가능) gradlew singingReport 1. Firebase에서 앱등록 https://console.firebase.google.com/ 앱등록후 준비해둔 패키지 네임과 SHA-1 정보를 넣는다. 2. JSON파일을 다운받아 아래에 나온 경로에 넣는다.(/app아래) google-service.json파일은 증명서 같은 개념으로 이게 있어야 firebase에 접근할 수 있다고 한다. 여기에 여러 API 키가 있다. 3. sdk 추가 4. 끝
[Android/Java] 지나가는 비행기
Demo 구성 activity view gif resource - [MainActivity.java] package com.example.recyclerview; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { private PlainAnim pa; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); pa = new PlainAnim(this); setContentView(pa); } } - [PlaneAnim.java] package com.examp..
[Android/Java] 터치하면 위로올라가는 게임
Demo 구성 activity view gif resource - [MainActivity.java] 시작화면 package com.example.recyclerview; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } publ..
[Android/Java] video view 가로 모드
Demo ManiActivity.java package com.example.recyclerview; import android.os.Bundle; import android.widget.MediaController; import android.widget.VideoView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); V..
[Android/Java] 날씨 api
Demo 0. api 등록 https://openweathermap.org/api 1. 가입 2. my api key에서 key 복사 3. 맘에 드는 api 쓰면 된다. 1. 구성 dependency permission network-security-config activity layout Dependency 추가 implementation 'com.android.volley:volley:1.1.1' AndroidManifest.xml MainActivity.java package com.example.recyclerview; import android.media.MediaPlayer; import android.os.Bundle; import android.os.CountDownTimer; import..