- 깃 허브 Auth에 접근하여 로그인을 한다.
- 검색을 통해 깃허브를 사용하는 유저의 레파지토리 정보를 불러온다.
- Room을 사용하여 원하는 레파지토리를 즐겨찾기로 저장한다.
- GlobalScope
- SignInActivity
- authTokenProvider : 앱 내에 Token을 받아 저장하는 전역 변수
- Dispatchers.Main 사용
- getAccessToken : 깃허브 토큰 받아 오는 함수
- Dispatcher.IO 사용
- authTokenProvider : 앱 내에 Token을 받아 저장하는 전역 변수
- MainActivity
- SetData : githubRepoList 의 정보의 유무에 따라 즐겨찾기 리스트를 리사이클러뷰에 추가시켜준다.
- Dispatchers.Main 사용 -> 화면에 띄울때
- Dispatcher.IO 사용 -> 정보를 불러올때
- SetData : githubRepoList 의 정보의 유무에 따라 즐겨찾기 리스트를 리사이클러뷰에 추가시켜준다.
- SearchActivity
- searchKeyword : String 형의 키워드로 깃 허브에 있는 닉네임을 불러온다.
- Dispatcher.IO 사용
- searchKeyword : String 형의 키워드로 깃 허브에 있는 닉네임을 불러온다.
- RepositoryActivity
- loadRepository : 원하는 레파지토리 정보를 자세히 정보를 불러온다.
- Dispatcher.IO 사용
- loadRepository : 원하는 레파지토리 정보를 자세히 정보를 불러온다.
- 사용자 지정 CoroutineScope
- SignInActivity
- authTokenProvider : 앱 내에 Token을 받아 저장하는 전역 변수
- Dispatchers.Main 사용
- getAccessToken : 깃허브 토큰 받아 오는 함수
- Dispatcher.IO 사용
- authTokenProvider : 앱 내에 Token을 받아 저장하는 전역 변수
- MainActivity
- SetData : githubRepoList 의 정보의 유무에 따라 즐겨찾기 리스트를 리사이클러뷰에 추가시켜준다.
- Dispatchers.Main 사용 -> 화면에 띄울때
- Dispatcher.IO 사용 -> 정보를 불러올때
- SetData : githubRepoList 의 정보의 유무에 따라 즐겨찾기 리스트를 리사이클러뷰에 추가시켜준다.
- SearchActivity
- searchKeyword : String 형의 키워드로 깃 허브에 있는 닉네임을 불러온다.
- Dispatcher.IO 사용
- searchKeyword : String 형의 키워드로 깃 허브에 있는 닉네임을 불러온다.
- RepositoryActivity
- loadRepository : 원하는 레파지토리 정보를 자세히 정보를 불러온다.
- Dispatcher.IO 사용
- loadRepository : 원하는 레파지토리 정보를 자세히 정보를 불러온다.
- SearchActivity에서 사용자가 입력한 Keyword를 String값으로 받아온다.
- RetrofitUtil에 Retrofit으로 지정해놓은 GITHUB_API_URL의 serch정보 주소값을 Get해 온다.
- 해당 정보를 List 으로 공정하여 데이터를 저장한다.
- 해당 데이터를 Recyclerview에 띄워준다.
- 원하는 데이터의 item을 클릭시 해당 item의 정보를 RepositoryActivity넘겨준다.
- 데이터를 알맞는 곳에 저장해준다.
- RepositoryActivity에서 즐겨찾기 클릭한다.
- Room이름을 "github_repository_app.db"으로 저장한다.
- 저장의 방식은 SearchHistoryDao 에 getRepository 의 Query문의 형식으로 저장한다.
- MainActivity에서 insertAll SearchHistoryDao 에 getRepository 의 Query문으로 현재 Room에 저장되어있는 데이터를 전부 가져온다.
- Basic
- Cancellation and Timeouts
- Composing Suspending Functions
- Coroutines under ths hood
- Coroutine Context and Dispatchers 본 예제에 대한 기록은 코루틴 튜토리얼 에 있습니다.
코루틴을 공부하기 위해 여러 예제를 보았지만 정확한 이해가 되지 않았다.
그래서 인터넷도 찾아보고 나름의 정리를 하였지만 아직까지 스스로 짜는것은 조금 어려울거같긴한다.