Android

백그라운드 처리 – 모던 안드로이드 (오준석의 생존코딩)

  모던 안드로이드 #16 [백그라운드 처리]   https://www.youtube.com/watch?v=ZqhrZ8_3jlg&list=PLxTmPHxRH3VXHOBnaGQcbSGslbAjr8obc&index=17   상황별 백그라운드 처리를 위한 API는? 예제를 위한 뼈대 만들기 AsyncTask를 대신할 Java 비동기 처리 솔루션 LiveData 연동하여 UI 유지하기 JobIntentService WorkManager WorkManager + ViewModel로 UI 동기화        1. 상황별 백그라운드 처리를 위한 API는?     모던 안드로이드 백그라운드 작업   Service 1. 오래 걸리는 처리 2. 백그라운드 작업시 사용 3. 기본적으로 UI Thread이며, 별도의 스레드 처리 // UI Thread 라서 UI에 영향을 줌 4. 다른 컴포넌트에 bind 할 수 있음 5. startService()로 시작, stopService()로 종료 6. 서비스 내에서 stopSelf()로…

Read More
Android

Navigation – 모던 안드로이드 (오준석의 생존코딩)

Navigation – 모던 안드로이드 (오준석의 생존코딩)   https://www.youtube.com/watch?v=MHRt52NNzh0&list=PLxTmPHxRH3VXHOBnaGQcbSGslbAjr8obc&index=11     1. MainFragment 생성 (버튼 한개 생성) 2. SecondFragment 생성 (텍스트뷰 한개 생성) 3. res 폴더에서 navigation Directory 생성 (Resource type : navigation) 4. navigation 폴더에서 Navigation Resource File 생성 (파일명 : nav_graph.xml) 5. + 메뉴를 클릭하고 MainFragment 와 SecondFragment 를 화면에 배치 6. MainFragment 에서 SecondFragment 로 화살표로 이어줌 (액션 추가) 7. MainActivity 레이아웃에서 NavHostFragment 추가 8. MainFragment 에 있는 버튼을 눌렀을 때 SecondFragment 로 이동하기   @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); view.findViewById(R.id.button).setOnClickListener(new…

Read More
라즈베리파이

라즈베리파이 네트워크 프린터 추가

    https://blog.naver.com/PostView.nhn?blogId=renucs&logNo=221337532824   https://woody2097.tistory.com/entry/EPSON-L380-라즈베리파이로-네트워크-프린터로-만들기   https://www.nemonein.xyz/2019/07/2293/     1. cups 설치 sudo apt install cups   2. cups 설정 파일 수정 sudo vi /etc/cups/cupsd.conf   3. cups 네트워크 설정 sudo usermod -a -G lpadmin pi sudo cupsctl –remote-any // 마이너스 두개(- -)remote-any   4. cups 재시작 sudo service cups restart   5. samba 설치 sudo apt install samba   6. 삼바 설정 sudo nano /etc/samba/smb.conf   guest ok = no 를 yes 변경, read only = yes 를 no 로 변경   [printers] comment = All Printers browseable =…

Read More
Android

Navigation (android developers)

    https://developer.android.com/guide/navigation/navigation-getting-started#java   Overview Get started with the Navigation component Design navigation graphs Nested navigation graphs Global actions Navigate to a destination Conditional navigation      1. Overview # Navigation component 다음 세가지로 구성됨 Navigation graph: 내비게이션 관련 정보들이 들어있는 XML 리소스 NavHost: 빈 컨테이너 (destination 을 표시), NavHostFragment NavController: destination 교체 담당         2. Get started with the Navigation component     Create a navigation graph   1. res 디렉토리에서 New > Android Resource File 2. 파일이름 : nav_graph 3. 리소스 타입 : Navigation  …

Read More
Android

WorkManager (android developers)

  WorkManager   https://developer.android.com/topic/libraries/architecture/workmanager#java   Overview Getting started How-To Guides : Define work requests How-To Guides : Work States How-To Guides : Managing work How-To Guides : Observing intermediate Worker progress How-To Guides : Chaining Work Threading in Worker Support for long-running workers       Schedule tasks with WorkManager   WorkManager는 지연 가능한 비동기 작업을 쉽게 예약할 수 있는 API로, 앱이 종료되거나 기기가 다시 시작되더라도 실행될 수 있습니다. WorkManager API는 FirebaseJobDispatcher, GcmNetworkManager, JobScheduler를 비롯하여 모든 이전 Android 백그라운드 예약 API를 대체할 수 있는 적합하고 권장되는 API입니다. WorkManager는 API 수준…

Read More
Android

ViewModel (android developers)

  ViewModel Overview   https://developer.android.com/topic/libraries/architecture/viewmodel#java       ViewModel 클래스는 수명 주기를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었습니다. ViewModel 클래스를 사용하면 화면 회전과 같이 구성을 변경할 때도 데이터를 유지할 수 있습니다.   Android 프레임워크는 activity및 fragment 같은 UI 컨트롤러의 수명 주기를 관리합니다. 시스템에서 UI 컨트롤러를 제거하거나 다시 만들면 컨트롤러에 저장된 일시적인 모든 UI 관련 데이터가 손실됩니다. 예를 들어 앱은 activity 중 하나에 사용자 목록을 포함할 수 있습니다. 화면 회전때문에 activity 가 다시 생성되면 새 activity 는 사용자 목록을 다시 가져와야 합니다. 데이터가 단순한 경우 활동은 onSaveInstanceState() 메서드를 사용하여 onCreate()의…

Read More
Android

LiveData (android developers)

    LiveData Overview   https://developer.android.com/topic/libraries/architecture/livedata     LiveData 는 관찰 가능한 데이터 홀더 클래스입니다. 일반적인 observable 와 다르게 LiveData 는 수명 주기를 인식합니다. 즉, 액티비티, 프래그먼트, 서비스와 같은 다른 앱 컴퍼넌트들의 수명주기를 고려합니다. 이러한 수명 주기 인식을 통해 LiveData는 active 수명주기 상태에 있는 앱 컴퍼넌트 observer 만을 업데이트합니다.   LIveData 는 수명주기가 STARTED 또는 RESUMED 상태일 때 observer (Observer class) 를 active 상태로 파악합니다. LiveData 는 active 상태인 observer 에게만 업데이트를 알립니다.     Work with LiveData objects   1. 특정 데이터를 담은 LiveData 객체를 생성합니다. 보통 ViewModel 클래스에…

Read More
[유튜브] 구슬쌤

freak, freak out

    미드에 지겹도록 나오는 표현 freak, freak out 네이티브처럼 쓰기   https://www.youtube.com/watch?v=j6c1EDz-SCc&list=PLR7-VNIJm0KIJD1zFPeTXcwf3lMZiWWN4&index=4     freak: 괴짜/괴물 freak out: 깜짝 놀라다   freak: 괴짜/괴물 ~에 광적으로 관심이 많은 사람   앞에 뭔가를 달고 많이 쓰임 heal freak neat freak control freak   Neat freak (유난히 깔끔떠는 사람) // 정리 정돈 잘하고 정말 깔끔한 사람 // 이렇게 짜증낼 때도 쓰임. Stop being such a neat freak 그렇게 깔끔 떨지좀 마!   health freak (유난히 건강 챙기는 사람) // 몸에 좋다고 하면 맛 없어도 이것저것 챙겨 먹는 사람 예문 Lexi, this is…

Read More
[유튜브] 홍글리쉬TV

생활영어표현

    생각보다 쉬운 영어회화! 홍글리쉬TV https://www.youtube.com/watch?v=5ftqCKcpkDw&list=PLknUUfzESsXFcKbm95MoCst3iFz5TjIgH       끝까지 싸우다   fight to the bitter end   나는 끝까지 싸울 것이야 I’ll fight to the bitter end.   이판사판이야. 난 끝까지 싸울거야 It’s a case of kill or cure.      

Read More