Nox: Bermain Game Android Di Komputer

layar utama Nox

Artikel kali ini akan membahas mengenai Nox, salah satu emulator terbaru berbasis Android. Seperti emulator-emulator android lainnya, Nox memungkinkan kita menjalankan aplikasi android di komputer kita. Nox dibuat oleh sekumpulan programmer dari Hong Kong. Mereka bertujuan membuat software App player terbaik yang disukai oleh pengguna mobile App dan game di seluruh dunia.

Mengapa Menggunakan Nox?

Menurut pengalaman penulis, Nox berbeda dengan emulator-emulator android yang lain. Penulis sudah pernah mencoba beberapa emulator android. Misalnya emulator AVD bawaan Eclipse, emulator AVD bawaan Android Studio, emulator BlueStacks, dan emulator Genymotion. Dari pengalaman penulis, Nox adalah emulator yang cara installnya paling simpel, paling hemat RAM, dan yang paling penting menurut penulis adalah terasa paling ringan ketika dipakai. Ini membuat Nox sangat ideal untuk bermain game-game jaman now yang lumayan berat 😀

Cara menginstall Nox

Cara install Nox cukup mudah. Kita tinggal download di https://id.bignox.com/ , kemudian tekan tombol Unduh.

Unduh Emulator Nox

Penulis menggunakan laptop dengan OS Windows 10. Nox tersedia untuk OS Windows & Mac. Seharusnya proses instalasinya tidak jauh beda, antara di Windows dan di Mac. Setelah selesai mengunduh, jalankan file instalasinya. Penulis mendapat versi 6.0.2.0, yang dirilis tanggal 10 Januari 2018. Besar filenya 290 MB.

Kalau file instalasinya dijalankan, akan muncul jendela instalasi seperti ini. Kita tinggal mengklik tombol “Install” di tengah.

menginstall nox

Kemudian tunggu proses instalasinya sampai selesai. Penulis hanya menunggu kurang dari 1 menit, memakai laptop prosesor i7 & RAM 12GB.

Proses Instalasi Nox

Setelah proses instalasinya selesai, kita tinggal mengklik tombol Start untuk mulai menjalankan emulatornya. Jadi kita hanya perlu mengklik 2 tombol untuk menginstall & menjalankan Nox. Sangat efisien, bukan? He3..

Menjalankan Nox

Setelah mengklik tombol Start, ada proses untuk memulai emulatornya. Ini juga hanya berlangsung beberapa detik.

Nox mulai berjalan



Tutorial Penggunaan Nox

Kemudian ada 5 layar untuk tutorial penggunaannya. Tutorial ini hanya akan muncul ketika kita pertama kali menjalankan Nox. Berikut ini layar tutorial Nox yang pertama, menjelaskan fitur2 dasar Nox: Mengubah tema, mengelola resolusi tampilan, performa & shortcuts, mengakses fungsi getar, lokasi virtual dsb, shortcut layar rekomendasi app & game dan terakhir tombol-tombol utama yaitu Back, Home dan Recent tasks. Kita bisa mengklik bulatan ikon panah di kanan tengah untuk ke layar tutorial berikutnya.

tutorial pertama nox

Tutorial berikutnya menjelaskan fitur kontrol keyboard & mapping. Kita bisa memakai fitur ini untuk menggerakkan karakter2 ketika kita bermain game. Klik lagi bulatan di kanan untuk lanjut.

layar tutorial kedua nox

Layar tutorial ketiga menjelaskan fitur drag-drop file. Kita bisa menekan sambil menggeser file dari komputer ke jendela nox untuk membuat salinan file tersebut di nox.

layar tutorial ketiga nox

Layar tutorial ke-4 menjelaskan cara-cara instalasi aplikasi di emulator Nox. ada 3 cara. drag-drop apk nya, install dari google playstore, dan terakhir cari kemudian pilih file apk dari komputer.

layar tutorial nox ke-4

Tutorial terakhir menunjukkan banyak fitur Nox yang bisa kita akses cuma dengan mengklik ikon2 kecil di sebelah kanan. Fitur2 ini diantaranya adalah pengaturan lokasi virtual, fitur untuk merekam layar, mengambil screenshot, merotasi layar dan masih banyak lagi. Kemudian kita bisa mengklik tombol “Got It!” di bagian kanan bawah untuk mulai menggunakan Nox.

layar tutorial terakhir Nox

Akhirnya layar utama Nox muncul. Kita bisa memakai Nox untuk bermain game, menguji coba APK (untuk yang mengembangkan aplikasi android), bahkan selfie karena Nox bisa mengambil foto dengan memanfaatkan webcam di komputer / laptop kita, dengan aplikasi kamera di Nox.

layar utama Nox

Kesimpulan Mengenai Nox

Setelah memakai Nox selama beberapa hari, kesimpulan penulis mengenai emulator Nox adalah:
1. Nox lebih ringan jalannya dibandingkan emulator2 android lain yang ada saat ini.

2. Cara install Nox lumayan simpel.

3. Nox cocok untuk bermain game android di komputer

4. Satu-satunya kelemahan Nox menurut penulis adalah versi terbaru saat ini (ketika artikel ini ditulis), Nox masih hanya support OS Android Kitkat 4.4.2.

Demikian artikel pintar-android.com mengenai Nox. Anda bisa mengakses artikel-artikel lainnya di http://pintar-android.com/wordpress. Apakah Anda belum / sudah menggunakan Nox? Jika sudah, Anda bisa menulis pendapat di kolom komentar di bawah ini 🙂

Review Xiaomi Redmi 5A Beli Di Lazada

Artikel kali ini akan membahas review mengenai Xiaomi Redmi 5A. Tapi sebelumnya, penulis akan menceritakan dari awal, yaitu pemesanannya lewat flashsale Lazada.

Pesan di Lazada pas FlashSale

Sebagai penggemar produk2 Xiaomi (terutama yang murah2 he3..), penulis tidak ketinggalan dengan flashsale Redmi 5A di Lazada. Sampai artikel ini ditulis, Flashsale Redmi 5A sudah dilakukan 2x oleh Lazada, yaitu tanggal 28 Desember 2017 dan 3 Januari 2018, masing2nya jam 11 pagi. Penulis tidak sempat ikut yang flashsale pertama tanggal 28 Desember, karena sibuk dengan anak & kerjaan yg menumpuk. Akhirnya supaya tidak kelewatan lagi, penulis menginstall aplikasi Lazada di hape, & mengisi email di laman https://www.lazada.co.id/redmi-5a-launch/ supaya dikirimi kabar oleh Lazada jika ada flashsale lagi.
Tanggal 3 Januari jam 10 pagi, penulis dapat notifikasi di aplikasi android Lazada. Lazada juga mengirimkan email ke penulis. Flashsale-nya jam 11. Tapi penulis iseng2 membuka halaman Redmi 5A di Lazada. Setelah refresh halaman beberapa kali, ternyata tombol “BELI” sudah aktif jam 10.59 pagi. 1 menit sebelum flashsale. Penulis merasa sangat beruntung he3..
Setelah memencet “BELI”, penulis memencet halaman pembayaran, lalu memilih COD.

Setelah itu perjuangan sebenarnya baru dimulai. Penulis memencet tombol “PESAN”, dan setelah ada dialog loading, ternyata halaman berubah menjadi halaman info kalau website Lazada sedang down. Penulis tidak menyerah. coba lagi beberapa kali, sempat juga coba di hape. Untungnya sistem Lazada sudah memasukkan barangnya ke troli, dan setelah kurang lebih 19 menit menegangkan (halah :D) akhirnya Lazada menerima pesanan penulis.

Besoknya, sekitar jam 13.30, tanggal 4 Januari kurir sampai di rumah penulis. Kalimat pertama dari si kurir: “Kok bisa dapat, mas?”. Wkwkwk.. penulis serasa jadi hacker profesional. Ya saya jawab aja sedikit curi start, lalu ga nyerah sampai dapat hapenya. Kurir cerita bagaimana flashsale ini diborong oleh para penjual hape di BEC (pusat elektronik di Bandung) dengan memakai cheat & hack. Ya syukurlah penulis masih bisa dapat.. Kalau sudah jodoh memang ngga kemana. He3..

Unboxing Xiaomi Redmi 5A

Penampakan video ketika hape diterima penulis:



Setelah dibuka, ini isinya.

Box Xiaomi Redmi 5A dari Lazada

tampak samping Xiaomi Redmi 5A

box xiaomi redmi 5A tampak samping

ini tampak atas

box xiaomi redmi 5A tampak atas

tampak bawahnya:

box xiaomi redmi 5A tampak bawah

Box nya dibungkus plastik tipis transparan. setelah membuka plastik tipisnya, kotaknya bisa dibuka. Penampakannya seperti ini.

unboxing redmi 5A

Isi lengkapnya seperti ini.

Paket Xiaomi Redmi 5A dari Flashsale Lazada

Seperti bisa dilihat di atas, dari kiri atas ke kanan bawah: Lembaran manual / cara pengoperasian, kartu garansi, box (dan pembuka slot SIM Card – Memori Card), kartu IM3, kabel USB, colokan USB, dan tutup box. Yang paling menyita perhatian saya adalah: tidak ada headphone / headset. Ya.. gimana lagi. Harga cuma 1jt he3.. kartu SIM IM3 sudah ada di dalam hape ketika box nya dibuka.

Review Xiaomi Redmi 5A

Setelah itu, saya coba colokkan hape ke listrik buat di-charge. Ternyata daya nya masih 68%. Ini penampakannya ketika saya charge pertama kali. Kira2 1 menit, udah jadi 69%. Padahal dari yang saya baca2 di sumber lain di internet, Redmi 5A tidak mendukung fitur Fast Charging.

Xiaomi Redmi 5A di-charge pertama kali

Redmi 5A di-charge pertama kali

Bagian belakang hapenya seperti ini. Ada warning (peringatan) supaya tidak membuka perangkat hape, dan ada stiker IMEI serta SN yg menempel. Jangan lupa, cepat2 lindungi stiker ini dengan selotip supaya tulisannya tidak rusak. Kalau tulisan stiker IMEI / SN rusak, bisa repot ngurus garansinya.

Tampak belakang Xiaomi Redmi 5A dari Flashsale Lazada

Sambil dicharging, saya nyalakan hapenya. Tombol powernya ada di kanan hape kalau kita lihat hape dari depan. Ini layar pertama yang tampil:

Layar pertama yang tampil ketika hape pertama kali dinyalakan. Xiaomi Redmi 5A

Xiaomi Redmi 5A memang sudah disupport MIUI 9, dengan OS Android Nougat 7.1.2. Semoga aja bisa diupgrade ke Oreo. He3..

Tampilan lockscreennya seperti ini:

Lockscreen Xiaomi Redmi 5A dari flashsale Lazada

Pertama kali hape nyala, langsung ada 4 SMS masuk dari Indosat. Ini salah satunya.

SMS dari Indosat ketika pertama kali menyalakan hape Xiaomi Redmi 5A dari flashsale Lazada

Ketika saya pertama kali cek update utk firmware nya, sudah terupdate ke firmware terbaru dari Xiaomi. MUI 9.1.8.0.

Xiaomi Redmi 5A sudah mendukung MIUI 9

Spesifikasi detailnya seperti ini. Yang paling menarik tentu saja RAMnya, sudah 2GB. Internal memorinya juga sudah 16GB.

Spesifikasi Xiaomi Redmi 5A flashsale Lazada

Dari internal memori 16GB, yang benar2 bisa kita pakai sebesar 10,51GB. Jadi OS & MIUI sudah memakan 5,5GB. Untuk aplikasi2 dan file2nya dari pabrikan kira2 2GB, jadi sisanya yang bisa kita pakai untuk foto2, video, aplikasi tambahan dan sebagainya kira2 7GB. Info ini penulis dapatkan setelah menginstall aplikasi Mi Explorer dari Google Playstore.

Memori internal Xiaomi Redmi 5A

Setelah itu, hape ini penulis bawa di saku sambil motoran. di tengah jalan, beberapa kali dicek maklum hape baru takut jatuh he3.. Setelah sampai di tujuan, lumayan kaget, screenguardnya mulai menggelembung terutama dari kanan atas. Sepertinya karena screenguard ini memang ngga untuk dipakai lama. Hanya supaya layarnya terlindung ketika dikirim.

Screenguard default Xiaomi Redmi 5A menggelembung dimana2

Akhirnya besoknya, penulis memesan screenguard Xiaomi Redmi 5A. Untungnya ada di Tokopedia & bisa diantar lewat Go-send. Tokopedia, gitu loh.. he3..

Berikutnya yang dicek oleh penulis adalah kartu SIM nya. Kartu SIM nya akhirnya diganti menjadi Axis untuk internetan. Penulis sempat salah memasang kartu SIM. ini cara pasang kartu SIM yang salah:

cara pasang sim card yang salah untuk hape Xiaomi Redmi 5A

Cara pasang yang benar, hapenya menghadap belakang dan kartu SIM hadap depan, seperti ini.

cara pasang sim card yang benar untuk hape Xiaomi Redmi 5A

Setelah kartu SIM terpasang dengan benar, penulis iseng2 liat2 aplikasi yg sudah terpasang dari pabrikan Xiaomi. Ada aplikasi yang lumayan menarik, yaitu Mi Remote. Aplikasi ini memanfaatkan fitur IR (Infrared) yang disematkan di Xiaomi Redmi 5A. Hasilnya, kita bisa mengubah hape ini jadi remote control untuk TV LED & TV digital lainnya. Penulis senang setengah mati dengan fitur ini. Ha3..

Aplikasi Mi Remote bisa mengubah hape Xiaomi Redmi 5A jadi remote control TV digital

Selanjutnya penulis iseng2 ngecek adaptornya. Ternyata adaptor Xiaomi Redmi 5A lebih kecil daripada Xiaomi Redmi 2, meskipun daya baterainya lebih besar. Ini adaptor Xiaomi Redmi 2. Output DC 5.0V – 2000mA

adaptor Redmi 2

Sedangkan ini adaptor Xiaomi Redmi 5A. Output DC 5.0V – 1000mA.

adaptor Xiaomi Redmi 5A

Bisa dikatakan ini juga untuk mengurangi harga jualnya. Masih ingat, hape ini harganya cuma sejuta? He3..

Yang terakhir, dan ngga kalah penting (terutama untuk cewe2), adalah kualitas kameranya. Bisa dibandingkan, ini pakai kamera Redmi 2:

Dan ini hasil kamera Xiaomi Redmi 5A:

Hasilnya lebih tajam, detail, dan warnanya lebih hangat. Kamera Xiaomi Redmi 5A memang sudah 13MP, sedangkan kamera Xiaomi Redmi 2 masih 8MP.

Sampai di sini, review Xiaomi Redmi 5A yang bisa disampaikan oleh penulis. Semoga bermanfaat. Terakhir, ini penampakan hapenya setelah dikasih screenguard.


Lowongan Web Programmer Di Area Bandung

[CLOSED / Sudah ada yg diterima] DEBM adalah sebuah perusahaan yang sedang berkembang, membutuhkan web programmer di area Bandung sebagai berikut:

logo DEBM lowongan web programmer di area Bandung

Job Description

  1. Membuat halaman web untuk buku resep dengan (PHP, HTML5, CSS3, Javascript)
  2. Membuat website untuk e-commerce yang berhubungan dengan makanan
  3. Membuat website administrasi perusahaan (ada grafik)
  4. Koordinasi dengan tim Customer Service untuk membuat tools PHP sesuai kebutuhan customer
  5. Koordinasi dengan tim IT

Requirement

  • Lowongan fulltime bekerja di kantor di Bandung. Peta kantor kami: https://goo.gl/maps/xs4ske8u53F2
  • Laki-laki / perempuan pengalaman kerja minimal 1 tahun sebagai programmer web
  • Pendidikan SMK/S1/D3 atau sederajat
  • Mampu memanfaatkan tools-tools untuk membuat front-end web, yaitu html5, css3, javascript, bootstrap, dan framework2 javascript (jquery, vue.js, angular.js dsb).
  • Membuat API menggunakan PHP. PHP nya bisa non-framework, codeIgniter, atau Laravel (diutamakan)
  • Mampu bekerja sama dengan tim, terutama dengan programmer backend, android, dan database. Databasenya menggunakan MySQL dan Firebase.
  • Mau dan antusias dengan hal2 baru.
  • Integritas & komitmen sangat dijunjung tinggi. Mampu menyelesaikan apa yang sudah dimulai, dan menghasilkan solusi yang berguna untuk perusahaan.
  • Kirimkan lamaran ke meidika.wardana.4@gmail.com dengan subyek: “lamaran web programmer debm” disertai CV Pengalaman Kerja + FOTO SELFIE TERBARU

Benefits

1. Gaji bulanan

2. Lingkungan kerja yang nyaman. Santai asal pekerjaan selesai

3. Akses internet

tag:

Internal link: N/A

Cara Memilih Library / Pustaka Android Untuk Aplikasi Kita

Berikut ini adalah hal-hal yang bisa dipertimbangkan untuk memilih library  (pustaka) untuk aplikasi android yang kita buat.

  1. Siapa yg bikin? lebih baik kalau komunitas yang bikin, daripada hanya 1 orang yg bikin library tersebut. Karena maintenance nya biasanya lebih bagus kalau komunitas yang bikin.
  2. Jumlah issue (problem). Yang mana yg lebih stabil / paling sedikit issue nya? Bisa dilihat di reponya (biasanya github)
  3. Fitur. Library yang mana yang paling cocok fiturnya dengan aplikasi yang kita bikin?
  4. Lisensi mana yang paling oke buat aplikasi kita?
  5. Googling: [nama library][spasi]versus. Buat nyari library2 yg mirip. Siapa tau ada yg mirip & lebih baik.
  6. Dokumentasi. pilih library yang dokumentasinya lebih lengkap supaya lebih mudah dipakai.



Sumber: Udacity – Advanced Android, Library: Choose a Library (untuk poin 1 s/d 5)

 

Tersedia buku-buku untuk belajar pemrograman Android.

buku pertama, menginstall Android Studio: https://play.google.com/store/books/details?id=EOufCwAAQBAJ

buku kedua, membuat recyclerview yang menampilkan gambar2 dari internet menggunakan json: https://play.google.com/store/books/details?id=b-boDAAAQBAJ

buku registrasi user, membuat fitur login & register: https://play.google.com/store/books/details?id=FHMqDwAAQBAJ

kalau sudah beli, bisa dilihat di hape pake app google books, bisa dilihat di browser (misal chrome) di books.google.com -> My Library .

bayarnya bs pake pulsa

Cara Melacak Crash / Exception di Android Studio

Artikel ini membahas cara melacak crash di Android Studio. Apa itu crash? Hampir semua programmer android saya kira pernah mengalami crash.

Gambar berikut ini adalah contoh crash / aplikasi berhenti tiba2.

Pada gambar tersebut “Test NullPointer” adalah nama aplikasi android, dan dialog kecil tersebut menginformasikan kalau aplikasi “Tes NullPointer” telah berhenti tiba2.

Mengapa crash seperti ini bisa terjadi? karena telah terjadi exception ketika aplikasi sedang berjalan. Exception adalah error yang fatal yang menyebabkan aplikasi berhenti tiba2. Error yang fatal ini terjadi karena ada kesalahan pada penulisan kodingan di aplikasi. Dan kesalahan penulisan kodingan ini ada banyak sekali macamnya.

Di artikel ini kita akan membahas salah satu kesalahan penulisan kodingan yang akan menyebabkan NullPointerException, yaitu exception yang biasanya terjadi karena ada variabel yang tidak diberi nilai awal (dinisialisasi), tapi sudah dipakai.

Untuk menimbulkan NullPointerException, ikuti dulu langkah2 ini.

Langkah 1. Buat project baru di Android Studio

Langkah 2. Masukkan:
Tes NullPointer di “Application name”,
pintar-android.com di “Company domain”,
dan pilih lokasi sembarang di “Project location”.
lalu tekan tombol “Next” warna biru di bawah.

Langkah 3. Di layar berikutnya, cukup tekan tombol “Next”

Langkah 4. klik “Empty Activity” seperti di gambar berikut ini, lalu klik tombol “Next”.

Langkah 5. Di layar berikutnya, klik tombol “Finish”.

Langkah 6. Tunggu sampai loadingnya selesai.

Langkah 7. Klik tab activity_main.xml. ini adalah file yang mengatur tampilan aplikasi. Kemudian klik tab “Text” di bawah, untuk melihat kodingan activity_main.xml.

Langkah 8.

Tambahkan 1 baris sesuai gambar di atas:

android:id="@+id/txtHelloWorld"

Ini adalah property id dari komponen TextView. Kita menambahkan id ini supaya bisa diakses dari file MainActivity.java nantinya.

Langkah 9.

Klik tab MainActivity.java, lalu tambahkan beberapa baris sesuai gambar di atas:

import android.widget.TextView; //untuk mengimpor komponen TextView
TextView txtHelloWorld; //untuk membuat variabel txtHelloWorld
//fungsi ini menampilkan teks menggunakan variabel txtHelloWorld
private void setTeks() {
    txtHelloWorld.setText("Contoh NullPointerException");
}
setTeks(); //untuk menjalankan fungsi setTeks()

Langkah 10. Klik tombol segitiga hijau di bagian atas seperti pada gambar, untuk menjalankan project

Langkah 11. Ketika muncul kotak dialog seperti gambar berikut ini, pilih salah satu emulator. Lalu klik tombol “OK” warna biru di bawah. Jika belum punya emulator, buat emulator lebih dulu dengan mengklik tombol “Create New Virtual Device” seperti pada gambar. Tutorial lengkap untuk membuat emulator bisa dilihat di https://goo.gl/wRgD5T.

Langkah 12. Tunggu sampai di dalam emulator keluar pesan seperti berikut ini.

Cara mengatasi crash

Nah! kita sudah membuat sebuah aplikasi yang crash / berhenti tiba2. Sekarang saya akan jelaskan, bagaimana cara melacak crash seperti ini. Mari kita kembali ke Android Studio, lalu klik di “Android Monitor” seperti di gambar.



Hasilnya akan tampil kotak yang berisi catatan semua proses ketika aplikasi kita sedang berjalan. Atau biasa disebut logcat. biasanya kotaknya kurang lebar. coba tarik ke atas biar lebih lebar. caranya ada di gambar berikut ini.

Pastikan di bagian kanan, tulisannya “Show only selected application”. Lalu scrollnya yang di kanan mentok ke atas.

Setelah itu, kita lihat mulai dari baris pertama yang berwarna merah.

kemudian kita cari penyebab errornya. caranya cari kata2 “Caused by” berwarna merah. kalau di gambar di atas, ada baris tulisannya: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.widget.TextView.setText(java.lang.CharSequence)’ on a null object reference . Ini artinya kita telah salah, memanggil fungsi setText pada variabel yang bernilai null (belum diinisialisasi).

Kemudian untuk mencari di kodingan, di baris mana errornya berasal, kita cari tulisan pertama yang berwarna biru muda. seperti gambar di bawah ini.

Tulisannya adalah: MainActivity.java:20. Artinya, errornya ada di file “MainActivity.java”, baris ke-20. Klik tulisan tersebut untuk melihat, ada apa di MainActivity.java baris ke-20.

Ternyata errornya terjadi ketika kita mengeset tulisan pada variabel txtHelloWorld. Kenapa ini bisa menimbulkan crash?

Kalau kita perhatikan dengan seksama, kita memang sudah membuat variabel txtHelloWorld di baris ke-9. tapi kita belum menginisialisasi (memberi nilai ke variabel tersebut). Bagaimana caranya kita menginisialisasi variabel txtHelloWorld?

Kita bisa menuliskan 1 baris lagi setelah baris setContentView(R.layout.activity_main);

Tuliskan seperti gambar di atas, baris ke-16:

txtHelloWorld = (TextView) findViewById(R.id.txtHelloWorld);

Baris ini artinya kita menginisialisasi (memberi nilai) variabel txtHelloWorld dengan menghubungkannya ke komponen txtHelloWorld di file activity_main.xml.

Setelah itu, kita jalankan lagi projectnya dengan menekan tombol segitiga hijau di Android Studio. Hasilnya aplikasi kita sudah tidak error lagi. Seperti ini.

Yang baru saya jelaskan adalah cara melacak dan membetulkan salah satu dari banyak sekali penyebab crash di aplikasi Android. Penyebab utama NullPointerException adalah penggunaan variabel yang belum dinisialisasi / diberi nilai awal, seperti txtHelloWorld di artikel ini.

Semoga artikel ini berguna. Silahkan tinggalkan komentar di bawah ini jika ada yang kurang jelas.

 

Tautan ke cara mengatasi crash: cara mengatasi crash

 

Tersedia buku-buku untuk belajar pemrograman Android.

buku pertama, menginstall Android Studio: https://play.google.com/store/books/details?id=EOufCwAAQBAJ

buku kedua, membuat recyclerview yang menampilkan gambar2 dari internet menggunakan json: https://play.google.com/store/books/details?id=b-boDAAAQBAJ

buku registrasi user, membuat fitur login & register: https://play.google.com/store/books/details?id=FHMqDwAAQBAJ

kalau sudah beli, bisa dilihat di hape pake app google books, bisa dilihat di browser (misal chrome) di books.google.com -> My Library .

bayarnya bs pake pulsa