# DESKRIPSI UMUM
Kami ingin membuat aplikasi android untuk channel youtube dari satu akun, dimana dalam aplikasi tersebut terdiri dari 4 tab,
Tab HOME, berisi list video yang diurutkan berdasarkan tanggal upload terbaru.
Tab PLAYLIST, berisi playlist yang diurutkan berdasarkan last video added.
Tab FAVORITE, berisi video yang telah ditambahkan ke favorit oleh user diurutkan berdasarkan last added, peyimpanan data favorite boleh menggunakan SQLite atau Realm.
Tab ABOUT, berisi nama aplikasi, versi, dan tombol ke google play.
# SPESIFIKASI TEKNIS
JAVA
Diharapkan penulisan code serapih mungkin
Dalam penamaan variable, class yang benar. Harus mengikuti panduan java : https://www.javatpoint.com/java-naming-conventions
Penamaan harus menggunakan bahasa inggris
STRING
Semua text harus di letakkan di res/values/strings.xml
Penamaan dan text harus menggunakan bahasa inggris
COLOR
Semua value warna harus di letakkan di res/values/colors.xml
Penamaan harus menggunakan bahasa inggris
STYLE & LAYOUT
Style yang boleh digunakan untuk theme utama adalah theme NoActionBar
Theme.AppCompat.Light.NoActionBar
Karena menggunakan theme NoActionBar maka layout toolbar harus terpisah menjadi layout sendiri, kurang lebih seperti ini : https://www.androidhive.info/2015/04/android-getting-started-with-material-design/
Daftar video tidak boleh menggunakan Listview, hanya boleh menggunakan RecyclerView
Sesuai dengan contoh aplikasi Yufid TV daftar video dimunculkan page by page, misalkan pertama hanya muncul video 1-10 ketika discroll sampai bawah akan me-load video 11-20, begitu seterusnya. Skema seperti ini berlaku untuk Playlist, Favorite dan Search
Video bisa diputar mode fullscreen seperti pada aplikasi Yufid TV.
LIBRARY
Untuk API request menggunakan Retrofit :
- http://square.github.io/retrofit/
- com.google.code.gson
Untuk tampilan hanya diperbolehkan menggunakan official dari google
- com.android.support:appcompat-v7
- com.android.support:cardview-v7
- com.android.support:recyclerview-v7
- com.android.support:design
- com.android.support:support-v4
Library untuk image loader menggunakan Glide : https://github.com/bumptech/glide
Jika ada library lain harus konfirmasi terlebih dahulu kepada project owner.
ACTIVITY
Class activity hanya boleh menggunakan extends AppCompatActivity
Class Activity harus bersih dari extends dan implement ke fungsi atau class lain, jadi hanya diperbolehkan extend ke AppCompatActivity seperti ini :
- public class ActivityMain extends AppCompatActivity {