-->

Membuat aplikasi android spesifikasi handphone menggunakan eclipse

Post a Comment
Membuat aplikasi spesifikasi handphone menggunakan eclipse 
Gambar aplikasi yang sudah jadi:

Tampilan home:

Pilih kategory:

Jika sudah di pilih:

Pilih kisaran Harga

Langkah membuat aplikasi smart phone spec sebagai berikut :

Gambar 1:



next: Gambar 2



Slesai membuat projek pergi ke "Res" dan membuat folder baru dengan nama "anim" di dalam folder anim membuat file baru dengan nama "disappear.xml"
dan ketikan kode berikut:

Disappear.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="400"
/>
</set>

grow_from_buttom.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0.3" android:toXScale="1.0"
android:fromYScale="0.3" android:toYScale="1.0"
android:pivotX="50%" android:pivotY="100%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


grow_from_buttomleft_to_topright.xml
.<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0.3" android:toXScale="1.0"
android:fromYScale="0.3" android:toYScale="1.0"
android:pivotX="0%" android:pivotY="50%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>

grow_from_buttomleft_to_topleft.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0.3" android:toXScale="1.0"
android:fromYScale="0.3" android:toYScale="1.0"
android:pivotX="100%" android:pivotY="50%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>

grow_from_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0.3" android:toXScale="1.0"
android:fromYScale="0.3" android:toYScale="1.0"
android:pivotX="50%" android:pivotY="0%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


grow_from_topleft_to_bottomright.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0.3" android:toXScale="1.0"
android:fromYScale="0.3" android:toYScale="1.0"
android:pivotX="0%" android:pivotY="0%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


grow_from_topright_to_bottomleft.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="0.3" android:toXScale="1.0"
android:fromYScale="0.3" android:toYScale="1.0"
android:pivotX="100%" android:pivotY="0%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>

pump_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.1" android:toXScale="1.0"
android:fromYScale="1.1" android:toYScale="1.0"
android:pivotX="50%" android:pivotY="100%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


pump_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.1" android:toXScale="1.0"
android:fromYScale="1.1" android:toYScale="1.0"
android:pivotX="50%" android:pivotY="0%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


rail.xml
<?xml version="1.0" encoding="utf-8"?>

<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="100%p"
    android:toXDelta="0"
    android:duration="325" />

shrink_from_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0" android:toXScale="0.3"
android:fromYScale="1.0" android:toYScale="0.3"
android:pivotX="50%" android:pivotY="0%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


shrink_from_bottomleft_to_topright.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0" android:toXScale="0.3"
android:fromYScale="1.0" android:toYScale="0.3"
android:pivotX="100%" android:pivotY="0%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>

shrink_from_bottomright_to_topleft.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0" android:toXScale="0.3"
android:fromYScale="1.0" android:toYScale="0.3"
android:pivotX="0%" android:pivotY="0%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


shrink_from_top.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0" android:toXScale="0.3"
android:fromYScale="1.0" android:toYScale="0.3"
android:pivotX="50%" android:pivotY="100%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


shrink_from_topleft_to_bottomright.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0" android:toXScale="0.3"
android:fromYScale="1.0" android:toYScale="0.3"
android:pivotX="100%" android:pivotY="100%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>

shrink_from_topright_to_bottomleft.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0" android:toXScale="0.3"
android:fromYScale="1.0" android:toYScale="0.3"
android:pivotX="0%" android:pivotY="100%"
android:duration="@android:integer/config_shortAnimTime"
/>
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_shortAnimTime"
/>
</set>


slide_in_left.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p" android:toXDelta="0%p"
android:duration="@android:integer/config_longAnimTime"/>


slide_in_right.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%p" android:toXDelta="0%p"
android:duration="@android:integer/config_longAnimTime" />


slide_out_left.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0" android:toXDelta="-100%p"
android:duration="@android:integer/config_longAnimTime" />


slide_out_right.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0" android:toXDelta="100%p"
android:duration="@android:integer/config_longAnimTime" />



Buat folder baru lagi di "Res" beri nama "drawble" di dalam folder "drawble" buat file baru dengan nama

btn_button_tabbar.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="false"
        android:state_pressed="true" />
</selector>

btn_button.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/button"
        android:state_focused="true"
        android:state_pressed="true" />
    <item android:drawable="@drawable/button_pressed"
        android:state_focused="false"
        android:state_pressed="true" />
    <item android:drawable="@drawable/button" android:state_focused="true" />
    <item android:drawable="@drawable/button"
        android:state_focused="false"
        android:state_pressed="false" />
</selector>

btn_home.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/back"
        android:state_focused="true"
        android:state_pressed="true" />
    <item android:drawable="@drawable/back_pressed"
        android:state_focused="false"
        android:state_pressed="true" />
    <item android:drawable="@drawable/back"
    android:state_focused="true" />
    <item android:drawable="@drawable/back"
        android:state_focused="false"
        android:state_pressed="false" />
</selector>

btn_logout.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/exit"
        android:state_focused="true"
        android:state_pressed="true" />
    <item android:drawable="@drawable/exit_pressed"
        android:state_focused="false"
        android:state_pressed="true" />
    <item android:drawable="@drawable/exit" android:state_focused="true" />
    <item android:drawable="@drawable/exit"
        android:state_focused="false"
        android:state_pressed="false" />
</selector>

ripple_effect.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
    <!--
    Biru : #2196F3
    Pink : #EC407A
    Putih: #ffffff
 
     -->
 
<!-- Event click Background merah -->
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="3dp" />
            <solid android:color="#2196F3" />
            <stroke
                android:width="2dp"
                android:color="#2196F3"
                />
         
        </shape>
    </item>
 
    <!-- Event Click focus Warna merah -->
    <item android:state_focused="true">
        <shape android:shape="rectangle">
       <corners android:radius="3dp"/>
       <solid android:color="#2196F3" />
        <stroke
           android:width="2dp"
           android:color="#2196F3" />
        </shape>
    </item>
 
    <!-- Event Click no Action -->
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="3dp" />
            <solid android:color="#C62828" />
            <stroke
                android:width="2dp"
                android:color="#90CAF9" />
        </shape>
    </item>

</selector>

Di folder "res" => "layout" edit "main.xml" tadi menjadi seperti berikut:

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <!-- Included header.xml here -->
<ViewStub android:id="@+id/vsHeader"
   android:inflatedId="@+id/header"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout="@layout/header" />

<LinearLayout android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_weight="1"
    android:background="@drawable/background" >
   
   <TableLayout android:layout_width="fill_parent"
      android:layout_height="75dip"
      android:stretchColumns="1"
      android:layout_marginLeft="5dip"
      android:layout_marginRight="5dip">
     
      <TableRow android:layout_marginTop="10dip">
         
    <TextView android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/kategori"
      android:textSize="15sp"
      android:textColor="#FFF"
      android:typeface="serif"
      android:textStyle="bold"
      android:layout_marginLeft="15dip"/>
   
          <TextView android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/kisaran"
      android:textSize="15sp"
      android:textColor="#FFF"
      android:typeface="serif"
      android:textStyle="bold"
      android:layout_marginLeft="10dip"/>
      </TableRow>
     
      <TableRow>
      <Spinner android:id="@+id/kategori"
      android:layout_width="125dip"
      android:layout_height="40dip"
      android:drawSelectorOnTop="true"
      android:layout_marginLeft="12dip"
      android:prompt="@string/spinner_kategori_prompt"
      />
     
      <Spinner android:id="@+id/kisaran"
      android:layout_width="125dip"
      android:layout_height="40dip"
      android:drawSelectorOnTop="true"
      android:layout_marginLeft="7dip"
      android:layout_marginRight="15dip"
      android:prompt="@string/spinner_kisaran_prompt"
      />
      </TableRow>
    </TableLayout>
 
    <ListView
       android:id="@android:id/list"
       android:layout_width="fill_parent"
      android:layout_height="wrap_content"
  android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_marginTop="1dp"
            android:layout_marginBottom="3dp"
            android:cacheColorHint="@android:color/transparent"
            android:divider="@null"
            android:dividerHeight="10dp"
            android:listSelector="@android:color/transparent" >
    </ListView>
</LinearLayout>
</LinearLayout>

Tambahkan file layouth xml dengan nama:

detail.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <!-- Included header.xml here -->
<ViewStub android:id="@+id/vsHeader"
   android:inflatedId="@+id/header"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout="@layout/header" />

<RelativeLayout android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_weight="1"
    android:background="@drawable/background" >
   <!--  ListRow Left side Thumbnail image -->
  <LinearLayout android:id="@+id/thumbnail"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_marginRight="5dip"
      android:layout_marginLeft="15dip"
      android:layout_marginTop="5dip">
      <ImageView android:id="@+id/list_image"
        android:layout_width="120dip"
        android:layout_height="150dip" />
  </LinearLayout>

  <TextView android:id="@+id/title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignTop="@+id/thumbnail"
      android:layout_toRightOf="@+id/thumbnail"
      android:visibility="gone" />

<TextView android:id="@+id/keterangan"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_below="@id/title"
      android:textColor="#FFF"
      android:textSize="12dip"
      android:typeface="serif"
      android:layout_marginTop="15dip"
      android:layout_toRightOf="@+id/thumbnail"
      android:layout_marginRight="10dip" />
     
      <TextView android:id="@+id/spec"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_below="@id/keterangan"
      android:textColor="#FFF"
      android:textSize="12dip"
      android:typeface="serif"
      android:layout_marginTop="1dip"
      android:layout_toRightOf="@+id/thumbnail"
      android:layout_marginRight="10dip" />
     
      <TextView android:id="@+id/detail"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_below="@id/thumbnail"
      android:textColor="#FFF"
      android:textSize="12dip"
      android:typeface="serif"
      android:layout_marginTop="10dip"
      android:layout_marginRight="20dip"
      android:layout_marginLeft="20dip" />


<ListView android:layout_width="fill_parent"
      android:layout_height="wrap_content"
  android:id="@android:id/list"
  android:visibility="gone" >
    </ListView>
</RelativeLayout>
</LinearLayout>

footer.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="45dip"
    android:gravity="bottom"
    android:layout_alignParentBottom="true"
    android:layout_gravity="bottom"
    android:background="@drawable/tabbar" >

<LinearLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
  android:gravity="center_horizontal" >
 
  <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="15dip"
        android:gravity="center"
        android:text="www.basitsteviejhei.blogspot.com"
        android:textSize="12sp"
        android:textStyle="bold"
        android:textColor="#FFF"
        android:typeface="serif" />
    </LinearLayout>

</RelativeLayout>

header.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="50dip"
    android:background="@drawable/menubar" >

    <LinearLayout android:id="@+id/panelIconLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="7dp"
        android:layout_marginTop="9dip" >
        <Button android:id="@+id/btnHome"
            android:layout_width="58dip"
            android:layout_height="30dip"
            android:background="@drawable/btn_home"
            android:onClick="btnHomeClick"
            android:text="Home"
            android:paddingLeft="5dip"
            android:textColor="#FFF"
            android:typeface="serif"
            android:textSize="11sp"
            android:textStyle="bold" />
    </LinearLayout>

    <TextView android:id="@+id/txtHeading"
        style="@style/heading_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_toLeftOf="@+id/panelIconRight"
        android:layout_toRightOf="@id/panelIconLeft"
        android:layout_marginTop="7dip"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:gravity="center"
        android:marqueeRepeatLimit="marquee_forever"
        android:singleLine="true"
        android:text="Smartphone Spesification"
        android:typeface="serif"
        android:textColor="@android:color/white" />

    <LinearLayout android:id="@+id/panelIconRight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="7dip"
        android:layout_marginTop="9dip" >
<Button android:id="@+id/btnFeedback"
            android:layout_width="58dip"
            android:layout_height="30dip"
            android:background="@drawable/btn_logout"
            android:onClick="btnFeedbackClick"
            android:text="Exit"
            android:textColor="#FFF"
            android:typeface="serif"
            android:textSize="11sp"
            android:textStyle="bold" />
    </LinearLayout>
</RelativeLayout>

list_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal"
   android:background="@drawable/ripple_effect"
   android:padding="5dip" >

   <!--  ListRow Left side Thumbnail image -->
   <LinearLayout android:id="@+id/thumbnail"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_marginRight="5dip"
      >
   
      <ImageView android:id="@+id/list_image"
         android:layout_width="70dip"
         android:layout_height="70dip" />
   </LinearLayout>

   <TextView android:id="@+id/title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignTop="@+id/thumbnail"
      android:layout_toRightOf="@+id/thumbnail"
      android:textColor="@color/white"
      android:typeface="serif"
      android:textSize="13dip"
      android:textStyle="bold"
      android:layout_marginRight="10dip" />

   <TextView android:id="@+id/keterangan"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_below="@id/title"
      android:textColor="@color/white"
      android:textSize="11dip"
      android:typeface="serif"
      android:layout_marginTop="1dip"
      android:layout_toRightOf="@+id/thumbnail" />
     
   <TextView android:id="@+id/txtImage"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:textColor="@color/white"
      android:visibility="gone" />

   <TextView android:id="@+id/id"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginTop="5dip"
      android:textColor="@color/white"
      android:visibility="gone"/>
 
   <TextView android:id="@+id/spec"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textColor="@color/white"
      android:visibility="gone"/>
   
   <TextView android:id="@+id/detail"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textColor="@color/white"
      android:visibility="gone"/>
   
</RelativeLayout>

spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="12dip"
    android:typeface="serif"
    android:gravity="center_vertical"
    android:textColor="@color/white"/>


Ubah kodingan di file java main dengan cara masuk ke folder "src" name pack "basith.S.kom.smartphone" file java "Activity_main.java" ubah menjadi:

MainActivity.java
package basith.S.Kom.smartphone;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import basith.S.Kom.adapter.BarangAdapter;
import basith.S.Kom.database.BarangDB;
import basith.S.Kom.database.KategoriDB;
import basith.S.Kom.database.KisaranDB;
import basith.S.Kom.smartphone.R;

import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.TextView;


public class MainActivity extends DashBoardActivity {
private Spinner Kategori, Kisaran;
private KategoriDB dbKategori;
private KisaranDB dbKisaran;
private SQLiteDatabase db1 = null;
private SQLiteDatabase db2 = null;
public static final String AR_ID     = "Id";
public static final String AR_NAMA   = "Nama";
public static final String AR_IMAGE  = "Image";
public static final String AR_KETERANGAN = "Keterangan";
public static final String AR_SPEC   = "Spec";
public static final String AR_DETAIL = "Detail";

ArrayList<HashMap<String, String>> daftar_list = new ArrayList<HashMap<String, String>>();

private SQLiteDatabase db = null;
private BarangDB dataDB   = null;
private Cursor cursor     = null;

private HashMap<String, String> mapp;
private ListView list;
private BarangAdapter adap;
private String kategori, kisaran;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
        setHeader(getString(R.string.HomeActivityTitle), false, true);
     
        if (getIntent().getBooleanExtra("EXIT", false)) {
            finish();
        }
     
        dbKategori = new KategoriDB(this);
        db1 = dbKategori.getWritableDatabase();
        dbKategori.createTable(db1);
        dbKategori.generateData(db1);
     
        dbKisaran = new KisaranDB(this);
        db2 = dbKisaran.getWritableDatabase();
        dbKisaran.createTable(db2);
        dbKisaran.generateData(db2);
     
        dataDB = new BarangDB(this);
   db = dataDB.getWritableDatabase();
   dataDB.createTable(db);
   dataDB.generateData(db);

        isiDataSpinnerKategori();
        isiDataSpinnerKisaran();
        getList();
     
        Kategori.setOnItemSelectedListener(new OnItemSelectedListener(){
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
            kategori = Kategori.getSelectedItem().toString();
            adap.clearList();
getList();
            }
            public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
        });
     
        Kisaran.setOnItemSelectedListener(new OnItemSelectedListener(){
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
            kisaran = Kisaran.getSelectedItem().toString();
            adap.clearList();
getList();
            }
            public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
        });
    }
 
    private void isiDataSpinnerKategori() {
    Kategori = (Spinner) findViewById(R.id.kategori);
    List<String> lables = dbKategori.getAllLabels();
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                R.layout.spinner_item, lables);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        Kategori.setAdapter(dataAdapter);
        kategori = Kategori.getSelectedItem().toString();
    }
 
    private void isiDataSpinnerKisaran() {
    Kisaran = (Spinner) findViewById(R.id.kisaran);
    List<String> lables = dbKisaran.getAllLabels();
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                R.layout.spinner_item, lables);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        Kisaran.setAdapter(dataAdapter);
    kisaran  = Kisaran.getSelectedItem().toString();
    }
 
    public void getList() {
    try {
   cursor = db.rawQuery("SELECT * " + "FROM Barang WHERE Kategori = '" + kategori + "'" + " and Kisaran = '" + kisaran + "';", null);
   if (cursor.getCount() > 0) {
    int indexId         = cursor.getColumnIndex("id");
    int indexNama       = cursor.getColumnIndex("nama");
    int indexImage      = cursor.getColumnIndex("image");
    int indexKeterangan = cursor.getColumnIndex("keterangan");
    int indexSpec       = cursor.getColumnIndex("spec");
    int indexDetail     = cursor.getColumnIndex("detail");
   
    cursor.moveToFirst();
do {
String Id         = cursor.getString(indexId);
String Nama       = cursor.getString(indexNama);
String Image      = cursor.getString(indexImage);
String Keterangan = cursor.getString(indexKeterangan);
String Spec       = cursor.getString(indexSpec);
String Detail     = cursor.getString(indexDetail);

mapp = new HashMap<String, String>();
mapp.put(AR_ID, Id);
mapp.put(AR_NAMA, Nama);
mapp.put(AR_IMAGE, Image);
mapp.put(AR_KETERANGAN, Keterangan);
mapp.put(AR_SPEC, Spec);
mapp.put(AR_DETAIL, Detail);

daftar_list.add(mapp);

cursor.moveToNext();
} while (!cursor.isAfterLast());
   }
   } finally {
if (cursor != null) {
cursor.close();
}

this.adapter_listview();
}
    }
 
    public void adapter_listview() {
list = getListView();
adap = new BarangAdapter(this, daftar_list);
        list.setAdapter(adap);
     
        list.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// TODO Auto-generated method stub
String image = ((TextView) view.findViewById(R.id.txtImage)).getText().toString();
String title = ((TextView) view.findViewById(R.id.title)).getText().toString();
String keter = ((TextView) view.findViewById(R.id.keterangan)).getText().toString();
String spec  = ((TextView) view.findViewById(R.id.spec)).getText().toString();
String detai = ((TextView) view.findViewById(R.id.detail)).getText().toString();
Intent intent = new Intent(getApplicationContext(), DetailActivity.class);
    overridePendingTransition( R.anim.slide_in_left, R.anim.slide_out_left );
    intent.putExtra("Image", image);
    intent.putExtra("Title", title);
    intent.putExtra("Keterangan", keter);
    intent.putExtra("Spec", spec);
    intent.putExtra("Detail", detai);
    startActivity(intent);
}
});
    }
 
    @Override
    public void onDestroy() {
    super.onDestroy();
    try {
    db1.close();
    db2.close();
    } catch (Exception e) {
   
    }
    }
}

Buat file baru di folder "basith.S.kom.smartphone"

DashBoardActivity.java
package basith.S.Kom.smartphone;

import basith.S.Kom.smartphone.R;

import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewStub;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.app.AlertDialog.Builder;


public abstract class DashBoardActivity extends ListActivity {
// Constant for identifying the dialog
private static final int DIALOG_ALERT = 10;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     
    }
   
    public void setHeader(String title, boolean btnHomeVisible, boolean btnFeedbackVisible) {
    ViewStub stub = (ViewStub) findViewById(R.id.vsHeader);
    View inflated = stub.inflate();
       
    TextView txtTitle = (TextView) inflated.findViewById(R.id.txtHeading);
    txtTitle.setText(title);
   
    Button btnHome = (Button) inflated.findViewById(R.id.btnHome);
    if(!btnHomeVisible)
    btnHome.setVisibility(View.INVISIBLE);
   
    Button btnFeedback = (Button) inflated.findViewById(R.id.btnFeedback);
    if(!btnFeedbackVisible)
    btnFeedback.setVisibility(View.INVISIBLE);
    }
 
    /**
     * Home button click handler
     * @param v
     */
    public void btnHomeClick(View v) {
    Intent intent = null;
    intent = new Intent(getApplicationContext(), MainActivity.class);
    intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);
    overridePendingTransition( R.anim.slide_in_left, R.anim.slide_out_left );
    startActivity(intent);
    }
 
    /**
     * Logout button click handler
     * @param v
     */
    public void btnFeedbackClick(View v) {
    showDialog(DIALOG_ALERT);
    }
 
    @Override
    protected Dialog onCreateDialog(int id) {
      switch (id) {
        case DIALOG_ALERT:
        // Create out AlterDialog
        Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Apakah Anda Benar-Benar ingin keluar?");
        builder.setCancelable(true);
        builder.setPositiveButton("Ya", new OkOnClickListener());
        builder.setNegativeButton("Tidak", new CancelOnClickListener());
        AlertDialog dialog = builder.create();
        dialog.show();
       }
      return super.onCreateDialog(id);
    }

    private final class CancelOnClickListener implements DialogInterface.OnClickListener {
    @Override
      public void onClick(DialogInterface dialog, int which) {
    dialog.cancel();
      }
    }

    private final class OkOnClickListener implements DialogInterface.OnClickListener {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("EXIT", true);
    overridePendingTransition( R.anim.slide_in_left, R.anim.slide_out_left );
    startActivity(intent);
    finish();
      }
    }
     
    // TODO Wrapper method to encapsulate getApplicationContext() that is needed for displaying Toast message
protected void showToast(String text) {
Toast.makeText(getApplication(), text, Toast.LENGTH_SHORT).show();
}
}

DetailActivity.java
package basith.S.Kom.smartphone;

import basith.S.Kom.smartphone.R;

import android.os.Bundle;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;


public class DetailActivity extends DashBoardActivity {
/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.detail);
     
        Bundle b = getIntent().getExtras();
    String Image = b.getString("Image");
    String Title = b.getString("Title");
    String Keterangan = b.getString("Keterangan");
    String Spec   = b.getString("Spec");
    String Detail = b.getString("Detail");
   
        setHeader(Title, true, true);
     
        TextView keterangan   = (TextView) findViewById(R.id.keterangan);
        TextView spec         = (TextView) findViewById(R.id.spec);
        TextView txtDetail    = (TextView) findViewById(R.id.detail);
        ImageView thumb_image = (ImageView) findViewById(R.id.list_image);
     
        txtDetail.setText(Detail);
        keterangan.setText("Harga: " + Keterangan);
        spec.setText("\nSpesifikasi:\n" + Spec);
     
        if (Image.equals("bb8530.png")) {
        thumb_image.setImageResource(R.drawable.bb8530);
        } else if (Image.equals("samsung5360.png")) {
        thumb_image.setImageResource(R.drawable.samsung5360);
        } else if (Image.equals("bb9220.png")) {
        thumb_image.setImageResource(R.drawable.bb9220);
        } else if (Image.equals("st23i.png")) {
        thumb_image.setImageResource(R.drawable.st23i);
        } else if (Image.equals("e445.png")) {
        thumb_image.setImageResource(R.drawable.e445);
        } else if (Image.equals("n520.png")) {
        thumb_image.setImageResource(R.drawable.n520);
        } else if (Image.equals("z30.png")) {
        thumb_image.setImageResource(R.drawable.z30);
        } else if (Image.equals("core2.png")) {
        thumb_image.setImageResource(R.drawable.core2);
        } else if (Image.equals("redmi2.png")) {
        thumb_image.setImageResource(R.drawable.redmi2);
        } else if (Image.equals("galaxv.png")) {
        thumb_image.setImageResource(R.drawable.galaxv);
        } else if (Image.equals("young2.png")) {
        thumb_image.setImageResource(R.drawable.young2);
        } else if (Image.equals("curve.png")) {
        thumb_image.setImageResource(R.drawable.curve);
        } else if (Image.equals("storm.png")) {
        thumb_image.setImageResource(R.drawable.storm);
        } else if (Image.equals("javelin.png")) {
        thumb_image.setImageResource(R.drawable.javelin);
        } else if (Image.equals("tour.png")) {
        thumb_image.setImageResource(R.drawable.tour);
        } else if (Image.equals("porsche.png")) {
        thumb_image.setImageResource(R.drawable.porsche);
        } else if (Image.equals("bold.png")) {
        thumb_image.setImageResource(R.drawable.bold);
        } else if (Image.equals("note4.png")) {
        thumb_image.setImageResource(R.drawable.note4);
        } else if (Image.equals("ace4.png")) {
        thumb_image.setImageResource(R.drawable.ace4);
        } else if (Image.equals("lumia610.png")) {
        thumb_image.setImageResource(R.drawable.lumia610);
        } else if (Image.equals("lumia800.png")) {
        thumb_image.setImageResource(R.drawable.lumia800);
        } else if (Image.equals("lumia710.png")) {
        thumb_image.setImageResource(R.drawable.lumia710);
        } else if (Image.equals("lumia510.png")) {
        thumb_image.setImageResource(R.drawable.lumia510);
        }
    }
}

Dan buat folder pack baru di "src" dengan cara click kanan di "src" new => "package" isikan dengan nama "basith.S.kom.database"

Buat file baru di "basith.S.kom.database"

BarangDB.java
package basith.S.Kom.database;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class BarangDB extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "smartphoneDB";
public static final String KATEGORI   = "kategori";
public static final String KISARAN    = "kisaran";
public static final String NAMA       = "nama";
public static final String IMAGE      = "image";
public static final String KETERANGAN = "keterangan";
public static final String SPEC       = "spec";
public static final String DETAIL     = "detail";

public BarangDB(Context context) {
super(context, DATABASE_NAME, null, 1);
}

public void createTable(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS Barang");
db.execSQL("CREATE TABLE if not exists Barang " +
"(id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"kategori varchar(50), kisaran varchar(50), " +
"nama varchar(50), image varchar(50), " +
"keterangan TEXT, spec TEXT, detail TEXT);");
}

public void generateData(SQLiteDatabase db) {
ContentValues cv = new ContentValues();
cv.put(KATEGORI, "Android");
cv.put(KISARAN, "1 Juta - 1,5 Juta");
cv.put(NAMA, "Samsung Galaxy ACE 4");
cv.put(IMAGE, "ace4.png");
cv.put(KETERANGAN, "Harga RP 1.349.000\nSebelumnya " +
"RP 1.499.000");
cv.put(SPEC, "Layar 4 inch” TFT Capacitive Touchscreen" +
"OS Kitkat 442\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Resolusi 480 x 800 Pixel, 16 juta Warna, " +
"Jenis Simcard; Micro SIM, aringan GPRS, EDGE, 3G, " +
"HSDPA 21 Mbps HSUPA 5,6 Mbps. " +
"Dengan Kamera Utama 5MP, Autofocus, LED Flash,  " +
"PerekamVideo HD 720p@30Fps " +
"Memori Internal: 4GB, Memori Eksternal: Micro SD upto 64GB " +
", WIFI, GPS, Bluetooth 4.0.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "1,5 Juta - Keatas");
cv.put(NAMA, "Samsung Galaxy Note 4");
cv.put(IMAGE, "note4.png");
cv.put(KETERANGAN, "Harga RP 7.900.000\nSebelumnya " +
"RP 8.999.000");
cv.put(SPEC, " GSM / HSPA / LTE " +
"Dimensi 153.5 x 78.6 x 8.5 mm (6.04 x 3.09 x 0.33 in)\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Fingerprint sensor (PayPal certified)," +
"type Super AMOLED capacitive touchscreen, 16M colors, " +
"size 5.7 inches (~74.2% screen-to-body ratio) " +
"OS Android OS, v4.4.4 (KitKat), upgradable to v5.0.1 (Lollipop), " +
"dengan Qualcomm Snapdragon 805 (SM-N910S),Exynos 5433 (SM-N910C)  " +
"CPU Quad-core 2.7 GHz Krait 450 (SM-N910S), " +
"Micro SD, up to 128 GB " +
"internal 32 GB, 3 GB RAM," +
"kamera 16 MP, 5312 x 2988 pixels, optical image stabilization " +
"autofocus, LED flash, Dual Shot, Simultaneous HD video and image " +
"recording, geo-tagging, touch focus, face/smile , " +
"detection, panorama, HDR.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "1 Juta - 1,5 Juta");
cv.put(NAMA, "Blackberry Bold 9790");
cv.put(IMAGE, "bold.png");
cv.put(KETERANGAN, "Harga RP 1.749.000\nSebelumnya " +
"RP 1.999.000");
cv.put(SPEC, "- 2.44 Layar TFT\n- Blackberry " +
"OS 7.1\n- 2 MP Kamera\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"BlackBerry Curve 9220 Davis merupakan " +
"handphone terbaru dari Blackberry berdesain " +
"elegan dengan keyboard QWERTY yang ergonomis. " +
"Dengan fitur yang dapat memenuhi kebutuhan " +
"komunikasi Anda setiap hari. Keluaran terbaru " +
"dari seri Curve ini memberikan pengetahuan " +
"yang berlebih dari adanya fitur FM radio ini.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "1,5 Juta - Keatas");
cv.put(NAMA, "Blackberry Porsche");
cv.put(IMAGE, "porsche.png");
cv.put(KETERANGAN, "Harga Rp 19.999.000\nSebelumnya " +
"RP 21.109.999");
cv.put(SPEC, "Memori: RAM 768MB, eMMC 8 GB" +
"Prosesor: MSM 8655, 1.2GHz");
cv.put(DETAIL, "Detail Produk :\n" +
"Layar sentuh kapasitif, Bidang sentuh optik " +
"Tombol Keluar di sebelah kanan bidang sentuh" +
"Keyboard QWERTY lebar 35 tombol dengan lampu latar" +
"Baterai lithium ion 1230 mAh yang dapat dilepas/diisi daya ulang " +
"Waktu bicara: hingga 5.5 jam (GSM®), hingga 6.6 jam (UMTS®)" +
"Waktu siaga: hingga 8.9 hari (GSM), hingga 13.1 hari (UMTS)" +
"Waktu pemutaran video: hingga 8.08 jam " );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "BlackBerry Tour 9630 ");
cv.put(IMAGE, "tour.png");
cv.put(KETERANGAN, "Harga RP 500.000\nSebelumnya " +
"RP 800.000");
cv.put(SPEC, "ukuran 480 x 360 pixels, 2.4 inches" +
"Type 65K colors\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"GSM 850 /900/1800/1900 HSDPA 2100 CDMA/EVDO Rev A 800/1900,  " +
"fITUR QWERTY keyboard - Trackball navigation, " +
"Jack 3.5 mm audio jack, 3G HSDPA; HSUPA, " +
"kamera 3.15 MP, 2048x1536 pixels, autofocus, LED flash,  " +
"GPS Ya, with A-GPS support, BlackBerry Maps " +
"bateray Standard battery, Li-Ion 1400 mAh, " +
"Video Player MP4/WMV/H.263/H.264 player" );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "BlackBerry Javelin 8900 ");
cv.put(IMAGE, "javelin.png");
cv.put(KETERANGAN, "Harga RP 900.000\nSebelumnya " +
"RP 1.100.000");
cv.put(SPEC, "Jaringan 2G GSM 850 / 900 / 1800 / 1900" +
"Type TFT, 65K warna\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Ukuran 109 x 60 x 13.5 mm / 110 g,  " +
"QWERTY keyboard - Trackball navigation - BlackBerry maps, " +
"Voice dial/memo - led flash - auto fokus, " +
"kamera 3.15 MP, 2048x1536 piksel,  " +
"GPS with A-GPS support, dan SMS, MMS, Email, IM " +
"bateray Li-Ion 1400 mAh, " +
"GPRS Class 10 (4+1/3+2 slots), 32 - 48 kbps" );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "BlackBerry Storm 9500 ");
cv.put(IMAGE, "storm.png");
cv.put(KETERANGAN, "Harga RP 800.000\nSebelumnya " +
"RP 1.050.000");
cv.put(SPEC, "GSM / HSPA " +
"Mini-SIM\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Tipe TFT capacitive touchscreen, 65K colors,  " +
"ukuran 3.25 inches (~46.7% screen-to-body ratio), " +
"dengan 360 x 480 pixels (~185 ppi pixel density), " +
"OS BlackBerry OS, chipset Qualcomm MSM7600,  " +
"CPU 528 MHz ARM 11, GPU Adreno 130, " +
"microSD, up to 16 GB, 8 GB included, " +
"1 GB, 128 MB RAM, 192 MB ROM" );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "BlackBerry Curve 8520 ");
cv.put(IMAGE, "curve.png");
cv.put(KETERANGAN, "Harga RP 700.000\nSebelumnya " +
"RP 900.000");
cv.put(SPEC, "TFT, 65K colors " +
"Dimensi 109 x 60 x 13.9 mm (4.29 x 2.36 x 0.55 in)\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"microSD, up to 32 GB, internal 256 mb,  " +
"2.46 inches (~28.7% screen-to-body ratio), " +
"resolusi 320 x 240 pixels (~163 ppi pixel density), " +
"OS BlackBerry OS 5.0, CPU 512 MHz,  " +
"Camera 2 MP, 1600 x 1200 pixels, " +
"Bateray Li-Ion 1150 mAh battery, " +
"WLAN Wi-Fi 802.11b/g" );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "Samsung Galaxy Young 2 Duos ");
cv.put(IMAGE, "young2.png");
cv.put(KETERANGAN, "Harga RP 900.000\nSebelumnya " +
"RP 1.000.000");
cv.put(SPEC, "Sim Card :Dual Sim " +
"320 x 480 pixels, 3.27 inches\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Ponsel ini masih menggunakan layar berkualitas rendah,  " +
"walaupun sudah bertipet TFT Touchscreen, " +
"namun kepadatan warnanya hanya 265k, " +
"pada bentang layar berukuran 3.27 Inch,  " +
"dengan resolusi 320 x 480, " +
"Memori internal berukuran 4gb, " +
"hp ini dilengkapi dengan Ram berukuran 768 MB " );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "Samsung Galaxy V ");
cv.put(IMAGE, "galaxv.png");
cv.put(KETERANGAN, "Harga RP 997.000\nSebelumnya " +
"RP 1.100.000");
cv.put(SPEC, "Sim Card :Dual Sim " +
"Layar 4 inch\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"resolusi FWVGA 854 x 480 pixel,  " +
"menggunakan layar berjenis TFT kapasitif, " +
"serta memiliki kerapatan layar hingga 233 ppi, " +
"Untuk sistem operasinya, Galaxy V ini,  " +
"berjalan dengan sistem operasi Android KitKat 4.4 " +
"chipset Spreadtrum SC6815, dual camera " +
"Memori RAM yang tersedia berkapasitas 512 MB " );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "1 Juta - 1,5 Juta");
cv.put(NAMA, "Xiaomi Redmi 2 / 2S Resmi Befitur LTE ");
cv.put(IMAGE, "redmi2.png");
cv.put(KETERANGAN, "Harga RP 1.419.000\nSebelumnya " +
"RP 1.500.000");
cv.put(SPEC, "Sim Card :Dual Sim " +
"137 x 69 x 9.4 mm\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Qualcomm Snapdragon 410, Quad-core 1.2 GHz Cortex A53 64 Bit,  " +
"4.5 inches (~207 ppi pixel density), " +
"IPS display 720 x 1280 pixels, 4.7 inches , " +
"(~312 ppi pixel density),  " +
"Bluetooth V4.0., OS : Android OS, v4.4.2 (KitKat) " +
"dengan kamera belakang 8 mp dan depan 2mp " +
"bateray 2200 mAH " );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "1 Juta - 1,5 Juta");
cv.put(NAMA, "Samsung Galaxy Core 2");
cv.put(IMAGE, "core2.png");
cv.put(KETERANGAN, "Harga RP 1.319.000\nSebelumnya " +
"RP 1.499.999");
cv.put(SPEC, "Sim Card :Dual Sim " +
"4 GB, microSD, up to 32 GB\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Layar : TFT capacitive touchscreen, 480 x 800 pixels,  " +
"4.5 inches (~207 ppi pixel density), " +
"Konektivitas : HSDPA, 21 Mbps; HSUPA, 5.76 Mbps, " +
"Wifi 802.11/b/g/n/ac, ac dual-band, WI-FI, GPS,  " +
"Bluetooth V4.0., OS : Android OS, v4.4.2 (KitKat) " +
"dengan kamera belakang 5 mp dan depan VGA " +
"bateray 2000 mAH " );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "Blackberry CDMA 8530 - Hitam");
cv.put(IMAGE, "bb8530.png");
cv.put(KETERANGAN, "Harga RP 719.000\nSebelumnya " +
"RP 1.999.999");
cv.put(SPEC, "- 2.5 Layar TFT\n- Blackberry " +
"OS5\n- 2 MP Kamera\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Smartfren membundling Blackberry 8530 " +
"atau Aries sebagai perangkat handset " +
"keluaran RIM mobile yang menggunakan " +
"sistem operasi Blackberry OS dengan jaringan " +
"CDMA. Smartphone ini dilengkapi " +
"dengan beberapa aplikasi untuk mendukung " +
"bisnis Anda dan berfungsi sangat baik seperti " +
"fasilitas untuk memuat dan membaca email yang " +
"masuk secara langsung (Push Mail) dan tombol " +
"QWERTY yang tertata/terpisah-pisah dengan baik " +
"untuk kemudahan dalam pengetikan.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "1,5 Juta - Keatas");
cv.put(NAMA, "Blackberry Z30");
cv.put(IMAGE, "z30.png");
cv.put(KETERANGAN, "Harga Rp 7.999.000\nSebelumnya " +
"RP 8.109.999");
cv.put(SPEC, "720 x 1280 pixels, 5.0 inches" +
"~294 ppi pixel density");
cv.put(DETAIL, "Detail Produk :\n" +
"Super AMOLED capacitive touchscreen, 16M colors " +
"Internal 16 GB storage" +
"dengan 2 GB RAM " +
"Sistem Operasi BB BlackBerry 10.2 OS " +
"Qualcomm Snapdragon S4Pro, Dual-core 1.7 GHz Krait " +
"dengan Kamera belakang 8 MP " +
"dan Kamera depan 2 MP " );
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "Samsung Galaxy Y S5360 - 160 MB");
cv.put(IMAGE, "samsung5360.png");
cv.put(KETERANGAN, "Harga RP 899.900\nSebelumnya " +
"RP 1.099.000");
cv.put(SPEC, "- 3 TFT Touch Screen\n- Android " +
"OS 2.3\n- 2 MP Kamera\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Samsung Galaxy Y, Android smartphone " +
"bagi Anda yang muda dan dinamis dengan " +
"fungsi yang menakjubkan namun tetap " +
"ringan, kompak dan stylish. Dilengkapi " +
"dengan fitur Social Hub, Quickoffice, " +
"Wi-Fi dan tampilan antar muka yang menarik, " +
"handphone ini lengkap akan fitur yang " +
"mendukung mobilitas Anda.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Blackberry");
cv.put(KISARAN, "1 Juta - 1,5 Juta");
cv.put(NAMA, "Blackberry Davis 9220 - Hitam");
cv.put(IMAGE, "bb9220.png");
cv.put(KETERANGAN, "Harga RP 1.449.000\nSebelumnya " +
"RP 1.799.000");
cv.put(SPEC, "- 2.44 Layar TFT\n- Blackberry " +
"OS 7.1\n- 2 MP Kamera\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"BlackBerry Curve 9220 Davis merupakan " +
"handphone terbaru dari Blackberry berdesain " +
"elegan dengan keyboard QWERTY yang ergonomis. " +
"Dengan fitur yang dapat memenuhi kebutuhan " +
"komunikasi Anda setiap hari. Keluaran terbaru " +
"dari seri Curve ini memberikan pengetahuan " +
"yang berlebih dari adanya fitur FM radio ini.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "1,5 Juta - Keatas");
cv.put(NAMA, "Sony Xperia Miro ST23i - 4 GB - Hitam");
cv.put(IMAGE, "st23i.png");
cv.put(KETERANGAN, "Harga RP 1.900.000\nSebelumnya " +
"RP 1.999.000");
cv.put(SPEC, "- 3.5 TFT Touch Screen\n- Android " +
"4.0\n- 5 MP Kamera\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Sony kembali menghadirkan serian Xperia dengan " +
"berbagai fitur yang menarik, Sony Xperia Miro " +
"ST23i. Smartphone ini telah didukung sistem " +
"operasi terbaru Android 4.0 Ice Cream Sandwich. " +
"Smartphone ini dikemas dengan fitur multimedia " +
"yang lengkap, kamera beresolusi 5 megapiksel " +
"serta kamera sekunder 0.3 megapiksel. " +
"Anda dapat langsung berbagi foto karena " +
"Sony Xperia Miro telah terintegrasi dengan " +
"Facebook. Dengan desain yang stylish dan " +
"berbagai pilihan warna yang menarik, " +
"Anda dapat tetap tampil eksis sekaligus stylish.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Android");
cv.put(KISARAN, "1,5 Juta - Keatas");
cv.put(NAMA, "LG Optimus L4 II Dual E445 – 4 GB – Hitam");
cv.put(IMAGE, "e445.png");
cv.put(KETERANGAN, "Harga RP 1.539.000\nSebelumnya " +
"RP 1.699.000");
cv.put(SPEC, "- 3.8 IPS Touchscreen\n- Android " +
"OS 4.1 Jelly Bean\n- 3.15 MP Camera\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"LG kembali menghadirkan seri Optimus terbaru " +
"untuk entry-level yaitu LG Optimus L4 II " +
"Dual E445. Sesuai dengan namanya, smartphone " +
"ini hampir sama dengan LG Optimus L4 II " +
"namun untuk seri E445 dikemas dengan sistem " +
"Dual GSM Stand-by memberikan " +
"Anda fleksibilitas bagi Anda yang memiliki dua " +
"nomor GSM yang berbeda. Tampil dengan layar IPS " +
"berukuran 3.8, smartphone ini telah didukung " +
"Android 4.1 Jelly Bean. Tak hanya itu, berbagai " +
"fitur hiburan telah dilengkapi untuk menemani " +
"aktivitas Anda.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Nokia Lumia");
cv.put(KISARAN, "1,5 Juta - Keatas");
cv.put(NAMA, "Nokia Lumia 520 - 8 GB - Putih");
cv.put(IMAGE, "n520.png");
cv.put(KETERANGAN, "Harga RP 1.599.000\nSebelumnya " +
"RP 1.850.000");
cv.put(SPEC, "- 4 IPS Touchscreen\n- Windows " +
"Phone 8\n- 5 MP Camera\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Nokia merilis smartphone jajaran Windows " +
"Phone 8 dengan harga yang paling terjangkau, " +
"Nokia Lumia 520. Hadir dengan ukuran layar 4 " +
"berteknologi IPS kapasitif membuatnya nyaman " +
"untuk menikmati berbagai hiburan multimedia. " +
"Untuk kinerjanya, prosesor Dual Core siap " +
"memberikan Anda kemudahan dalam mengerjakan " +
"multi aplikasi. Dengan kamera beresolusi 5 MP " +
"dan video 720p, bidik berbagai momen favorit " +
"di sekitar. Dengan desain ala Lumia dan " +
"berbagai pilihan warna menarik, smartphone " +
"ini dapat menjadi pilihan bagi Anda yang " +
"ingin merasakan pengalaman baru Windows " +
"phone dengan harga yang terjangkau.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Nokia Lumia");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "Nokia Lumia 510 Hitam");
cv.put(IMAGE, "lumia510.png");
cv.put(KETERANGAN, "Harga RP 899.000\nSebelumnya " +
"RP 1.090.000");
cv.put(SPEC, "layar 4 inchi" +
"OS Windows 7.8 Phone\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Nokia merilis smartphone jajaran Windows " +
"Phone 8 dengan harga yang paling terjangkau, " +
"Nokia Lumia 510. Hadir dengan ukuran layar 3.7 " +
"berteknologi IPS kapasitif membuatnya nyaman " +
"untuk menikmati berbagai hiburan multimedia. " +
"Untuk kinerjanya, prosesor Dual Core siap " +
"memberikan Anda kemudahan dalam mengerjakan " +
"multi aplikasi. Dengan kamera beresolusi 5 MP " +
"dan batre 1300 mAH, bidik berbagai momen favorit " +
"di sekitar. Dengan desain ala Lumia dan " +
"berbagai pilihan warna menarik, smartphone " +
"ini dapat menjadi pilihan bagi Anda yang " +
"ingin merasakan pengalaman baru Windows " +
"phone dengan harga yang terjangkau.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Nokia Lumia");
cv.put(KISARAN, "500 Ribu - 1 Juta");
cv.put(NAMA, "Nokia Lumia 610 Biru Hitam");
cv.put(IMAGE, "lumia610.png");
cv.put(KETERANGAN, "Harga RP 799.000\nSebelumnya " +
"RP 1.050.000");
cv.put(SPEC, "layar 3,7 inchi" +
"OS Windows 8 Phone\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Nokia merilis smartphone jajaran Windows " +
"Phone 8 dengan harga yang paling terjangkau, " +
"Nokia Lumia 610. Hadir dengan ukuran layar 3.7 " +
"berteknologi IPS kapasitif membuatnya nyaman " +
"untuk menikmati berbagai hiburan multimedia. " +
"Untuk kinerjanya, prosesor Dual Core siap " +
"memberikan Anda kemudahan dalam mengerjakan " +
"multi aplikasi. Dengan kamera beresolusi 5 MP " +
"dan video 720p, bidik berbagai momen favorit " +
"di sekitar. Dengan desain ala Lumia dan " +
"berbagai pilihan warna menarik, smartphone " +
"ini dapat menjadi pilihan bagi Anda yang " +
"ingin merasakan pengalaman baru Windows " +
"phone dengan harga yang terjangkau.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Nokia Lumia");
cv.put(KISARAN, "1,5 Juta - Keatas");
cv.put(NAMA, "Nokia Lumia 800 Biru Hitam");
cv.put(IMAGE, "lumia800.png");
cv.put(KETERANGAN, "Harga RP 1.699.000\nSebelumnya " +
"RP 1.950.000");
cv.put(SPEC, "layar 3,8 inchi" +
"OS Windows 8 Phone\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Nokia merilis smartphone jajaran Windows " +
"Phone 8 dengan harga yang paling terjangkau, " +
"Nokia Lumia 800. Hadir dengan ukuran layar 3.8 " +
"berteknologi IPS kapasitif membuatnya nyaman " +
"untuk menikmati berbagai hiburan multimedia. " +
"Untuk kinerjanya, prosesor Dual Core siap " +
"memberikan Anda kemudahan dalam mengerjakan " +
"multi aplikasi. Dengan kamera beresolusi 8 MP " +
"dan batre 1450 mAH, bidik berbagai momen favorit " +
"di sekitar. Dengan desain ala Lumia dan " +
"berbagai pilihan warna menarik, smartphone " +
"ini dapat menjadi pilihan bagi Anda yang " +
"ingin merasakan pengalaman baru Windows " +
"phone dengan harga yang terjangkau.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Nokia Lumia");
cv.put(KISARAN, "1 Juta - 1,5 Juta");
cv.put(NAMA, "Nokia Lumia 710 Hitam");
cv.put(IMAGE, "lumia710.png");
cv.put(KETERANGAN, "Harga RP 1.399.000\nSebelumnya " +
"RP 1.550.000");
cv.put(SPEC, "layar 3,7 inchi" +
"OS Windows 7.5 Phone\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Nokia merilis smartphone jajaran Windows " +
"Phone 8 dengan harga yang paling terjangkau, " +
"Nokia Lumia 800. Hadir dengan ukuran layar 3.7 " +
"berteknologi IPS kapasitif membuatnya nyaman " +
"untuk menikmati berbagai hiburan multimedia. " +
"Untuk kinerjanya, prosesor Dual Core siap " +
"memberikan Anda kemudahan dalam mengerjakan " +
"multi aplikasi. Dengan kamera beresolusi 5 MP " +
"dan batre 1300 mAH, bidik berbagai momen favorit " +
"di sekitar. Dengan desain ala Lumia dan " +
"berbagai pilihan warna menarik, smartphone " +
"ini dapat menjadi pilihan bagi Anda yang " +
"ingin merasakan pengalaman baru Windows " +
"phone dengan harga yang terjangkau.");
db.insert("Barang", KATEGORI, cv);

cv.put(KATEGORI, "Nokia Lumia");
cv.put(KISARAN, "1 Juta - 1,5 Juta");
cv.put(NAMA, "Nokia Lumia 900 Biru Hitam");
cv.put(IMAGE, "lumia900.png");
cv.put(KETERANGAN, "Harga RP 1.499.000\nSebelumnya " +
"RP 1.750.000");
cv.put(SPEC, "layar 4.3 inchi" +
"OS Windows 7.5 Phone\n\n");
cv.put(DETAIL, "Detail Produk :\n" +
"Nokia merilis smartphone jajaran Windows " +
"Phone 8 dengan harga yang paling terjangkau, " +
"Nokia Lumia 900. Hadir dengan ukuran layar 3.7 " +
"berteknologi IPS kapasitif membuatnya nyaman " +
"untuk menikmati berbagai hiburan multimedia. " +
"Untuk kinerjanya, prosesor Dual Core siap " +
"memberikan Anda kemudahan dalam mengerjakan " +
"multi aplikasi. Dengan kamera beresolusi 8 MP " +
"dan batre 1800 mAH, bidik berbagai momen favorit " +
"di sekitar. Dengan desain ala Lumia dan " +
"berbagai pilihan warna menarik, smartphone " +
"ini dapat menjadi pilihan bagi Anda yang " +
"ingin merasakan pengalaman baru Windows " +
"phone dengan harga yang terjangkau.");
db.insert("Barang", KATEGORI, cv);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//TODO Auto-generated method stub
}

@Override
public void onCreate(SQLiteDatabase db) {
//TODO Auto-generated method sub
}
}

KategoriDB.java
package basith.S.Kom.database;

import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class KategoriDB extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "smartphoneDB";
public static final String ID  = "_id";
public static final String KATEGORI = "kategori";

public KategoriDB(Context context) {
super(context, DATABASE_NAME, null, 1);
}

public void createTable(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS Kategori");
db.execSQL("CREATE TABLE if not exists Kategori " +
"(_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"kategori varchar(50));");
}

public void generateData(SQLiteDatabase db) {
ContentValues cv = new ContentValues();
cv.put(KATEGORI, "Blackberry");
db.insert("Kategori", KATEGORI, cv);

cv.put(KATEGORI, "Android");
db.insert("Kategori", KATEGORI, cv);

cv.put(KATEGORI, "Nokia Lumia");
db.insert("Kategori", KATEGORI, cv);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//TODO Auto-generated method stub
}

@Override
public void onCreate(SQLiteDatabase db) {
//TODO Auto-generated method sub
}

/**
     * Getting all labels
     * returns list of labels
     * */
    public List<String> getAllLabels(){
        List<String> labels = new ArrayList<String>();

        // Select All Query
        String selectQuery = "SELECT * FROM Kategori";

        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                labels.add(cursor.getString(1));
            } while (cursor.moveToNext());
        }

        // returning lables
        return labels;
    }
}

Kisaran.java
package basith.S.Kom.database;

import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class KisaranDB extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "smartphoneDB";
public static final String ID          = "_id";
public static final String KISARAN        = "kisaran";

public KisaranDB(Context context) {
super(context, DATABASE_NAME, null, 1);
}

public void createTable(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS Kisaran");
db.execSQL("CREATE TABLE if not exists Kisaran " +
"(_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"kisaran varchar(50));");
}

public void generateData(SQLiteDatabase db) {
ContentValues cv = new ContentValues();
cv.put(KISARAN, "500 Ribu - 1 Juta");
db.insert("Kisaran", KISARAN, cv);

cv.put(KISARAN, "1 Juta - 1,5 Juta");
db.insert("Kisaran", KISARAN, cv);

cv.put(KISARAN, "1,5 Juta - Keatas");
db.insert("Kisaran", KISARAN, cv);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion) {
//TODO Auto-generated method stub
}

@Override
public void onCreate(SQLiteDatabase db) {
//TODO Auto-generated method sub
}

/**
     * Getting all labels
     * returns list of labels
     * */
    public List<String> getAllLabels(){
        List<String> labels = new ArrayList<String>();

        // Select All Query
        String selectQuery = "SELECT * FROM Kisaran";

        SQLiteDatabase db = this.getReadableDatabase();  
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                labels.add(cursor.getString(1));
            } while (cursor.moveToNext());
        }

        // returning lables
        return labels;
    }
}

Dan buat folder pack baru di "src" dengan cara click kanan di "src" new => "package" isikan dengan nama "basith.S.kom.adapter"
Baut file java baru dengan nama:

BarangAdapter.java
package basith.S.Kom.adapter;

import java.util.ArrayList;
import java.util.HashMap;

import basith.S.Kom.smartphone.MainActivity;
import basith.S.Kom.smartphone.R;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;


public class BarangAdapter extends BaseAdapter {
    private Activity activity;
    private ArrayList<HashMap<String, String>> data;
    private static LayoutInflater inflater=null;
    HashMap<String, String> tipss;
 
    public BarangAdapter(Activity a,
    ArrayList<HashMap<String, String>> d) {
        activity = a;
        data=d;
        inflater = (LayoutInflater)activity.
        getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    public int getCount() {
        return data.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }
 
    public View getView(int position,
    View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.list_row, null);

        TextView id          = (TextView)vi.findViewById(R.id.id);
        TextView title        = (TextView)vi.findViewById(R.id.title);
        TextView keterangan   = (TextView)vi.findViewById(R.id.keterangan);
        TextView spec         = (TextView)vi.findViewById(R.id.spec);
        TextView txtImage     = (TextView)vi.findViewById(R.id.txtImage);
        TextView txtDetail    = (TextView)vi.findViewById(R.id.detail);
        ImageView thumb_image =(ImageView)vi.findViewById(R.id.list_image); // thumb image
     
        tipss = new HashMap<String, String>();
        tipss = data.get(position);
   
        // TODO Setting all values in list view
        id.setText(tipss.get(MainActivity.AR_ID));
        title.setText(tipss.get(MainActivity.AR_NAMA));
        keterangan.setText(tipss.get(MainActivity.AR_KETERANGAN));
        spec.setText(tipss.get(MainActivity.AR_SPEC));
        txtImage.setText(tipss.get(MainActivity.AR_IMAGE));
        txtDetail.setText(tipss.get(MainActivity.AR_DETAIL));
     
        String image = txtImage.getText().toString();
        if (image.equals("bb8530.png")) {
        thumb_image.setImageResource(R.drawable.bb8530);
        } else if (image.equals("samsung5360.png")) {
        thumb_image.setImageResource(R.drawable.samsung5360);
        } else if (image.equals("bb9220.png")) {
        thumb_image.setImageResource(R.drawable.bb9220);
        } else if (image.equals("st23i.png")) {
        thumb_image.setImageResource(R.drawable.st23i);
        } else if (image.equals("e445.png")) {
        thumb_image.setImageResource(R.drawable.e445);
        } else if (image.equals("n520.png")) {
        thumb_image.setImageResource(R.drawable.n520);
        } else if (image.equals("z30.png")) {
        thumb_image.setImageResource(R.drawable.z30);
        } else if (image.equals("core2.png")) {
        thumb_image.setImageResource(R.drawable.core2);
        } else if (image.equals("redmi2.png")) {
        thumb_image.setImageResource(R.drawable.redmi2);
        } else if (image.equals("galaxv.png")) {
        thumb_image.setImageResource(R.drawable.galaxv);
        } else if (image.equals("young2.png")) {
        thumb_image.setImageResource(R.drawable.young2);
        } else if (image.equals("curve.png")) {
        thumb_image.setImageResource(R.drawable.curve);
        } else if (image.equals("storm.png")) {
        thumb_image.setImageResource(R.drawable.storm);
        } else if (image.equals("javelin.png")) {
        thumb_image.setImageResource(R.drawable.javelin);
        } else if (image.equals("tour.png")) {
        thumb_image.setImageResource(R.drawable.tour);
        } else if (image.equals("porsche.png")) {
        thumb_image.setImageResource(R.drawable.porsche);
        } else if (image.equals("bold.png")) {
        thumb_image.setImageResource(R.drawable.bold);
        } else if (image.equals("note4.png")) {
        thumb_image.setImageResource(R.drawable.note4);
        } else if (image.equals("ace4.png")) {
        thumb_image.setImageResource(R.drawable.ace4);
        } else if (image.equals("lumia610.png")) {
        thumb_image.setImageResource(R.drawable.lumia610);
        } else if (image.equals("lumia800.png")) {
        thumb_image.setImageResource(R.drawable.lumia800);
        } else if (image.equals("lumia710.png")) {
        thumb_image.setImageResource(R.drawable.lumia710);
        } else if (image.equals("lumia900.png")) {
        thumb_image.setImageResource(R.drawable.lumia900);
        } else if (image.equals("lumia510.png")) {
        thumb_image.setImageResource(R.drawable.lumia510);
        }
     
        return vi;
    }
 
 // TODO Clear data on list view
    public void clearList() {
        data.clear();
        notifyDataSetChanged();
    }
}

jangan lupa meng decradasikan di file manefas nya
skian tutorial dari saya bila aa bug bisa langusng hubungi saya atau mengerim pesan melalui Gmail untuk mendapatkan projek nya


Related Posts

Post a Comment

Subscribe Our Newsletter