본문 바로가기

프로그래밍/Android

(93)
Gradle Kotlin, AndroidX 설정 Kotlin gradle 플러그인 설정 buildscript { ext.kotlin_version = '1.3.41' dependencies { classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version' } } 안드로이드 플러그인 설정 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibili..
[Android] androidX Camera 프리뷰 fun initAndroidXCamera() { . . val previewConfig = PreviewConfig.Builder().apply{ setLensFacing(CameraX.LensFacing.FRONT) setTargetAspectRatio(Rational(1,1)) setTargetResolution(Size(480,640)) }.build() val preview = Preview( previewConfig ) preview.setOnPreviewOutputUpdateListener { Log.d(TAG, "onPreviewOutputUpdate") val parent = binding.viewFinder.parent as ViewGroup parent.removeView(bin..
[Android] Retrofit https://square.github.io/ Square Open Source As a company built on open source, here are some of the internally-developed libraries we have contributed back to the community. Tweets Join us Engineering Blog – corner.squareup.com Careers Page – squareup.com/careers square.github.io http://square.github.io/retrofit/ Retrofit A type-safe HTTP client for Android and Java square.github.io 기본적인 Retrof..
[Android] Data Binding Library https://developer.android.com/topic/libraries/data-binding/?hl=ko 데이터 바인딩 라이브러리 | Android Developers The Data Binding Library enables you to write declarative layouts. developer.android.com build.gradle apply plugin: 'kotlin-kapt' android { . . dataBinding { enabled = true } 레이아웃XML : ex) test_layout.xml . . 태그로 레이아웃을 감싸면 빌드시에 test_layout.xml인 경우 TestLayoutBinding 클래스를 자동으로 생성해 준다. 해당 클래스는 추가한 v..
String 리소스에 html 태그 넣기 string 리소스에 문장 와 같은 html 태그를 넣을때는 2가지 방법이 있다. 1. xml의 특수기호인 기호를 로 대체문장 2. 사용P>문장]]> CDATA는 XML에서 해당 내용은 모두 문자열 데이터임을 나타낸다. 텍스트뷰 설정시TextView tv;tv.setText( Html.fromHtml( getContext().getString( R.string.my_string ) ) ); 문장전체에 스타일을 주는 경우에는 볼드:, 언더라인:, 이탤릭: 은 기본지원 되므로 위와 상관없이 사용가능.일부의 스타일만 바꾸는경우SpannableString 을 사용해 각 위치마다 변경해 주어야 함.
파일 변경 이벤트 파일 옵저버 : android.os.FileObserver생성자FileObserver(String path)FileObserver(String path, int mask) 이벤트ACCESS : 파일에서 데이터를 읽었음ALL_EVENTATTRIB : 속성변경됨(퍼미션,소유자,타임스탬프)CLOSE_NOWRITE : 읽기전용으로 열고 닫았음CLOSE_WIRET : 쓰기모드로 열고 닫았음.CREATE : 모니터링 디렉토리에 무언가(파일,디렉토리) 생성됨.DELETE : 모니터링하던 디렉토리에서 파일이 삭제됨.DELETE_SELF : 모니터링 대상이 삭제됨. 모니터링 중단됨.MODIFY : 변경됨MOVED_FROM : 모니터링 디렉토리에서 다른곳으로 이동됨MOVED_TO : 모니터링 디렉토리내로 이동됨.MOVE_..
[안드로이드TV] 개발 전 확인사항 사용자 인터페이스 : 터치 입력이 아닌 리모컨 제어 지원하지 않는 기능의 required 선언 : 에서 TV에서 지원하지 않는 기능이 android:required="true"로 설정되면 스토어에서 앱이 검색되지 않음. 앱이 여러 플랫폼에 대해 범용적으로 사용될 지, TV 플랫폼만 단독으로 사용될 지 필터링 할 수 있음. ex1) 터치 스크린 기능 : TV에서 검색되는 것을 활성화하고, 다른 플랫폼에서도 검색됨. ex2) TV 전용 앱 : TV에서만 검색됨 고정형 장치인 TV의 특징상 사용자 위치를 알수있는 GPS 기능이 제외됨. 따라서, MapView등은 ZIP코드 기반 형태로 변경해야 함. 10-foot UI : 컨트롤, 텍스트 폰트 크기가 모바일 버전보다 커야함. SMS 등 전화통신 전용 기능의 지..
GoogleTV 개발환경 설정 구글TV가 나온지도 꽤 지났는데.. 이제는 구글TV라는 용어는 사라져가고, 안드로이드에 통합되는 모양새다. 스마트 TV(셋탑포함)에서 웹기반 플랫폼과 구글 플랫폼이 혼재되어 있는데, 구글은 기존의 구글TV가 아닌 안드로이드 자체에 구글 TV를 품어 모든 스마트 기기에 안드로이드를 넣고 싶은가 보다. 쩝.. 스마트폰이 아닌 TV 까지 구글에 종속되는게 못 마땅한데, 웹기반 플랫폼이 보다 오픈된 형태로 서비스가 이루어졌으면 한다. 아무튼 세상이 변해가니 맛은 봐야겠고.. 구글 TV 개발환경을 구성해 보기로 했다. 하지만...윈도우에서 잘 안되더라.. -_-;; 에뮬레이터 띄우는 것부터 문제가 발생해버려서 삽질을.. 윈도우즈에서 구글tv 에뮬레이터 구동을 위한 내용을 간단히 정리한다. 우선 기본적인 구글 가이..