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

Membuat App Android Karyawan Inventory Menggunakan CRUD SQLite Part 1

Hii Kuy, salam sejahtera, semoga sehat selalu dan dalam lindungan Tuhan YME. aplikasi kali ini hanya untuk newbie ya. untuk teman-teman yang baru / mau belajar android /mobile proggramming seperti saya. Pada aplikasi kali ini yaitu membuat aplikasi karyawan inventory, apa itu karyawan inventory? yaitu satu aplikasi yang dapat menginput, menampilkan, mengedit dan

Contact Person

Hello Semua, bagi yang ingin menanyakan persoalan isi content yang saya telah post bisa menghubungi saya di daftar kontak saya dibawah ini : Whatsap  0853-9803-8073 Email       Basriumar12@gmail.com Group Belajar Android LINK GROUP WHATSAP   http://bit.ly/2x3H0oT  full kuota LINK GORUP TELEGRAM  http://bit.ly/2knZ5gu