Skip to main content

Membuat Aplikasi Ramalan Cuaca Menggunakan Kotlin 2017

Hallo Kuy, Masih sehat dengan Codingganya? semoga tetap sehat dan enggak muntah-muntah dalam belajar pemmogramman, pada artikel kali ini saya akan membahas tentang Kotlin, materi ini saya dapatkan waktu mengikuti workshop di kantor Go-jek, materi ini diberikan oleh salah satu Depelover Google Expert Indonesia yaitu Sidiq Permana dan di workshop juga ada Mobile Engginernya Gojek, teman-teman engginer java dan lain lain yang ingin berhijrah ke kotlin, kenapa sih kotlin? iya, Google kedepan akan menjadikan bahasa kotlin itu menjadi bahasa utama untuk android, itu nanti ya.

motivasi belajar proggraming

Pada artikel yang akan saya share yaitu bukan project buatan saya, akan tetapi projectnya Sidiq permana, yang mana dalam projectnya mengimplementasikan konsep MVP pada projectnya. Apa itu MVP ? baca disini lebih lengkap.

untuk anda yang pemula atau yang ingin hijrah ke kotlin bisa belajar di link bawah ini

dasar kotlin android untuk membuat perhitungan luas segitiga 

untuk menampilkan data ke listview dan recyclerview 

belajar crud kotlin menggunakan retrofit 2, MVP dan Api Service Lumen Framework


untuk tampilan aplikasinya seperti pada gambar berikut ini  :



Pada Projectnya dia menggunakan library picasso untuk gambar , RxJava dan RxAndroid, Retrofit2, dan Dagger 2.

lebih lengkap materi RxJava baca disini
Materi Retrofit2 baca disini
untuk library anko baca di sini

untuk official page group kotlin indobisa kunjungi disini
 untuk dokumentasi mater kotlin bisa ke webnya lansung disini



berikut implementasi depenciesnya.
// VIEW COMPONENT
implementation "org.jetbrains.anko:anko-common:$anko_version"
implementation 'com.android.support:recyclerview-v7:26.0.1'

// RxJava & RxAndroid
implementation 'io.reactivex:rxjava:1.1.6'
implementation 'io.reactivex:rxandroid:1.2.1'

// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'

// Dagger 2
implementation 'com.google.dagger:dagger:2.11'
kapt 'com.google.dagger:dagger-compiler:2.11'
provided 'org.glassfish:javax.annotation:10.0-b28'

// PICASSO
implementation 'com.squareup.picasso:picasso:2.5.2'

testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.0'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.0'




untuk file layout activity_main.xml seperti berikut ini :
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.nbs.weatherforecast.view.main.MainActivity">



    <android.support.v7.widget.RecyclerView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/rvWeatherResult"

        android:layout_centerVertical="true"

        android:layout_centerHorizontal="true"/>



    <ProgressBar

        android:layout_width="48dp"

        android:layout_height="48dp"

        android:id="@+id/progresbar"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"/>



</RelativeLayout>




utuk xml list itemnya seperti berikut ini :
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:orientation="vertical" android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:padding="16dp">

    <ImageView

        android:layout_width="48dp"

        android:layout_height="48dp"

        android:layout_gravity="center_vertical"

        android:id="@+id/imgWeather"

        android:layout_marginRight="16dp"/>

    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:orientation="vertical"

        android:layout_toRightOf="@id/imgWeather">

        <TextView

            android:id="@+id/tvDate"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            tools:text="Date"

            android:layout_marginBottom="4dp"

            android:fontFamily="sans-serif-condensed"/>

        <TextView

            android:id="@+id/tvWeatherName"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            tools:text="Weather Name"

            android:fontFamily="sans-serif-condensed"/>

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            tools:text="Day"

            android:id="@+id/tvTempMinMax"

            android:fontFamily="sans-serif-condensed"/>

    </LinearLayout>

</RelativeLayout>





lebih lengkap bisa pelajari projectnya disini github Sidiq permana

untuk anda yang baru belajar proggraming, saya sarankan baca-baca halaman ini.


Comments

Popular posts from this blog

Pertemuan 1 Aplikasi Fasyankes

Capain Pembelajaran : Setelah mempelajari mata kuliah ini, mahasiswa mampu : a) Memahami berbagai macam bentuk aplikasi perangkat lunak pada fasilitas Yankes b) Mengoperasikan aplikasi perangkat lunak yang dipakai di fasilitas Yankes c) Menyajikan informasi berdasarkan hasil pengolahan dari aplikasi perangkat lunak di fasilitas Yankes   I. Pendahuluan Pengenalan tentang pentingnya aplikasi perangkat lunak dalam fasilitas kesehatan (Yankes). Tujuan dari materi ini adalah untuk memperkenalkan berbagai macam bentuk aplikasi perangkat lunak yang digunakan dalam konteks fasilitas kesehatan. II. Pengertian Aplikasi Perangkat Lunak dalam Konteks Fasilitas Kesehatan Definisi aplikasi perangkat lunak dalam dunia kesehatan. Peran dan manfaat aplikasi perangkat lunak dalam memperbaiki efisiensi dan efektivitas layanan kesehatan. III. Klasifikasi Aplikasi Perangkat Lunak pada Fasilitas Kesehatan Administrasi dan Manajemen : Aplikasi untuk manajemen data pasien, jadwal dokte

Basis Data Pertemuan 1

Capaian :  Mahasiswa mampu dalam perkembangan Basis Data  Mahasiswa mampu dalam pengetahuan desain dan arsitektur database  Mahasiswa mampu dalam konsep basis data relasional    Data : Fakta-fakta yang dapat disimpan dan mempunyai arti tertentu.  Contoh: Fakta mengenai obyek, orang, dll. Dinyatakan dengan nilai (angka, deretan karakter, atau symbol). Data terdiri dari : Elemen data : satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna Rekaman (Record) : gabungan sejumlah elemen data yang saling berhubungan. Berkas (file) : kumpulan dari record-record yang bertipe sama.  Contoh : data mahasiswa, dosen, dll Data dan n   Data 1.      Fakta yang diperoleh di lapangan 2.      Diperlukan suatu proses agar   data bisa digunakan n   Informasi 1.      Hasil dari pengolahan data 2.      Sebagai acuan dalam pengambilan keputusan   BASIS DATA v Himpunan kelompok data (arsip) yang saling berhubungan yang dio

Jaringan Komputer Pertemuan 1

 Capaian : Mahasiswa mampu menganalisis Konsep Dasar jaringan computer Mahasiswa mampu menganalisis pemanfaatan jaringan computer Mahasiswa mampu menganalisis Jenis- jenis   jaringan komputer 1 ( LAN, MAN, WAN) Mahasiswa mampu menganalisis Topologi jaringan computer Mahasiswa mampu menganalisis   Perangkat pada jaringan computer Mahasiswa mampu menganalisis   Model-model pada jaringan komputer (TCP/IP)   I. Pendahuluan Pengenalan tentang pentingnya memahami konsep dasar jaringan komputer dalam era digital saat ini. Tujuan dari materi ini adalah untuk memberikan pemahaman yang komprehensif tentang konsep dasar jaringan komputer serta kemampuan untuk menganalisis dan menerapkannya. II. Definisi dan Konsep Dasar Jaringan Komputer Pengertian jaringan komputer dan perannya dalam menghubungkan perangkat elektronik. Konsep dasar seperti node, media transmisi, protokol komunikasi, dan topologi jaringan. III. Klasifikasi Jaringan Komputer Jaringan berdasarkan ukuran