Android

안드로이드 5기 2017년 강의 정리 3 (오준석의 생존코딩)

  https://www.youtube.com/watch?v=qCyHkVRZnXo&list=PLxTmPHxRH3VWSF7kMcsIaTglWUJZpWeQ9&index=56 https://github.com/suwonsmartapp/MyFirstAndroidApp5ki MyFirstAndroidApp5ki-master.zip   19일차, 20일차, 24일차, 28일차 메모장, 데이터베이스, Toolbar SearchView, RecyclerView 21일차 갤러리, Glide 22일차 23일차 스레드, AsyncTask, ProgressDialog 24일차 Socket프로그래밍 25일차 채팅 수정 26일차 카톡 짝퉁 26일차 RecyclerView     19일차, 20일차, 24일차, 28일차 메모장, 데이터베이스, Toolbar SearchView, RecyclerView   # SQLite를 사용하여 데이터 저장 (android developers) https://developer.android.com/training/data-storage/sqlite#java   # SQL Tutorial (w3schools.com) https://www.w3schools.com/sql/   # MemoActivity.java https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/java/com/example/myapplication/activities/MemoActivity.java # MemoContract.java https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/java/com/example/myapplication/db/MemoContract.java # MemoDbHelper.java https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/java/com/example/myapplication/db/MemoDbHelper.java # MemoFacade.java https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/java/com/example/myapplication/db/MemoFacade.java     schema (구조)   SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID WHERE Customers.CustomerName…

Read More
Android

안드로이드 5기 2017년 강의 정리 2 (오준석의 생존코딩)

https://www.youtube.com/watch?v=MjtlPTUUL74&list=PLxTmPHxRH3VWSF7kMcsIaTglWUJZpWeQ9&index=1 https://github.com/suwonsmartapp/MyFirstAndroidApp5ki MyFirstAndroidApp5ki-master.zip   11일차 메모앱 AlertDialog, Custom Dialog, ContextMenu 11일차 은행앱 연습문제 12일차, 13일차 LifeCycle, 12일차 레이아웃 분기, SharedPreference, ADB 14일차 프래그먼트 14일차 프래그먼트 연습문제 15일차 Callback 16일차 ViewPager, TabLayout 16일차 ViewPager TabLayout 연습문제 풀이 16일차 프래그먼트 생성 패턴 17일차 API 날씨 API 17일차 Geo IP API 18일차 네이버API 실패 18일차 네이버 파파고 API   11일차 메모앱 AlertDialog, Custom Dialog, ContextMenu   # MemoActivity.java https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/java/com/example/myapplication/activities/MemoActivity.java # MemoAdapter.java https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/java/com/example/myapplication/adapters/MemoAdapter.java # activity_memo.xml https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/res/layout/activity_memo.xml # dialog_login.xml https://github.com/suwonsmartapp/MyFirstAndroidApp5ki/blob/master/app/src/main/res/layout/dialog_login.xml     # AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(“확인”); builder.setMessage(“정말 삭제하시겠습니까”); builder.setIcon(R.mipmap.ic_launcher); // 긍정…

Read More
Android

안드로이드 5기 2017년 강의 정리 1 (오준석의 생존코딩)

    https://www.youtube.com/watch?v=MjtlPTUUL74&list=PLxTmPHxRH3VWSF7kMcsIaTglWUJZpWeQ9&index=1 https://github.com/suwonsmartapp/MyFirstAndroidApp5ki MyFirstAndroidApp5ki-master   1일차 2일차 RelativeLayout 3일차 커피앱 코딩 5일차 액티비티끼리 데이터 주고 받기 6일차 암시적 인텐트와 인텐트 필터 7일차 옵션 메뉴 8일차 WebView 9일차 ArrayAdapter, SimpleAdapter 10일차 BaseAdapter      1. 1일차   textSize 는 sp 를 써라 (시스템에서 textSize 변경시 같이 변경됨) 길이는 dp 를 써라. ImageView 의 scaleType 은 centerCrop 권장 리소스 파일 이름은 숫자로 시작하면 안되고 소문자로만 구성해야한다. drawable 폴더는 메모리를 더 사용하므로 drawable-hdpi 폴더를 만들어서 사용하라.   # LinearLayout 에서 가중치(weight) 주기 가중치를 줄 속성에 0dp 에 준다. LinearLayout 에 android:weightSum=”5″ 를…

Read More
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
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