SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
1
Belajar Android Menampilkan Katalog Produk Buah-buahan.
Agus Haryanto
agus.superwriter@gmail.com
http://agusharyanto.net
Beberapa waktu yang lalu ada yang menanyakan tentang menampilkan katalog produk dalam
aplikasi android. Kalau kita lihat aplikasi – aplikasi toko online android biasanya menampilkan
produk dalam bentuk list atau grid.
Pada kesempatan kali ini kita akan mencoba menampilkan katalog produk dalam bentuk grid. Dan
untungnya untuk urusan ini android sudah menyediakan komponen user interfacenya yaitu
GridView.
Pada project kali ini kita akan mencoba membantu penjual buah langganan kita untuk dibuatkan
katalog buahmya. Mari kita mulai.
1. Bukan Android studio lalu buat project dengan Nama “ProductCatalog”
2. Klik Next sampai pada pilihan Activity pilih Empty Activity
2
3. Klik Next terus sampai finish. Tunggu sebentar, project akan tercreate secara otomatis.
4. Siapkan gambar buah-buahan bisa cari di http://iconarchive.com , semua gambar buah dalam
project ini diambil dari sana. Semua gambarnya taruh di folder “drawable”
5. Sesuai Tema yaitu tentang Produk Katalog maka kita perlu model Product. Untuk itu pada
package net.agusharyanto.productcatalog buat class baru dengan nama “Product” lalu ketikan
kode berikut.
package net.agusharyanto.productcatalog;
/**
* Created by agus on 3/27/16.
*/
public class Product {
private String id="";
private String name="";
private String image="";
private String price="";
public Product(String id, String name, String image, String price) {
this.id = id;
this.name = name;
this.image = image;
this.price = price;
}
private Product() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
}
3
6. Sekarang kita urus layout untuk item produknya yang tediri dari gambar, nama dan harga. Untuk
itu pada folder layout, buat layout baru dengan nama item_product. Lalu ketikan kode berikut.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="110dp"
android:layout_height="130dp" android:padding="2dp">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:id="@+id/imageViewProduct"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Product Name"
android:id="@+id/textViewName"
android:gravity="center"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Price"
android:id="@+id/textViewPrice"
android:gravity="center"/>
</LinearLayout>
7. Untuk menampilkan ke Product GridView kita perlu buat Custom Adapter baru. Untuk buat
class baru dengan nama ProductAdapter lalu ketikan kode berikut
package net.agusharyanto.productcatalog;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.List;
/**
* Created by agus on 3/27/16.
*/
public class ProductAdapter extends ArrayAdapter<Product>{
Context context;
public ProductAdapter(Context context, int resource, List<Product>
products) {
super(context, resource, products);
this.context = context;
}
/*private view holder class*/
private class ViewHolder {
TextView tvName;
4
TextView tvPrice;
ImageView ivProduct;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
Product product = getItem(position);
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_product, null);
holder = new ViewHolder();
holder.tvName = (TextView)
convertView.findViewById(R.id.textViewName);
holder.tvPrice = (TextView)
convertView.findViewById(R.id.textViewPrice);
holder.ivProduct = (ImageView)
convertView.findViewById(R.id.imageViewProduct);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.tvName.setText(product.getName());
holder.tvPrice.setText("Rp"+product.getPrice());
int imageid = context.getResources().getIdentifier(product.getImage(),
"drawable", context.getPackageName());
try {
Picasso.with(context)
.load(imageid)
.fit()
.centerInside()
.into(holder.ivProduct);
}catch (Exception e){
Log.d("TAG","product:"+product.getName());
}
return convertView;
}
}
8. Pada class ProductAdapter terlihat ada code yang menggunakan library Picasso, untuk itu kita
perlu menanmbahkan Libray Picasso pada script gradle (module).
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.squareup.picasso:picasso:2.5.2'
}
9. Sekarang kita edit layout activity_main lalu ketikan kode berikut
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
5
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="net.agusharyanto.productcatalog.MainActivity">
<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gridViewProduct"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:numColumns="3" />
</RelativeLayout>
10. Sekarang mari kita edit class MainActivity lalu ketikan kode berikut.
package net.agusharyanto.productcatalog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private List<Product> products = new ArrayList<Product>();
private GridView gridViewProduct;
private ProductAdapter productAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridViewProduct = (GridView) findViewById(R.id.gridViewProduct);
initData();
drawDatatoGridView();
}
private void initData(){
List<String> fruits= Arrays.asList("apple", "banana", "cherry",
"coconut", "grape", "kiwi", "lemon", "mango", "orange", "peach", "pear",
"pineapple", "starfruit", "stroberry", "watermelon");
for (int i=0; i<fruits.size(); i++){
int id= i+1;
int price = id * 1000;
products.add(new Product(id + "", fruits.get(i), fruits.get(i),
price + ""));
}
}
private void drawDatatoGridView() {
productAdapter = new ProductAdapter(MainActivity.this,
R.layout.item_product, products);
6
gridViewProduct.setAdapter(productAdapter);
gridViewProduct.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {
Product product = (Product)
parent.getAdapter().getItem(position);
Toast.makeText(getBaseContext(),"Product
Name :"+product.getName(),Toast.LENGTH_SHORT).show();
}
});
}
}
Perhatikan pada class diatas, ada method initData yang gunanya untuk menyiapkan data untuk
digunakan pada ProductAdapter. Sedangakan method drawDatatoGridview digunakan untuk
menggmabra data tadi ke GridVIew melalui ProductAdapter.
11. Sekarang mari kita jalankan projectnya. Jika semua berjalan lancar maka hasilnya adalah seperti
ini.
7
Bagaiman sudah berhasil, atau kodingnya masih ada yang error ? Kalau belum tenang saja. Saya
sudah siapkan solusinya, yaitu source code tutorial ini bisa di lihat di
https://github.com/jatisari/ProductCatalog
Ayo semangat calon-calon developer android handal Indonesia.
Semoga Bermanfaat
Salam Hangat
Agus Haryanto
Developer Android
8

Más contenido relacionado

La actualidad más candente

Aplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz AndroidAplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz Androidrivalbamen
 
Android membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaAndroid membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaRobby Febrian
 
Membuat Aplikasi Android Keren
Membuat Aplikasi Android KerenMembuat Aplikasi Android Keren
Membuat Aplikasi Android KerenHangga Aji Sayekti
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyAgus Haryanto
 
Tutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash lightTutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash lightAgus Haryanto
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoYatno Sudar
 
Ebook tutorial pemrograman android
Ebook tutorial pemrograman android Ebook tutorial pemrograman android
Ebook tutorial pemrograman android Candra Adi Putra
 
Modul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoModul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoYatno Sudar
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaAgus Haryanto
 
Modul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoModul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoYatno Sudar
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoYatno Sudar
 
Membuat media pembelajaran berbasis android
Membuat media pembelajaran berbasis androidMembuat media pembelajaran berbasis android
Membuat media pembelajaran berbasis androidFunnys Rahman
 
Pertemuan 5 list view
Pertemuan 5 list viewPertemuan 5 list view
Pertemuan 5 list viewheriakj
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskheriakj
 
Membuat sendiri aplikasi android
Membuat sendiri aplikasi androidMembuat sendiri aplikasi android
Membuat sendiri aplikasi androidMdeno Akbar
 
Modul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoModul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoYatno Sudar
 
Panduan Memulai Firebase Android
Panduan Memulai Firebase AndroidPanduan Memulai Firebase Android
Panduan Memulai Firebase AndroidIrfan Fediyanto
 
Simple tutorial : Android get and post data
Simple tutorial : Android get and post dataSimple tutorial : Android get and post data
Simple tutorial : Android get and post dataPikiring Hutama
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toastheriakj
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android ProgrammingWirat Mojo
 

La actualidad más candente (20)

Aplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz AndroidAplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz Android
 
Android membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaAndroid membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhana
 
Membuat Aplikasi Android Keren
Membuat Aplikasi Android KerenMembuat Aplikasi Android Keren
Membuat Aplikasi Android Keren
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan Volley
 
Tutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash lightTutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash light
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android Sudaryatno
 
Ebook tutorial pemrograman android
Ebook tutorial pemrograman android Ebook tutorial pemrograman android
Ebook tutorial pemrograman android
 
Modul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoModul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android Sudaryatno
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android Sederhana
 
Modul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoModul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android Sudaryatno
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android Sudaryatno
 
Membuat media pembelajaran berbasis android
Membuat media pembelajaran berbasis androidMembuat media pembelajaran berbasis android
Membuat media pembelajaran berbasis android
 
Pertemuan 5 list view
Pertemuan 5 list viewPertemuan 5 list view
Pertemuan 5 list view
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntask
 
Membuat sendiri aplikasi android
Membuat sendiri aplikasi androidMembuat sendiri aplikasi android
Membuat sendiri aplikasi android
 
Modul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoModul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android Sudaryatno
 
Panduan Memulai Firebase Android
Panduan Memulai Firebase AndroidPanduan Memulai Firebase Android
Panduan Memulai Firebase Android
 
Simple tutorial : Android get and post data
Simple tutorial : Android get and post dataSimple tutorial : Android get and post data
Simple tutorial : Android get and post data
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toast
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming
 

Similar a Belajar Android Membuat Katalog Produk

Membuathalutamaeclipse
MembuathalutamaeclipseMembuathalutamaeclipse
Membuathalutamaeclipseseffy kusuma
 
Material design for android (Diggest)
Material design for android (Diggest)Material design for android (Diggest)
Material design for android (Diggest)Google
 
Pemrograman Dasar Android
Pemrograman Dasar AndroidPemrograman Dasar Android
Pemrograman Dasar AndroidAbas Djumadi
 
Pertemuan 7 camera
Pertemuan 7 cameraPertemuan 7 camera
Pertemuan 7 cameraheriakj
 
Training Android Wonderkoding
Training Android WonderkodingTraining Android Wonderkoding
Training Android WonderkodingAhmad Arif Faizin
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabviewheriakj
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptWahyu Anggara
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptWahyu Anggara
 
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Ferry Sha
 
15. lampiran listing program
15. lampiran   listing program15. lampiran   listing program
15. lampiran listing programFaza Zahrah
 
Study Jam 6 Web.pdf
Study Jam 6 Web.pdfStudy Jam 6 Web.pdf
Study Jam 6 Web.pdfanjarmath
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales Aja
 
Netbeans jasper-tutorial
Netbeans jasper-tutorialNetbeans jasper-tutorial
Netbeans jasper-tutorialyunus pramono
 
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2Muhammad Yusuf
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di androidInto Setiawan
 
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...GITS Indonesia
 
Tutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web servicesTutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web servicesmuhammad arif nasution
 

Similar a Belajar Android Membuat Katalog Produk (20)

Membuathalutamaeclipse
MembuathalutamaeclipseMembuathalutamaeclipse
Membuathalutamaeclipse
 
Material design for android (Diggest)
Material design for android (Diggest)Material design for android (Diggest)
Material design for android (Diggest)
 
Pemrograman Dasar Android
Pemrograman Dasar AndroidPemrograman Dasar Android
Pemrograman Dasar Android
 
Pertemuan 7 camera
Pertemuan 7 cameraPertemuan 7 camera
Pertemuan 7 camera
 
Training Android Wonderkoding
Training Android WonderkodingTraining Android Wonderkoding
Training Android Wonderkoding
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabview
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android ppt
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android ppt
 
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
 
15. lampiran listing program
15. lampiran   listing program15. lampiran   listing program
15. lampiran listing program
 
Live coding #1
Live coding #1Live coding #1
Live coding #1
 
Pemrograman android
Pemrograman androidPemrograman android
Pemrograman android
 
Study Jam 6 Web.pdf
Study Jam 6 Web.pdfStudy Jam 6 Web.pdf
Study Jam 6 Web.pdf
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
 
Netbeans jasper-tutorial
Netbeans jasper-tutorialNetbeans jasper-tutorial
Netbeans jasper-tutorial
 
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di android
 
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
 
Android Workshop beginner
Android Workshop beginnerAndroid Workshop beginner
Android Workshop beginner
 
Tutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web servicesTutorial web service (web & client) with spring web services
Tutorial web service (web & client) with spring web services
 

Más de Agus Haryanto

Belajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaBelajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaAgus Haryanto
 
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card ViewBelajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card ViewAgus Haryanto
 
Panduan Instalasi Android Studio
Panduan Instalasi Android StudioPanduan Instalasi Android Studio
Panduan Instalasi Android StudioAgus Haryanto
 
Android Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAndroid Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAgus Haryanto
 
Sistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan KebakaranSistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan KebakaranAgus Haryanto
 
Seminar Android as your Smart Future
Seminar Android as your Smart FutureSeminar Android as your Smart Future
Seminar Android as your Smart FutureAgus Haryanto
 
Android Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation DrawerAndroid Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation DrawerAgus Haryanto
 
Langkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidLangkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidAgus Haryanto
 
Android Radio streaming
Android Radio streamingAndroid Radio streaming
Android Radio streamingAgus Haryanto
 
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Agus Haryanto
 
Android fast track_course
Android fast track_courseAndroid fast track_course
Android fast track_courseAgus Haryanto
 
Menghitung luas persegi panjang dengan android
Menghitung luas persegi panjang dengan androidMenghitung luas persegi panjang dengan android
Menghitung luas persegi panjang dengan androidAgus Haryanto
 

Más de Agus Haryanto (12)

Belajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaBelajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data Mahasiswa
 
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card ViewBelajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card View
 
Panduan Instalasi Android Studio
Panduan Instalasi Android StudioPanduan Instalasi Android Studio
Panduan Instalasi Android Studio
 
Android Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAndroid Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySql
 
Sistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan KebakaranSistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan Kebakaran
 
Seminar Android as your Smart Future
Seminar Android as your Smart FutureSeminar Android as your Smart Future
Seminar Android as your Smart Future
 
Android Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation DrawerAndroid Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation Drawer
 
Langkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidLangkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi android
 
Android Radio streaming
Android Radio streamingAndroid Radio streaming
Android Radio streaming
 
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
 
Android fast track_course
Android fast track_courseAndroid fast track_course
Android fast track_course
 
Menghitung luas persegi panjang dengan android
Menghitung luas persegi panjang dengan androidMenghitung luas persegi panjang dengan android
Menghitung luas persegi panjang dengan android
 

Último

Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKgamelamalaal
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxrizalhabib4
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanAdePutraTunggali
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxDedeRosza
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxJawahirIhsan
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Abdiera
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...nuraji51
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptxfurqanridha
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxFitriaSarmida1
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxMaskuratulMunawaroh
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024RahmadLalu1
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerakputus34
 
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".Kanaidi ken
 
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMPenyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMRiniGela
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptnovibernadina
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptnabilafarahdiba95
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 

Último (20)

Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerak
 
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
RENCANA + Link2 MATERI Training _"SISTEM MANAJEMEN MUTU (ISO 9001_2015)".
 
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMMPenyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
Penyebaran Pemahaman Merdeka Belajar Aksi Nyata PMM
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 

Belajar Android Membuat Katalog Produk

  • 1. 1
  • 2. Belajar Android Menampilkan Katalog Produk Buah-buahan. Agus Haryanto agus.superwriter@gmail.com http://agusharyanto.net Beberapa waktu yang lalu ada yang menanyakan tentang menampilkan katalog produk dalam aplikasi android. Kalau kita lihat aplikasi – aplikasi toko online android biasanya menampilkan produk dalam bentuk list atau grid. Pada kesempatan kali ini kita akan mencoba menampilkan katalog produk dalam bentuk grid. Dan untungnya untuk urusan ini android sudah menyediakan komponen user interfacenya yaitu GridView. Pada project kali ini kita akan mencoba membantu penjual buah langganan kita untuk dibuatkan katalog buahmya. Mari kita mulai. 1. Bukan Android studio lalu buat project dengan Nama “ProductCatalog” 2. Klik Next sampai pada pilihan Activity pilih Empty Activity 2
  • 3. 3. Klik Next terus sampai finish. Tunggu sebentar, project akan tercreate secara otomatis. 4. Siapkan gambar buah-buahan bisa cari di http://iconarchive.com , semua gambar buah dalam project ini diambil dari sana. Semua gambarnya taruh di folder “drawable” 5. Sesuai Tema yaitu tentang Produk Katalog maka kita perlu model Product. Untuk itu pada package net.agusharyanto.productcatalog buat class baru dengan nama “Product” lalu ketikan kode berikut. package net.agusharyanto.productcatalog; /** * Created by agus on 3/27/16. */ public class Product { private String id=""; private String name=""; private String image=""; private String price=""; public Product(String id, String name, String image, String price) { this.id = id; this.name = name; this.image = image; this.price = price; } private Product() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } } 3
  • 4. 6. Sekarang kita urus layout untuk item produknya yang tediri dari gambar, nama dan harga. Untuk itu pada folder layout, buat layout baru dengan nama item_product. Lalu ketikan kode berikut. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="110dp" android:layout_height="130dp" android:padding="2dp"> <ImageView android:layout_width="90dp" android:layout_height="90dp" android:id="@+id/imageViewProduct" android:src="@mipmap/ic_launcher" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Product Name" android:id="@+id/textViewName" android:gravity="center"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Price" android:id="@+id/textViewPrice" android:gravity="center"/> </LinearLayout> 7. Untuk menampilkan ke Product GridView kita perlu buat Custom Adapter baru. Untuk buat class baru dengan nama ProductAdapter lalu ketikan kode berikut package net.agusharyanto.productcatalog; import android.app.Activity; import android.content.Context; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import com.squareup.picasso.Picasso; import java.util.List; /** * Created by agus on 3/27/16. */ public class ProductAdapter extends ArrayAdapter<Product>{ Context context; public ProductAdapter(Context context, int resource, List<Product> products) { super(context, resource, products); this.context = context; } /*private view holder class*/ private class ViewHolder { TextView tvName; 4
  • 5. TextView tvPrice; ImageView ivProduct; } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; Product product = getItem(position); LayoutInflater mInflater = (LayoutInflater) context .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); if (convertView == null) { convertView = mInflater.inflate(R.layout.item_product, null); holder = new ViewHolder(); holder.tvName = (TextView) convertView.findViewById(R.id.textViewName); holder.tvPrice = (TextView) convertView.findViewById(R.id.textViewPrice); holder.ivProduct = (ImageView) convertView.findViewById(R.id.imageViewProduct); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.tvName.setText(product.getName()); holder.tvPrice.setText("Rp"+product.getPrice()); int imageid = context.getResources().getIdentifier(product.getImage(), "drawable", context.getPackageName()); try { Picasso.with(context) .load(imageid) .fit() .centerInside() .into(holder.ivProduct); }catch (Exception e){ Log.d("TAG","product:"+product.getName()); } return convertView; } } 8. Pada class ProductAdapter terlihat ada code yang menggunakan library Picasso, untuk itu kita perlu menanmbahkan Libray Picasso pada script gradle (module). dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.squareup.picasso:picasso:2.5.2' } 9. Sekarang kita edit layout activity_main lalu ketikan kode berikut <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 5
  • 6. android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="net.agusharyanto.productcatalog.MainActivity"> <GridView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/gridViewProduct" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:numColumns="3" /> </RelativeLayout> 10. Sekarang mari kita edit class MainActivity lalu ketikan kode berikut. package net.agusharyanto.productcatalog; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.AdapterView; import android.widget.GridView; import android.widget.Toast; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class MainActivity extends AppCompatActivity { private List<Product> products = new ArrayList<Product>(); private GridView gridViewProduct; private ProductAdapter productAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridViewProduct = (GridView) findViewById(R.id.gridViewProduct); initData(); drawDatatoGridView(); } private void initData(){ List<String> fruits= Arrays.asList("apple", "banana", "cherry", "coconut", "grape", "kiwi", "lemon", "mango", "orange", "peach", "pear", "pineapple", "starfruit", "stroberry", "watermelon"); for (int i=0; i<fruits.size(); i++){ int id= i+1; int price = id * 1000; products.add(new Product(id + "", fruits.get(i), fruits.get(i), price + "")); } } private void drawDatatoGridView() { productAdapter = new ProductAdapter(MainActivity.this, R.layout.item_product, products); 6
  • 7. gridViewProduct.setAdapter(productAdapter); gridViewProduct.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Product product = (Product) parent.getAdapter().getItem(position); Toast.makeText(getBaseContext(),"Product Name :"+product.getName(),Toast.LENGTH_SHORT).show(); } }); } } Perhatikan pada class diatas, ada method initData yang gunanya untuk menyiapkan data untuk digunakan pada ProductAdapter. Sedangakan method drawDatatoGridview digunakan untuk menggmabra data tadi ke GridVIew melalui ProductAdapter. 11. Sekarang mari kita jalankan projectnya. Jika semua berjalan lancar maka hasilnya adalah seperti ini. 7
  • 8. Bagaiman sudah berhasil, atau kodingnya masih ada yang error ? Kalau belum tenang saja. Saya sudah siapkan solusinya, yaitu source code tutorial ini bisa di lihat di https://github.com/jatisari/ProductCatalog Ayo semangat calon-calon developer android handal Indonesia. Semoga Bermanfaat Salam Hangat Agus Haryanto Developer Android 8