본문 바로가기

안드로이드

(31)
Elevation 안드로이드 XML 에 elevation 속성을 이용하면 그림자 효과를 넣을수 있다. 그림자효과를 넣으려면 조건이 필요한데, 1. Background는 불투명해야함 2. 부모 레이아웃과 자식레이아웃간에 그림자를 그릴 공간이있어야한다. maring값을 줘볼것! 3. 레이아웃을 그리는 Window View 크기를 직접 지정한다면, 그 크기도 충분한지 확인할것 +Background 에 값이 직접 만든 drawble을 넣은 경우라면(Drawable에 Solid와 Stroke가 포함되어있을경우) 그림자가 안생기는 경우가 있는데, 그럴땐 Solid와 Stroke의 투명도가 일치하는지 확인해볼것 투명도가 다를 경우, elevation이 안먹힘, 왜인지는 모르겠음(하루종일 고생한 나야나)
window https://jungwoon.github.io/android/2019/10/02/How-to-draw-View.html
onCreate()에서 finish경우 빈화면 https://stackoverflow.com/questions/31817937/activity-layout-blinking-after-finish-is-called Activity layout blinking after finish() is called When I open my app, an Activity is started, and inside its onCreate method I'm checking some conditions. If the condition is true, I finish my current Activity and open another one. The problem is:... stackoverflow.com oncreate는 사용자에게 뷰가 보여주는 시점이 아닌데 왜 보일..
SurfaceView 개념 anroid.View.view android.view.surfaceView 로 view를 상속받고있다 -그래픽 처리가 빠른 View -일반적인 경우에는 view를 통해서 draw()를 그리는것과 별 차이가 없다. 그럼 왜 필요하냐? 안드로이드의 모든 View의 모든행위들은 UI쓰레드에서 동작한다. 하지만, camerapreview나 동영상 재생같은 처리들은 1초에 몇십프레임을 출력해야하는 무거운 작업들이고, AndroidUI혼자 감당하기에는 자원이 부족하여 ANR을 발생하게된다. Surfaceview는 UI쓰레드와 별도로 백그라운드 쓰레드에서 동작하여 사용자가 원하는 뷰를 원할하게 업데이트를 해주고, 가속성이 좋다. - 일반 view는 ondraw()메소드를 시스템에서 자동으로 호출해줌으로써 화면을..
안드로이드 Mainthread 와 subthread 하나의 쓰레드안에 하나의 메인 앱 패키지가 돌아가고있음 ( 메인쓰레드가 앱 패키지를 감싸고있다고 생각) 앱 패키지안(여러 클래스들이 있겠지)에서 유아이 업데이트 는 메인쓰레드에서 결국 호출하는것이므로 괜찮음 앱패키지에서 서비스는 백그라운드에서 돌고, 서비스에서 UI 업데이트가 필요할시에 서비스도 결국엔 메인에서 호출하는거니깐, 메인쓰레드를 이용하여 업데이트를 하고 있습니다.(핸들러가 딱히 불필요하다 이말임!) 근데 만약에 앱 패키지 안에 어떤 클래스의 콜백에서 UI를 업데이트 하려고한다? 답은 안됨. 콜백의 쓰레드는 sub 쓰레드로 메인쓰레드가 아니니깐 오류가 남, UI의 업데이트같은 경우에는 항상 메인쓰레드에서 호출되어야하며, sub 쓰레드에서 메인쓰레드에 전달하려면 핸들러를 이용해야함 또 뭔가 순서가..
뷰의 터치이벤트 관리 https://readystory.tistory.com/185 [Android] 안드로이드의 Touch Event 는 어떻게 전달 될까? (with. Touch Intercept) 사용자와의 상호작용(Interaction)을 처리하는 것은 모바일 프로그래밍에서 굉장히 중요합니다. 안드로이드 애플리케이션은 기본적으로 Activity를 통해 화면을 구성하며, 사용자는 화면을 터치함으 readystory.tistory.com https://velog.io/@hanna2100/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%ED%84%B0%EC%B9%98-%EC%9D%B4%EB%B2%A4%ED%8A%B8%EC%9D%98-%ED%9D%90%EB%A6%84
KeyEvent https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=yyg1368&logNo=60121188283 Event 처리 과정 안드로이드 기본 입력 Device class 안드로이드에서 사용되는 기본 입력 장치 Device는 아래와 같이 clas... blog.naver.com https://csjung.tistory.com/142 Android에서 Home Key와 Power(Endcall) Key를 onKeyDown, onKeyUp으로 인식 할 수 없는 이유. Android 에서 key, touch, trackball 같은 event의 경우에는 WindowManagerService라는 서비스에서 Event Dispatch에 의해서 관리가 ..
GattSever https://jung-max.github.io/2019/09/09/Android-BLE-Gatt%EC%84%9C%EB%B2%84-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/ Gatt Server 사용하기 장치가 주변 장치로 작동하려면 먼저 BluetoothGattServer를 열고 하나 이상의 BluetoothGattService 및 하나의 BluetoothGattCharacteristic로 채워야합니다. 123BluetoothGattServer server=bluetoothManager.openGattServer(context, bl jung-max.github.io 장치가 주변장치로 작동하려면 blutoothGattserver를 열고 하나이상의 BluetoothGattServ..