Halo gengs ketemu lagi dengan saya di webblog Kupas Tuntas Mengenai IT alias OlbersBlog. setelah sekian lama saya tidak menulis artikel akhirnya kembali lagi. dan kali ini saya akan berbagi artikel tentang belajar membuat aplikasi jadwal kuliah sederhana berbasis android dengan menggunakan eclipse. okey langsung saja mengikuti langkah-langkah berikut ini.
Langkah pertama jalankan eclipse, Pilih file -> new -> android project application dan akan tampil jendela baru seperti pada gambar berikut ini.
Setelah mengisi form dan memilih target sdk seperti gambar di atas, klik next hinggah finish.
Sekarang kita akan membuat menu dari aplikasi ini. Masuk ke direktori res/menu dan edit main.xml seperti di bawah ini.
Selanjutnya kita akan membuat layout untuk userinterface, buka file res/layout activity_main.xml
edit seperti dibawah ini.
Langkah selanjutnya kita akan membuat list vew pada res/layout. Untuk membuat file xml baru pada layout klik kanan pilih new -> pilih android xml file dan jendela baru akan terbuka gambar seperti berikut ini.
Setelah membuat file seperti pada gambar dengan nama row_jadwal.xml klik finish, dan edit file tersebut seperti berikut ini.
Setelah mengisi form dan memilih target sdk seperti gambar di atas, klik next hinggah finish.
Sekarang kita akan membuat menu dari aplikasi ini. Masuk ke direktori res/menu dan edit main.xml seperti di bawah ini.
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_senin"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Senin"/>
<item
android:id="@+id/action_selasa"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Selasa"/>
<item
android:id="@+id/action_rabu"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Rabu"/>
<item
android:id="@+id/action_kamis"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Kamis"/>
<item
android:id="@+id/action_jumat"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Jumat"/>
</menu>
Selanjutnya kita akan membuat layout untuk userinterface, buka file res/layout activity_main.xml
edit seperti dibawah ini.
<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:id="@+id/textViewHari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text=""
android:textAppearance="?android:attr/textAppearanceMedium" />
<ListView
android:id="@+id/listViewJadwal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textViewHari"
android:layout_below="@+id/textViewHari" >
</ListView>
</RelativeLayout>
Langkah selanjutnya kita akan membuat list vew pada res/layout. Untuk membuat file xml baru pada layout klik kanan pilih new -> pilih android xml file dan jendela baru akan terbuka gambar seperti berikut ini.
Setelah membuat file seperti pada gambar dengan nama row_jadwal.xml klik finish, dan edit file tersebut seperti berikut ini.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewRowJam"
android:layout_width="75dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="TextView" />
<TextView
android:id="@+id/textViewRowPelajaran"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:paddingLeft="10dp"
android:layout_toRightOf="@+id/textViewRowJam"
android:text="TextView" />
</LinearLayout>
Setelah selesai, selanjutnya kita akan membuat sebuah class baru dengan nama jadwal.java. untuk membuat class baru, klik kanan pada file direktori src/com.---.jadwalpelajaran pilih new -> class dan jendela baru akan terbuka seperti pada gambar berikut. ketikkan nama file lalu klik finish.
seterlah berhasil membuat file jadwal.java edit code file tersebut seperti berikut
package com.olbersblog.jadwalpelajaran;
public class jadwal {
<span class="Apple-tab-span" style="white-space: pre;"> </span>public String hari="";
<span class="Apple-tab-span" style="white-space: pre;"> </span>public String jam="";
<span class="Apple-tab-span" style="white-space: pre;"> </span>public String pelajaran="";
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void Jadwal (String pday, String ptime, String plesson){
<span class="Apple-tab-span" style="white-space: pre;"> </span>this.hari = pday;
<span class="Apple-tab-span" style="white-space: pre;"> </span>this.jam = ptime;
<span class="Apple-tab-span" style="white-space: pre;"> </span>this.pelajaran = plesson;
<span class="Apple-tab-span" style="white-space: pre;"> </span>}
}
Selanjutnya buat juga file baru seperti langkah diatas dengan nama adapterjadwal.java lalu edit kodenya seperti berikut
package com.olbersblog.jadwalpelajaran;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class AdapterJadwal extends ArrayAdapter<jadwal> {
private Activity activity;
private ArrayList<jadwal> lJadwal;
private static LayoutInflater inflater = null;
public AdapterJadwal (Activity activity, int textViewResourceId,ArrayList<jadwal> al_Jadwal) {
super(activity, textViewResourceId, al_Jadwal);
try {
this.activity = activity;
this.lJadwal = al_Jadwal;
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
} catch (Exception e) {
}
}
public int getCount() {
return lJadwal.size();
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder {
public TextView jam;
public TextView pelajaran;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
final ViewHolder holder;
try {
if (convertView == null) {
vi = inflater.inflate(R.layout.row_jadwal, null);
holder = new ViewHolder();
holder.jam = (TextView) vi.findViewById(R.id.textViewRowJam);
holder.pelajaran = (TextView) vi.findViewById(R.id.textViewRowPelajaran);
vi.setTag(holder);
} else {
holder = (ViewHolder) vi.getTag();
}
holder.jam.setText(lJadwal.get(position).jam);
holder.pelajaran.setText(lJadwal.get(position).pelajaran);
} catch (Exception e) {
}
return vi;
}
}
Langkah terakhir buka file MainActivity.java dan edit file codenya seperti berikut ini.
package com.olbersblog.jadwalpelajaran;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
<span class="Apple-tab-span" style="white-space: pre;"> </span>ArrayList <Jadwal> list_jadwal = new ArrayList<Jadwal>();
<span class="Apple-tab-span" style="white-space: pre;"> </span>TextView tvhari;
<span class="Apple-tab-span" style="white-space: pre;"> </span>ListView listviewjadwal ;
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override
<span class="Apple-tab-span" style="white-space: pre;"> </span>protected void onCreate(Bundle savedInstanceState) {
<span class="Apple-tab-span" style="white-space: pre;"> </span>super.onCreate(savedInstanceState);
<span class="Apple-tab-span" style="white-space: pre;"> </span>setContentView(R.layout.activity_main);
<span class="Apple-tab-span" style="white-space: pre;"> </span>tvhari = (TextView) findViewById(R.id.textViewHari);
<span class="Apple-tab-span" style="white-space: pre;"> </span>listviewjadwal = (ListView) findViewById(R.id.listViewJadwal);
<span class="Apple-tab-span" style="white-space: pre;"> </span>initData();
<span class="Apple-tab-span" style="white-space: pre;"> </span>}
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void initData() {
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Senin","08:00-10:00","Matematika"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Senin","10:00-12:00","Agama Islam"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Senin","12:00-13:00","Istirahat"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Senin","13:00-15:00","Fisika"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Selasa","08:00-10:00","Bahaa Indonesia"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Selasa","10:00-12:00","Kimia"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Selasa","12:00-13:00","Istirahat"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Selasa","13:00-15:00","Biologi"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Rabu","08:00-10:00","Matematika"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Rabu","10:00-12:00","Seni Rupa"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Rabu","12:00-13:00","Istirahat"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Rabu","13:00-15:00","Bahasa Inggris"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Kamis","08:00-10:00","Fisika"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Kamis","10:00-12:00","Penjaskes"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Kamis","12:00-13:00","Istirahat"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Kamis","13:00-15:00","Geografi"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Jumat","08:00-10:00","Pemrograman Java"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Jumat","10:00-12:00","Pemrograman Android"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Jumat","12:00-13:00","Istirahat"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>list_jadwal.add(new Jadwal("Jumat","13:00-15:00","Logika Algoritma"));
<span class="Apple-tab-span" style="white-space: pre;"> </span>}
<span class="Apple-tab-span" style="white-space: pre;"> </span>@Override
<span class="Apple-tab-span" style="white-space: pre;"> </span>public boolean onCreateOptionsMenu(Menu menu) {
<span class="Apple-tab-span" style="white-space: pre;"> </span>// Inflate the menu; this adds items to the action bar if it is present.
<span class="Apple-tab-span" style="white-space: pre;"> </span>getMenuInflater().inflate(R.menu.main, menu);
<span class="Apple-tab-span" style="white-space: pre;"> </span> return super.onCreateOptionsMenu(menu);
<span class="Apple-tab-span" style="white-space: pre;"> </span>}
<span class="Apple-tab-span" style="white-space: pre;"> </span> /**
* On selecting action bar
* */
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Take appropriate action for each action item click
switch (item.getItemId()) {
case R.id.action_senin:
showJadwal("Senin");
return true;
case R.id.action_selasa:
// location found
<span class="Apple-tab-span" style="white-space: pre;"> </span>showJadwal("Selasa");
return true;
case R.id.action_rabu:
<span class="Apple-tab-span" style="white-space: pre;"> </span>showJadwal("Rabu");
return true;
case R.id.action_kamis:
<span class="Apple-tab-span" style="white-space: pre;"> </span>showJadwal("Kamis");
return true;
case R.id.action_jumat:
<span class="Apple-tab-span" style="white-space: pre;"> </span>showJadwal("Jumat");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
<span class="Apple-tab-span" style="white-space: pre;"> </span>public void showJadwal(String hari) {
<span class="Apple-tab-span" style="white-space: pre;"> </span>tvhari.setText("Hari " + hari);
<span class="Apple-tab-span" style="white-space: pre;"> </span>ArrayList<Jadwal> jadwal_terpilih = new ArrayList<Jadwal>();
<span class="Apple-tab-span" style="white-space: pre;"> </span>for (int i = 0; i < list_jadwal.size(); i++) {
<span class="Apple-tab-span" style="white-space: pre;"> </span>Jadwal jadwal = list_jadwal.get(i);
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (jadwal.hari.equals(hari)) {
<span class="Apple-tab-span" style="white-space: pre;"> </span>jadwal_terpilih.add(jadwal);
<span class="Apple-tab-span" style="white-space: pre;"> </span>}
<span class="Apple-tab-span" style="white-space: pre;"> </span>}
<span class="Apple-tab-span" style="white-space: pre;"> </span>AdapterJadwal adapterjadwal = new AdapterJadwal(MainActivity.this, 0,
<span class="Apple-tab-span" style="white-space: pre;"> </span>jadwal_terpilih);
<span class="Apple-tab-span" style="white-space: pre;"> </span>listviewjadwal.setAdapter(adapterjadwal);
<span class="Apple-tab-span" style="white-space: pre;"> </span>}
}
Selesai. jalankan aplikasi dan lihat hasilnya seperti berikut ini.
Posting Komentar