본문 바로가기
Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. -동시 실행 설계 자원의 생성과 해체의 빈도를 감소시키기 위해 항상 새로운 스레드를 만드는 것보다 재사용을 권장한다. 필요 이상으로 스레드를 사용하지 않는다. 사용하는 스레드가 많을수록 더 많은 메모리와 프로세서 시간이 소비된다. -App 관점에서 스레드는 UI, 바인더, 백그라운드 thread 로 3가지 유형이 있다. -바인더 스레드는 IPC 에 사용된다.각 프로세스는 Thread pool 을 유지한다.Thread pool 은 종료되거나 재생성되지 않지만, 프로세스 안에서 다른 스레드.. 2018. 3. 17.
[android] PDF file 읽는 방법 [android] PDF file 읽는 방법 https://commonsware.com/blog/2017/01/04/options-viewing-pdfs.html -ACTION_VIEW action Intent 를 통해 third-party app 으로 권한을 양도 -PdfRenderer 를 써서 직접 구현.https://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html API Level 21 부터 사용할 수 있으나, Bitmap 으로 render 를 시키고, 사용하기가 어렵다.표준을 따른 일부 PDF 들만 rendering 가능하다는 약점이 있다. -pdf.jshttps://mozilla.github.io/pdf.js/ Mozi.. 2018. 3. 16.
[android] 최고의 안드로이드 개발 원칙 [android] 최고의 안드로이드 개발 원칙 https://medium.freecodecamp.com/android-development-best-practices-83c94b027fd3#.fkhdpa3m0cf) 현재 제가 잘 못 하고 있는 것을 빨간 색 마킹 했습니다. ( 결론은 test 군요.. ) -Google 이 추천하는 Android architecture 를 사용하라. -코드 퀄리티를 항상 좋게 유지하라. -Unit test 를 항상 포함하라. JVM 에서 돌 수 있는 Java 코드들은 단말 위에서 테스트하는 것보다 훨씬 빠르다. Android dependency 가 있는 코드들은 Robolectric 을 사용하는 것을 추천한다. Mockito 도 좋다. -Functional UI test .. 2018. 3. 7.
[android] M os Runtime Permission 에 대한 이야기 [android] M os Runtime Permission 에 대한 이야기 https://medium.com/ribot-labs/exploring-the-new-android-permissions-model-ba1d5d6c0610 Permission Group -permission 들이 groupping 이 된다. CalendarCameraMicrophonePhoneContactsLocationSensorsSMSStorage -위의 groupping 된 것들의 child 의 permission 을 얻을 때 group level 로 얻는다. -Calendar READ_CALENDAR WRITE_CALENDAR -Camera CAMERA -Contacts READ_CONTACTS WRITE_CONTACTS.. 2017. 8. 25.
[android] AbstractAccountAuthenticator 에 대해 알아보자. [android] AbstractAccountAuthenticator 에 대해 알아보자. http://developer.android.com/reference/android/accounts/AbstractAccountAuthenticator.html - 계정을 생성하기 위해서는 AbstractAccountAuthenticator 를 구현한 녀석을 가지고 있어야 한다. 또한 android.accounts.AccountAuthenticator action 을 처리하는 Service 도 구현해야 한다. 해당 service 에서는 Authenticator 의 getIBinder() 를 수행한 녀석을 IBinder 로 return 해주어야 한다. - AuthenticationService 는 다음과 같은 inte.. 2017. 7. 6.
[Android] Material Design 개략적으로 알아보기~ Implementing Material Design in Your Android App http://android-developers.blogspot.kr/2014/10/implementing-material-design-in-your.html Material Design 은 Android 5.0 ( Lollipop, LOS ) 부터 등장한 안드로이드의 디자인이다. 전반적인 Animation 에 대한 가이드는 아래 링크를 참조하면 좋다.https://material.io/guidelines/motion/material-motion.html Tangible Surfaces * Shadow 아래와 같이 xml 에서 elevation 을 주면, z axis 로 이동한 효과를 내며, system 에서 dynam.. 2017. 4. 10.
[android] webview 에서 파일 업로드하기 -아래 input type 이 file 인 html 코드는 안드로이드 webview 에서 제대로 작동을 안 한다. 즉 해당 button 을 눌러도 파일 선택 창이 뜨지 않는다는 것. - 이 경우 webview 에 WebChromeClient 를 set 해주면서 필요한 함수를 구현해주면 된다.private static final int RC_FILE_CHOOSE = 2833;private ValueCallback mUploadMsg = null; ...webView.setWebChromeClient(new WebChromeClient() {// ICS 에서도 동작하기 위해서는 아래메소드도 넣어줘야함.public void openFileChooser(ValueCallback uploadFile, String.. 2015. 12. 7.
[android] video recording duration limit setting. android, video recording duration limit setting. From API level 8 ( Froyo ) it works fine. Intent intent = new Intent( MediaStore.ACTION_VIDEO_CAPTURE );intent.putExtra( "android.intent.extra.durationLimit" , 5 ); // max 5 sec recording available. startActivityForResult( intent, 234 ); activity result 의 data 에는 저장된 동영상의 uri 가 전달된다. ACTION_VIDEO_CAPTURE, activity result, Android, android.intent.e.. 2014. 4. 3.
[android] LocalBroadcastManager 이야기. 안드로이드, LocalBroadcastManager 이야기. LocalBroadcastManager 의 장점. - Broadcast message 가 앱을 떠나지 않기 때문에 privacy 걱정이 없다. - 다른 앱에서 보내는 LocalBroadcast 역시 우리 앱으로 들어오지 못해 security 이슈가 없다. - System 에 global broadcast 를 보내는 것보다 훨씬 효율적이다. 관련 API 들. - static LocalBroadcastManager getInstance(Context context) - void registerReceiver(BroadcastReceiver receiver, IntentFilter filter) - boolean sendBroadcast(Intent.. 2013. 12. 23.
반응형