DendaHermawan Hell Yeah Pointer 5

[Latest News][6]

Dens_Imajinasi

UTS MOBILE PROGRAMMING II

 TUGAS UTS MOBILE PRGORAMING II

Prodi : S1 Teknik Informatika

Dosen : Buhori Muslim, ST, M.Kom

Universitas Putra Indonesia Cianjur

Soal :

Berdasarkan gambar di bawah ini pergunakanlah layout ListView, untuk gambar silahkan di sesuaikan, minimal 3 (tiga) buah gambar seperti tampilan di bawah.









Dimana tiap gambar dikasih keterangan yang sesuai, jawaban berupa screenshoot hasil dan source code di save ke blog/website pribadi, dengan identitas lengkap link dikirim ke dosen pengampu.

 

 

 

---oo00 Selamat Mengerjakan 00oo---

Gajah adalah hewan darat terbesar di dunia. Tinggi gajah afrika kurang lebih 3 hingga 4 m dan massanya bervariasi antara 4.000 hingga 7.000 kg, sementara tinggi gajah asia adalah 2 hingga 3,5 m dan massanya 3.000 hingga 5.000 kg. Gajah jantan lebih besar dari gajah betina, baik itu pada gajah asia maupun afrika.

 

Kuda (Equus caballus atau Equus ferus caballus) adalah salah satu dari sepuluh spesies modern mamalia dari genus Equus. Hewan ini telah lama merupakan salah satu hewan peliharaan yang penting secara ekonomis dan historis, dan telah memegang peranan penting dalam pengangkutan orang dan barang selama ribuan tahun.

 

Macan tutul (bahasa Latin: Panthera pardus) atau Harimau Bintang adalah salah satu dari empat kucing besar. Hewan ini dikenal juga dengan sebutan harimau dahan karena kemampuannya memanjat.

 

Jerapah atau zarafah (nama ilmiah: Giraffa camelopardalis) adalah mamalia berkuku genap endemik Afrika dan merupakan spesies hewan tertinggi yang hidup di darat. Jerapah jantan dapat mencapai tinggi 4,8 sampai 5,5 meter dan memiliki berat yang dapat mencapai 1.360 kilogram.

AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
   
package="com.denda.utslisthewan">

    <uses-permission
android:name="android.permission.INTERNET" />

    <application
       
android:allowBackup="true"
       
android:icon="@mipmap/ic_launcher"
       
android:label="@string/app_name"
       
android:roundIcon="@mipmap/ic_launcher_round"
       
android:supportsRtl="true"
       
android:theme="@style/Theme.MyRecyclerView">
        <activity
android:name="com.denda.utslisthewan.MainActivity">
            <intent-filter>
                <action
android:name="android.intent.action.MAIN" />

                <category
android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


Class MainActivity

package com.denda.utslisthewan

import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.ActionBar
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import java.util.*

class MainActivity : AppCompatActivity() {
   
private lateinit var rvHewann: RecyclerView
   
private var title = "Mode List"
   
private val list = ArrayList<Hewan>()

   
override fun onCreate(savedInstanceState: Bundle?) {
       
super.onCreate(savedInstanceState)
        setContentView(R.layout.
activity_main)
        setActionBarTitle(
title)

       
rvHewann = findViewById(R.id.rv_hewan)
       
rvHewann.setHasFixedSize(true)

       
list.addAll(HewanData.listData)
        showRecyclerList()
    }

   
private fun showRecyclerList() {
       
rvHewann.layoutManager = LinearLayoutManager(this)
       
val listHewanAdapter = ListHewanAdapter(list)
       
rvHewann.adapter = listHewanAdapter

        listHewanAdapter.setOnItemClickCallback(
object : ListHewanAdapter.OnItemClickCallback {
            
override fun onItemClicked(data: Hewan) {
                showSelectedHewan(data)
            }
        })
    }

   
private fun setActionBarTitle(title: String) {
       
if (supportActionBar != null) {
            (
supportActionBar as ActionBar).title = title
        }
    }

   
private fun showSelectedHewan(hewan: Hewan) {
        Toast.makeText(
this, "Kamu memilih " + hewan.name, Toast.LENGTH_SHORT).show()
    }
}

 

Class Hewan

package com.denda.utslisthewan

data class Hewan(
       
var name: String = "",
        var
detail: String = "",
        var
photo: Int = 0
)


Class HewanData

package com.denda.utslisthewan

import java.util.*


object HewanData {
   
private val hewanNames = arrayOf(
       
"Gajah",
       
"Kuda",
       
"Macan Tutul",
       
"Jerapah",
       
"Sapi"
   
)

   
private val hewanDetails = arrayOf(
       
"Gajah adalah hewan darat terbesar di dunia. Tinggi gajah afrika kurang lebih 3 hingga 4 m dan massanya bervariasi antara 4.000 hingga 7.000 kg, sementara tinggi gajah asia adalah 2 hingga 3,5 m dan massanya 3.000 hingga 5.000 kg. Gajah jantan lebih besar dari gajah betina, baik itu pada gajah asia maupun afrika.",
       
"Kuda (Equus caballus atau Equus ferus caballus) adalah salah satu dari sepuluh spesies modern mamalia dari genus Equus. Hewan ini telah lama merupakan salah satu hewan peliharaan yang penting secara ekonomis dan historis, dan telah memegang peranan penting dalam pengangkutan orang dan barang selama ribuan tahun.",
       
"Macan tutul (bahasa Latin: Panthera pardus) atau Harimau Bintang adalah salah satu dari empat kucing besar. Hewan ini dikenal juga dengan sebutan harimau dahan karena kemampuannya memanjat.",
       
"Jerapah atau zarafah (nama ilmiah: Giraffa camelopardalis) adalah mamalia berkuku genap endemik Afrika dan merupakan spesies hewan tertinggi yang hidup di darat. Jerapah jantan dapat mencapai tinggi 4,8 sampai 5,5 meter dan memiliki berat yang dapat mencapai 1.360 kilogram.",
       
"Sapi atau lembu adalah hewan ternak anggota famili Bovidae dan subfamili Bovinae. Sapi dipelihara terutama untuk dimanfaatkan susu dan dagingnya sebagai pangan manusia. Hasil sampingannya seperti kulit, jeroan, tanduk, dan kotorannya juga dimanfaatkan untuk berbagai keperluan manusia."
   
)

   
private val hewanImages = intArrayOf(
        R.drawable.
gajah,
       
R.drawable.kuda,
       
R.drawable.macan,
       
R.drawable.jerapah,
       
R.drawable.sapi

   
)

   
val listData: ArrayList<Hewan>
       
get() {
           
val list = arrayListOf<Hewan>()
           
for (position in hewanNames.indices) {
               
val hewan = Hewan()
                hewan.
name = hewanNames[position]
                hewan.
detail = hewanDetails[position]
                hewan.
photo = hewanImages[position]
                list.add(hewan)
            }
           
return list
        }
}

Class ListHewanAdapter

package com.denda.utslisthewan

import androidx.recyclerview.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import com.bumptech.glide.Glide
import java.util.*

class ListHewanAdapter(private val listHewans: ArrayList<Hewan>) : RecyclerView.Adapter<ListHewanAdapter.ListViewHolder>() {
   
private lateinit var onItemClickCallback: OnItemClickCallback

   
fun setOnItemClickCallback(onItemClickCallback: OnItemClickCallback) {
       
this.onItemClickCallback = onItemClickCallback
    }

   
override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ListViewHolder {
       
val view: View = LayoutInflater.from(viewGroup.context).inflate(R.layout.item_row_hewan, viewGroup, false)
       
return ListViewHolder(view)
    }

   
override fun onBindViewHolder(holder: ListViewHolder, position: Int) {
       
val hewan = listHewans[position]

        Glide.with(holder.
itemView.context)
                .load(hewan.
photo)
                .into(holder.
imgPhoto)

        holder.
tvName.text = hewan.name
       
holder.tvDetail.text = hewan.detail

       
holder.itemView.setOnClickListener { onItemClickCallback.onItemClicked(listHewans[holder.adapterPosition]) }
   
}


   
override fun getItemCount(): Int {
       
return listHewans.size
   
}


   
inner class ListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
       
var imgPhoto: ImageView = itemView.findViewById(R.id.img_item_photo)
       
var tvName: TextView = itemView.findViewById(R.id.tv_item_name)
       
var tvDetail: TextView = itemView.findViewById(R.id.tv_item_detail)

    }

   
interface OnItemClickCallback {
       
fun onItemClicked(data: Hewan)
    }
}


Layout Activity Main

<?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:id="@+id/activity_main"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent">

    <androidx.recyclerview.widget.RecyclerView
       
android:id="@+id/rv_hewan"
       
android:layout_width="match_parent"
       
android:layout_height="match_parent"
       
tools:listitem="@layout/item_row_hewan" />
</RelativeLayout>

HASILNYA

 

Layout Item Row Hewan

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
   
xmlns:tools="http://schemas.android.com/tools"
   
android:layout_width="match_parent"
   
android:layout_height="wrap_content"
   
android:orientation="horizontal"
   
android:padding="16dp">

    <androidx.constraintlayout.utils.widget.ImageFilterView
       
android:id="@+id/img_item_photo"
       
android:layout_width="140dp"
       
android:layout_height="100dp"
       
android:layout_marginEnd="16dp"
        
tools:src="@tools:sample/avatars" />

    <LinearLayout
       
android:layout_width="match_parent"
       
android:layout_height="wrap_content"
       
android:orientation="vertical">

        <TextView
           
android:id="@+id/tv_item_name"
           
android:layout_width="match_parent"
           
android:layout_height="wrap_content"
           
android:layout_marginBottom="8dp"
           
android:textSize="16sp"
           
android:textStyle="bold"
           
tools:text="@string/hewan_name" />

        <TextView
           
android:id="@+id/tv_item_detail"
           
android:layout_width="match_parent"
           
android:layout_height="wrap_content"
           
android:ellipsize="end"
           
android:maxLines="4"
           
tools:text="@string/detail" />
    </LinearLayout>
</LinearLayout>

Gambar di atas merupakan hasil nyah
when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries.

No comments:

Post a Comment

Start typing and press Enter to search