Skip to content

Instantly share code, notes, and snippets.

@karl-park
Created June 1, 2020 03:40
Show Gist options
  • Save karl-park/7ae1a08ac6ca7a5fbfe40635e6829cb1 to your computer and use it in GitHub Desktop.
Save karl-park/7ae1a08ac6ca7a5fbfe40635e6829cb1 to your computer and use it in GitHub Desktop.
Welcome file
<title>Welcome file</title>

99co Android Internship Program

In this post, we are going to talk about the internship schedule.

Before starting to look down, I just want to say a quote.

“You cannot teach a man anything, you can only help him find it within himself.”
<Galileo>

Before start

  • Install the Android Studio 4.0
    • v3.x is also okay, but v4.0 is much powerful.
  • Install the SourceTree
    • Git client program.
    • You can use other git client program. but we use the Gitflow feature in the SourceTree, so if you handle the Gitflow feature using the other git client program, you can just use that.
  • Install the Zeplin
    • Collaboration tool, built for UI designers and frontend/mobile developers.

Schedule

Every day morning, we will talk about the day schedule what you have to do today,
and the end of day, we will talk about daily assignment you’ve done, and things you’ve learned. Don’t be hesitated to ask something you don’t know.

# of Week Title Contents Daily Assignment
1 Android Basic 101

Day 2, 3
- Learn Android Lifecycle
- Learn Android Components
- Lesson 1: Build your first app
- Lesson 2: Layouts
- Lesson 3: Navigation
- Lesson 4: Activity and fragment lifecycles
Android Basic 102

Day 4, 5
- Learn Android Architecture (MVVM)
- Learn Android Libraries(RxJava, Retrofit)
- Learn Android Architecture Component(AAC)
- Lesson 5: Architecture components
- Lesson 6: Room database and coroutines
- Lesson 7: RecyclerView
- Lesson 8: Connecting to the internet
- Lesson 9: Repository
2 Android Advanced - Android Libraries/Topics TBD
How to work w/ other devs

Day5
- Github PR, branch strategy TBD
3 Android Assignment - Solve the problem, and build your own App - Github Trending Repository
4 Time to work - Review the assignment
- Familiarizing with the project code

What You Need to learn

  • Understand Android Lifecycle
  • Understand Android Components
    • Activity, Service, Broadcast receiver, Content providers
    • Fragment
  • Understand Android Architecture
    • MVVM, MVC, MVP
  • Understand Android Architecture Component(AAC)
    • Room persistence, LiveData, ViewModel
  • Understand How to test Android
    • Unit Test (JUnit4, Robolectric)
    • Instrumented Test(Device)
  • Understand Design Patterns
    • Singleton, Observer, Factory method, Builder, Strategy
  • Understand Asynchronous Programming
    • Thread, Handler, Looper, Message Queue
  • How to use Version Control System(VCS)
  • Understand Reactive Programming
    • Functional Programming

Bookmark it

3rd Party Libraries We (Will) Use

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment