Tentang shareilmu2ilmu.blogspot.com

http://shareilmu2ilmu.blogspot.com/ adalah blog tentang komputer yang di buat untuk Pembelajaran, tugas-tugas,aplikasi komputer,Coding,pemograman visual, sistem manajemen basis data

Sunday, 12 January 2014

TUTORIAL PEMBUATAN WebKit Sederhana Pada ADT BUNDLE Android Aplikasi

1.      Buat Project baru dengan nama webkit.

2.      Pada layout main_activity desain layout seperti berikut:
3.      Tuliskan source code pada ActivityMain.java:
package com.example.webkit;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebView;

public class MainActivity extends Activity {
            WebView browser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
       
        browser =(WebView) findViewById(R.id.webkit);
        browser.loadData("<html><body>Tulisan Pertama yang ditampilkan di web browser</body><html>","text/html","UTF-8");
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
   
}
4.      Output:


Sunday, 5 January 2014

PRAKTIKUM X:TUTORIAL PEMBUATAN Database (Part 2). PADA ADT BUNDLE APLIKASI ANDROID

1.    Buat Project Baru
2.    Desain interface baru untuk tampilan awal program
3.    Buat Layout baru dengan nama dialogview dengan tampilan seperti berikut :
4.    Buat Layout baru dengan nama editdata:
 
5.    Buat Layout baru dengan nama menu:
 6.    Buat Layout baru dengan nama viewdata:

7.    Buat class baru dengan nama Barang.java dengan sourcode:
public class Barang {
   
    private long id;
    private String nama_barang;
    private String merk_barang;
    private String harga_barang;

   
    public Barang()
    {   
       
    }
   
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }
   
    public String getNama_barang() {
        return nama_barang;
    }

    public void setNama_barang(String nama_barang) {
        this.nama_barang = nama_barang;
    }
   
    public String getMerk_barang() {
        return merk_barang;
    }

    public void setMerk_barang(String merk_barang) {
        this.merk_barang = merk_barang;
    }
   
    public String getHarga_barang() {
    return harga_barang;
    }

    public void setHarga_barang(String harga_barang) {
        this.harga_barang = harga_barang;
    }

     @Override
        public String toString()
        {
            return "Barang "+ nama_barang +" "+ merk_barang + " "+harga_barang;
        }

   
}
8.    Buat class baru dengan nama CreateData.java :
package amikom.si12a.databasesi12a;

import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import android.widget.Toast;


public class CreateData extends Activity implements OnClickListener {

    //inisilisasi elemen-elemen pada layout
    private Button buttonSubmit;
    private EditText edNama;
    private EditText edMerk;
    private EditText edHarga;
    //inisialisasi kontroller/Data Source
    private DBDataSource dataSource;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.create_data);

        buttonSubmit = (Button) findViewById(R.id.buttom_submit);
        buttonSubmit.setOnClickListener(this);
        edNama = (EditText) findViewById(R.id.nama_barang);
        edHarga = (EditText) findViewById(R.id.harga_barang);
        edMerk = (EditText) findViewById(R.id.merk_barang);

        // instanstiasi kelas DBDataSource
        dataSource = new DBDataSource(this);

        //membuat sambungan baru ke database
        dataSource.open();
    }
   
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        // Inisialisasi data barang
        String nama = null;
        String merk = null;
        String harga = null;
        @SuppressWarnings("unused")

        //inisialisasi barang baru (masih kosong)
        Barang barang = null;
        if(edNama.getText()!=null && edMerk.getText()!=null && edHarga.getText()!=null)
        {
            /* jika field nama, merk, dan harga tidak kosong
             * maka masukkan ke dalam data barang*/
            nama = edNama.getText().toString();
            merk = edMerk.getText().toString();
            harga = edHarga.getText().toString();
        }

        switch(v.getId())
        {
            case R.id.buttom_submit:
                // insert data barang baru
                barang = dataSource.createBarang(nama, merk, harga);

                //konfirmasi kesuksesan
                Toast.makeText(this, "masuk Barang\n" +
                        "nama" + barang.getNama_barang() +
                        "merk" + barang.getMerk_barang() +
                        "harga" + barang.getHarga_barang(), Toast.LENGTH_LONG).show();
                break;
        }

       
    }

}
9.    Buat class baru dengan nama EditData.java:
package amikom.si12a.databasesi12a;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class EditData extends Activity implements OnClickListener {

     private DBDataSource dataSource;
   
         private long id;
         private String harga;
         private String merk;
         private String nama;

         private EditText edNama;
         private EditText edHarga;
         private EditText edMerk;

         private TextView txId;

         private Button btnSave;
         private Button btnCancel;

         private Barang barang;

         @Override
         public void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.editdata);
                   //inisialisasi variabel
               edNama = (EditText) findViewById(R.id.editText_nama);
               edHarga = (EditText) findViewById(R.id.editText_harga);
               edMerk = (EditText) findViewById(R.id.editText_merk);
               txId = (TextView) findViewById(R.id.text_id_barang);
               //buat sambungan baru ke database
               dataSource = new DBDataSource(this);
               dataSource.open();
               // ambil data barang dari extras
               Bundle bun = this.getIntent().getExtras();
               id = bun.getLong("id");
               harga = bun.getString("harga");
               merk = bun.getString("merk");
               nama = bun.getString("nama");
               //masukkan data-data barang tersebut ke field editor
               txId.append(String.valueOf(id));
               edNama.setText(nama);
               edHarga.setText(harga);
               edMerk.setText(merk);

               //set listener pada tombol
               btnSave = (Button) findViewById(R.id.button_save_update);
               btnSave.setOnClickListener(this);
               btnCancel = (Button) findViewById(R.id.button_cancel_update);
               btnCancel.setOnClickListener(this);
         }

         @Override
         public void onClick(View v) {
             // TODO Auto-generated method stub
             switch(v.getId())
             {
                             // apabila tombol save diklik (update barang)
                 case R.id.button_save_update :
                     barang = new Barang();
                     barang.setHarga_barang(edHarga.getText().toString());
                     barang.setNama_barang(edNama.getText().toString());
                     barang.setMerk_barang(edMerk.getText().toString());
                     barang.setId(id);
                     dataSource.updateBarang(barang);
                     Intent i = new Intent(this, ViewData.class);
                     startActivity(i);
                     EditData.this.finish();
                     dataSource.close();
                     break;
                             // apabila tombol cancel diklik, finish activity
                 case R.id.button_cancel_update :
                     finish();
                     dataSource.close();
                     break;
             }
         }
     }
10.    Buat class baru dengan nama Menu.java dengan source code:
package amikom.si12a.databasesi12a;

import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;

public class Menu extends Activity implements OnClickListener {

    private Button bTambah;
    private Button bLihat;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.menu);

          bTambah = (Button) findViewById(R.id.button_tambah);
          bTambah.setOnClickListener(this);
          bLihat = (Button) findViewById(R.id.button_view);
          bLihat.setOnClickListener(this);

    }
   
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId())
        {
            case R.id.button_tambah :
                Intent i = new Intent(this, CreateData.class);
                startActivity(i);
                break;
            case R.id.button_view :
                Intent i2 = new Intent(this, ViewData.class);
                startActivity(i2);
                break;

        }
       
    }

}

11.    Buat class dengan nama ViewData.java dengan source code:
package amikom.si12a.databasesi12a;

import java.util.ArrayList;

import android.app.Dialog;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

public class ViewData extends ListActivity implements OnItemLongClickListener {
   
    //inisialisasi kontroller
    private DBDataSource dataSource;

    //inisialisasi arraylist
    private ArrayList<Barang> values;
    private Button editBarang,deleteBarang;
   
  //menampilkan data
    @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
          setContentView(R.layout.viewdata);

          dataSource = new DBDataSource(this);
          // buka kontroller
          dataSource.open();

          // ambil semua data barang
          values = dataSource.getAllBarang();

          // masukkan data barang ke array adapter
          ArrayAdapter<Barang> adapter = new ArrayAdapter<Barang>(this,
                    android.R.layout.simple_list_item_1, values);

          // set adapter pada list
          setListAdapter(adapter);
          ListView lv = (ListView)findViewById(android.R.id.list);
          lv.setOnItemLongClickListener(this);
         
    }

    @Override
    public boolean onItemLongClick(final AdapterView<?> adapter, View v, int pos,
        final long id) {
        // TODO Auto-generated method stub
        final Dialog dialog=new Dialog(this);
        dialog.setContentView(R.layout.dialogview);
        dialog.setTitle("PIlih Aksi");
        dialog.show();
        final Barang b=(Barang) getListAdapter().getItem(pos);
        editBarang=(Button)findViewById(R.id.BTNEDIT);
        deleteBarang=(Button)findViewById(R.id.BTNHAPUS);
       
        editBarang.setOnClickListener(new OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                switchToEdit(b.getId());
                dialog.dismiss();
            }
        });
       
        deleteBarang.setOnClickListener(new OnClickListener() {
           
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                dataSource.deleteBarang(b.getId());
                dialog.dismiss();
                finish();
                startActivity(getIntent());
            }
        });
        return true;
    }
   
    public void switchToEdit(long id){
        Barang b=dataSource.getBarang(id);
        Intent i =new Intent(this,EditData.class);
        Bundle bun=new Bundle();
        bun.putLong("id",b.getId());
        bun.putString("nama",b.getNama_barang());
        bun.putString("harga",b.getHarga_barang());
        i.putExtras(bun);
        finale();
        startActivity(i);
    }
   
    public void finale(){
        ViewData.this.finish();
        dataSource.close();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
    }

}
12.    Edit source code pada Android manifest :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="amikom.si12a.databasesi12a"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

  <application
         android:allowBackup="true"
         android:icon="@drawable/ic_launcher"
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >
         <activity
             android:name="dbandroid.Menu"
             android:label="@string/app_name" >
         </activity>
         <activity
             android:name="com.example.dbandroid.CreateData"
             android:label="@string/app_name" >
         </activity>
         <activity
             android:name="com.example.dbandroid.Menu"
             android:label="@string/app_name" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />

                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
         <activity
             android:name="com.example.dbandroid.ViewData"
             android:label="@string/app_name" >
         </activity>
      
         <activity
             android:name="com.example.dbandroid.EditData"
             android:label="@string/app_name" >
         </activity>
     </application>

</manifest>


Sunday, 29 December 2013

TUTORIAL PEMBUATAN Database(Part 1). PADA ADT BUNDLE ANDROID



  1. Buat Project Baru
  2. Desain interface baru untuk tampilan awal program
  3. Buat Layout baru dengan nama create data dengan tampilan seperti berikut :
    4.Buat Class baru pada folder src dengan nama createData,tuliskan coding seperti di bawah ini:
    package com.example.dbandroid;


    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;


    public class createData extends Activity implements OnClickListener {
    private Button Submit;
    private EditText nama,merk,harga;
    private DBDataSource datasource;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.createdata);

    Submit=(Button) findViewById(R.id.btnSubmit);
    Submit.setOnClickListener(this);
    nama=(EditText) findViewById(R.id.txtnama);
    merk=(EditText) findViewById(R.id.txtmerk);
    harga=(EditText) findViewById(R.id.txtharga);

    datasource=new DBDataSource(this);
    datasource.open();
    }
    public void onClick(View arg0){
    String nm=null;
    String mk=null;
    String hrg=null;

    Barang barang=null;

    if(nama.getText()!=null&&merk.getText()!=null && harga.getText()!=null){
    nm=nama.getText().toString();
    mk=merk.getText().toString();
    hrg=harga.getText().toString();
    }
    switch(arg0.getId())
    {
    case R.id.btnSubmit:
    barang=datasource.createBarang(nm,mk,hrg);
    Toast.makeText(this, "masuk Barang\n"+
    "nama"+barang.getNama_barang()+
    "merk"+barang.getMerk_barang()+
    "harga"+barang.getHarga_barang(),
    Toast.LENGTH_LONG).show();
    break;
    }

    }

    }
    5.Buat class baru dengan nama dbHelper,dan tuliskan coding berikut :
    package com.example.dbandroid;


    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;


    public class dbHelper extends SQLiteOpenHelper {
    public static final String TABLE_NAME="data_inventory";
    public static final String COLOUMN_ID="_id";
    public static final String COLOUMN_NAME="nama_barang";
    public static final String COLOUMN_MERK="merk_barang";
    public static final String COLOUMN_HARGA="harga_barang";
    private static final String db_name="inventory.db";
    private static final Integer db_version=1;

    private static final String db_create="create table"
    +TABLE_NAME+"("
    +COLOUMN_ID+"integer primary key autoincrement,"
    +COLOUMN_NAME+"varchar(50) not null,"
    +COLOUMN_MERK+"varchar(50) not null,"
    +COLOUMN_HARGA+"varchar(50) not null);";

    public dbHelper(Context sia){
    super(sia,db_name,null,db_version);
    }
    public void onCreate(SQLiteDatabase db){
    db.execSQL(db_create);
    }
    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
    Log.w(dbHelper.class.getName(),"Upgrading database from"+
    oldVersion+"to"+newVersion+"which will destroy all old data");
    db.execSQL("Drop Table If Exists"+TABLE_NAME);
    onCreate(db);
    }
    }
    6.Buat Class baru dengan namaDBDataSource dengan coding seperti berikut:
    package com.example.dbandroid;


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


    public class DBDataSource {
    private SQLiteDatabase database;
    private dbHelper dbHelper;

    private String[] allcolomns={
    dbHelper.COLOUMN_ID,
    dbHelper.COLOUMN_NAME,
    dbHelper.COLOUMN_MERK,
    dbHelper.COLOUMN_HARGA
    };

    public DBDataSource(Context c){
    dbHelper=new dbHelper(c);
    }
    public void open()throws SQLException{
    database=dbHelper.getWritableDatabase();
    }
    public void close(){
    dbHelper.close();
    }
    public Barang createBarang(String nm,String mk,String hrg){
    ContentValues values=new ContentValues();
    values.put(dbHelper.COLOUMN_NAME, nm);
    values.put(dbHelper.COLOUMN_MERK, mk);
    values.put(dbHelper.COLOUMN_HARGA, hrg);

    long insertId=database.insert(dbHelper.TABLE_NAME,null, values);
    Cursor cursor=database.query(distinct, table, columns, selection, selectionArgs, groupBy, having, orderBy, limit, cancellationSignal)
    }
    }



TUTORIAL PEMBUATAN CANVAS PADA ADT BUNDLE ANDROID



  1. Buat Projek Baru.
  2. Isikan Kriteria dan desain sesuai yang anda inginkan.
  3. Ketikan Coding dibawah ini pada layout mainActivity.


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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=".MainActivity" >


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />


</RelativeLayout>


  1. Pilih gambar dan masukan pada folder xxhdpi.
  2. Isikan coding berikut pada Activity Main pada src.
package com.example.canvas2;


import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.Menu;
import android.view.View;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new canvas7(this));
}

static public class canvas7 extends View{
Bitmap gambarkudangambarmu;

public canvas7(Context context){
super(context);
gambarkudangambarmu = BitmapFactory.decodeResource(context.getResources(),R.drawable.aaa);
}
@SuppressLint("DrawAllocation")
protected void onDraw(Canvas canvas){
Paint paint=new Paint();
canvas.drawBitmap(gambarkudangambarmu, 100, 200,paint);
}
}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}



  1. Pada coding R.drawable.aaa,”aaa” diganti dengan nama gambar yang anda masukan tadi pada folder xx-hdpi.
  2. Output :

Sunday, 15 December 2013

TUTORIAL PEMBUATAN TABHOST PADA ADT BUNDLE ANDROID

1. Buat Proyek android .
2. Tentukan desain untuk aplikasinya.
3. Buat proyek blank activity
4 .Masukan Main Activity Details

5. Tambahkan Android’s Support library
Dengan ADT plugin version 20.0.2, Android’s support library adalah menambahkan untuk automisasi proyek. Jika tidak secara automatis ditambahkan, Anda dapat menambahkannya dengan cara click kanan “NavigationTabDemo” ( Package Explorer ) dan pilih Android Tools -> Add Support Library


6. Buat folder baru drawable pada res dan buat file baru namai dengan android.xml dan tuliskan kode berikut:
 
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@drawable/android_selected" />
    <item
        android:drawable="@drawable/android_unselected" />
</selector>

7.Buat file baru dengan nama apple.xml pada res/drawable directory buat seperti rangkaian diatas dan tuliskan kode berikut:
 
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_selected="true"
        android:state_pressed="false"
        android:drawable="@drawable/apple_selected" />
 
    <item
        android:drawable="@drawable/apple_unselected" />
</selector>
 

8.Ubah layout file res/layout/activity_main.xml
 
<TabHost
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
 
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"/>
 
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0"/>
 
        <FrameLayout
            android:id="@+id/realtabcontent"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
 
    </LinearLayout>
</TabHost>

9. Buat Class baru  src/in/wptrafficanalyzer/navigationtabdemo/AndroidFragment.java
 
package in.wptrafficanalyzer.navigationtabdemo;
 
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
public class AndroidFragment extends ListFragment{
 
    /** An array of items to display in ArrayList */
    String android_versions[] = new String[]{
        “Nama:Dionisius Riyan Edlianto”,
              “Kelas:SI12A”,
              “NIM:12.12.0009”
 
    };
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
        /** Creating array adapter to set data in listview */
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getBaseContext(), android.R.layout.simple_list_item_multiple_choice, android_versions);
 
        /** Setting the array adapter to the listview */
        setListAdapter(adapter);
 
        return super.onCreateView(inflater, container, savedInstanceState);
    }
 
    @Override
    public void onStart() {
        super.onStart();
 
        /** Setting the multiselect choice mode for the listview */
        getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    }
}
 

10. Buat file class baru  src/in/wptrafficanalyzer/navigationtabdemo/AppleFragment.java
 
package in.wptrafficanalyzer.navigationtabdemo;
 
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
 
public class AppleFragment extends ListFragment{
 
    /** An array of items to display in ArrayList */
    String apple_versions[] = new String[]{
     “Alamat blog:Shareilmu2ilmu.blogspot.com”,
     “Mata kuliah:Pemmograman Mobile”        
 
    };
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
 
        /** Creating array adapter to set data in listview */
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getBaseContext(), android.R.layout.simple_list_item_multiple_choice, apple_versions);
 
        /** Setting the array adapter to the listview */
        setListAdapter(adapter);
 
        return super.onCreateView(inflater, container, savedInstanceState);
    }
 
    @Override
    public void onStart() {
        super.onStart();
 
        /** Setting the multiselect choice mode for the listview */
        getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    }
}
 

14. Buat file class baru src/in/wptrafficanalyzer/navigationtabdemo/DummyTabContent.java
 
package in.wptrafficanalyzer.navigationtabdemo;
 
import android.content.Context;
import android.view.View;
import android.widget.TabHost.TabContentFactory;
 
public class DummyTabContent implements TabContentFactory{
    private Context mContext;
 
    public DummyTabContent(Context context){
        mContext = context;
    }
 
    @Override
    public View createTabContent(String tag) {
        View v = new View(mContext);
        return v;
    }
}
 

15. Ubah file pada src/in/wptrafficanalyzer/navigationtabdemo/MainActivity.java
 
package in.wptrafficanalyzer.navigationtabdemo;
 
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.widget.TabHost;
 
public class MainActivity extends FragmentActivity {
    TabHost tHost;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        tHost = (TabHost) findViewById(android.R.id.tabhost);
        tHost.setup();
 
        /** Defining Tab Change Listener event. This is invoked when tab is changed */
        TabHost.OnTabChangeListener tabChangeListener = new TabHost.OnTabChangeListener() {
 
            @Override
            public void onTabChanged(String tabId) {
                android.support.v4.app.FragmentManager fm =   getSupportFragmentManager();
                AndroidFragment androidFragment = (AndroidFragment) fm.findFragmentByTag("android");
                AppleFragment appleFragment = (AppleFragment) fm.findFragmentByTag("apple");
                android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
 
                /** Detaches the androidfragment if exists */
                if(androidFragment!=null)
                    ft.detach(androidFragment);
 
                /** Detaches the applefragment if exists */
                if(appleFragment!=null)
                    ft.detach(appleFragment);
 
                /** If current tab is android */
                if(tabId.equalsIgnoreCase("android")){
 
                    if(androidFragment==null){
                        /** Create AndroidFragment and adding to fragmenttransaction */
                        ft.add(R.id.realtabcontent,new AndroidFragment(), "android");
                    }else{
                        /** Bring to the front, if already exists in the fragmenttransaction */
                        ft.attach(androidFragment);
                    }
 
                }else{    /** If current tab is apple */
                    if(appleFragment==null){
                        /** Create AppleFragment and adding to fragmenttransaction */
                        ft.add(R.id.realtabcontent,new AppleFragment(), "apple");
                     }else{
                        /** Bring to the front, if already exists in the fragmenttransaction */
                        ft.attach(appleFragment);
                    }
                }
                ft.commit();
            }
        };
 
        /** Setting tabchangelistener for the tab */
        tHost.setOnTabChangedListener(tabChangeListener);
 
        /** Defining tab builder for Andriod tab */
        TabHost.TabSpec tSpecAndroid = tHost.newTabSpec("android");
        tSpecAndroid.setIndicator("Tab 1",getResources().getDrawable(R.drawable.android));
        tSpecAndroid.setContent(new DummyTabContent(getBaseContext()));
        tHost.addTab(tSpecAndroid);
 
        /** Defining tab builder for Apple tab */
        TabHost.TabSpec tSpecApple = tHost.newTabSpec("apple");
        tSpecApple.setIndicator("Tab 2",getResources().getDrawable(R.drawable.apple));
        tSpecApple.setContent(new DummyTabContent(getBaseContext()));
        tHost.addTab(tSpecApple);
 
    }
}
 

16. Ubah AndroidManifest.xml
 
 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="in.wptrafficanalyzer.navigationtabdemo"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />
 
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black" >
 
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
 
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Hasil Output:

Tab.1
Tab 2.