- Анастасия Жукова
- Илья Ткачев
- Владимир Васильков
- Дмитрий Шнипко
- Дмитрий Трохимик
- Дмитрий Лакисов
- Евгений Слиж
- Александр Вишневский
- Юлия Журун
- Лали Гулбани
- Виктор Кравчик
- Ян Выдра
#!Защита проектов 15 января! (11 января занятия не будет)
#!4 января будет проводить лекцию Вова Клышевич - попробую поревьювать ваши проекты перед сдачей!
If you have lessons at the university at same time with training and would like officially skip them on Monday, Thursday (18-21p.m.), please contact [email protected]
Project for android training Some changes
Project requirements:
- Server App(for example)
- Work with API (json, xml) example vk, facebook
- Cache (DB)
- View - hard example vk/facebook news feed
- Threading
- ImageLoader - no libraries! + File Cache + Memory Cache + Threadings
- Flavors
#Queue for 21.12.2017
- Pasha Kalinin
- Evgeni Slizh
- Lali
#Review 18.12.2017 VasiliZ/RocketWheels - https://github.com/VasiliZ/RocketWheels/commit/13af4fe8ab1f395a8b7cc34be6b12f1bafd85d19 alexvishneuski/VCBestClient - https://github.com/alexvishneuski/VCBestClient/commit/a514f3c5ed59661f3153916326e65184a30ebf6d
Link to common issues comment #154 (comment)
#Review
Kiolk: https://github.com/Kiolk/BullsAndCows/compare/review?expand=1 Spaiker-grn: https://github.com/spaiker-grn/vk/commit/218269f5a384a0619b8b77a9aaf3ea546740284c
How to see database. http://facebook.github.io/stetho/ https://github.com/amitshekhariitbhu/Android-Debug-Database #HW
- Create database with few tables.
- Put model to database.
- Put model with related model to database.
- Select data from database and convert to model.
#HW: 14.12.2017 - deadline (25.12.2017 23.59) Buy laptop and take to next class
#HW: 23.11.2017 - deadline (13.12.2017 23.59)
Write own image loader (mem+file cache, configuration, request configuration etc.).
#HW: 20.11.2017 - deadline (30.11.2017 23.59)
-
RecyclerView (use GridLayoutManager, LinearLayoutManager) + (notify data set changed)+ ((optional) ItemDecoration)
-
Try to use GridView + ListView + Spinner + ViewPager
-
Pagination (RecyclerView)
4.*(optional) Drap and Drop or Swipe to Remove
#HW: 09.11.2017 - deadline (19.11.2017 23.59)
- Implement threading in your own project (ex. load data feed)
or
Create screen with text label and 3 buttons (Thread, AsyncTask, ExecutorService) and update label with value returned appropriate background worker.
#HW: 30.10.2017 - deadline (10.11.2017 23.59)
-
Layout your own 2 screens or Tweeter or Instagram main page
-
Attach screenshots to project README
#HW: 23.10.2017 - deadline (01.11.2017 23.59)
-
Create two fragments and interact between their using "Show" "Hide" method in FragmentTransaction
-
Start activity using Intent flags(Example authorization for lunchMode)
-
Create IntentService and send some data from BroadcastReceiver in activity
4.*(optional) Try create authorization for your future application(only UI)
#Reviewed Android studio tools: Project Structure TODO Debug Android Monitor logcat layout inspecter screen capture memory monitors memory dump cpu monitor network monitor method profiler (Tools->Android->Android device monitor) Terminal
Lint (Analyze->Inspect code...)
Reviewed Android tools: Layout bounds Strict mode Don't keep activities GPU Overdraw
https://developer.android.com/guide/topics/resources/providing-resources.html hotkey promoter plugin - https://plugins.jetbrains.com/plugin/4455-key-promoter Note. That lesson without homework
#HW: 16.10.2017 - deadline (25 Oct. Sunday 23.59)
- create merge request to fix tests in training project
- to create example with Mockito @Captor (ArgumentCaptor<Callback>)
- doReturn example for mockito
- create backend that will return config JSON with following information: current_app_version(1,2,3...) compare with BuildConfig.VERSION_CODE, force_update(true - show dialog to upgrade without option to close, false - show dialog that update available with option to close)
- create separate backends for debug and release version
- create Google Play flavor and Amazon flavor
- separate config for Google Play and for Amazon
#HW: 12.10.2017 - deadline (18 Oct. Sunday 23.59)
-
Create and deploy backend module to the Google App Engine
-
Save and get some information from your API through app and html page(for example: you can set two numbers, do some operation on backend, and return result )
-
(For reading)*
GCM(https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/GcmEndpoints)
Servlet(you can create the same backend module using servlet https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/HelloWorld)
Firebase(https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio)
NOTE: Please when you create new issue with homework please provide link on compare ( you need add /compare to your main git link f.e. https://github.com/IstiN/android-training-2017/compare ) and do choice two commits.
#HW: 09.10.2017 - deadline (15 Oct. Sunday 23.59)
- create interface for HttpClient and mock it
- prepare responses with jsonObject and jsonArray
- parse responses over JSONObject/JSONArray
- parse responses over GSON
- convert time from'registered' field to friendly value over GSON Type adapter. For example 1507582371121 to 09 Oct 2017, 20:52:51. If your response don't contain UNIX time, you can convert any other field
cover parsing by test
sample json file added to project (generated.json)
#HW: 05.10.2017 - deadline (11 Oct. Wednesday 23.59)
- setup roboelectric, mockito
- develop some business logic (for example calculator or part of logic from your future project)
- cover it by unitTest(mockito, robolectric) and instrumentationTest (espresso). HW should contain examples of mock, spy, activityLifecycleMock with robolectric.
#HW: 02.10.2017 - deadline (8 Oct. Sunday 23.59)
- Create project (github || bitbucket), soursetree
- Push Android Project to master in repo (.gitignore)
- Create 'feature_1', 'feature_n' branches
- Push all branches to remote
- Emulate conflict in a few files
- Merge conflict to master
- Chery Pick
- Rebase
- Stash
- Tags
- Submodules
links:
https://habrahabr.ru/post/106912/
#old one