Pengurus Rukun Tetangga di lingkungan sebuah perumahan XYZ berencana membuat aplikasi mobile berbasis android untuk mengelola data warga, keuangan, dan kegiatan warga yang tinggal pada lingkungan tersebut.
Pada aplikasi tersebut diharapkan mencakup beberapa hal, yaitu:
- Terdapat halaman login untuk pengurus dan warga yang akan melakukan pendaftaran
- Terdapat halaman menu utama berupa List Menu sesuai fungsinya
- Terdapat halaman untuk mengisi informasi terkait data kepala keluarga, status tempat tinggal, dan anggota keluarga yang tinggal di dalamnya.
1. Login Activity
Screenshot Login Form:
Berikut di bawah ini merupakan xml script untuk login_activity:
Berikut di bawah ini merupakan java script untuk login_activity:<RelativeLayoutxmlns: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"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Login Form"android:textAppearance="?android:attr/textAppearanceLarge"/><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=" "android:textAppearance="?android:attr/textAppearanceLarge"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Username :"/><EditTextandroid:id="@+id/etxtUsernane"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"/><requestFocus/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Password :"/><EditTextandroid:id="@+id/etxtPassword"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"android:inputType="textPassword"></EditText></LinearLayout><TextViewandroid:id="@+id/textView5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=" "android:textAppearance="?android:attr/textAppearanceLarge"/><Buttonandroid:id="@+id/btnLogin"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Login"/><Buttonandroid:id="@+id/btnExit"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Exit"/></LinearLayout></RelativeLayout>
packagecom.anggi.aplikasirtonline;importandroid.os.Bundle;importandroid.app.Activity;importandroid.content.Intent;importandroid.view.Menu;importandroid.view.View;importandroid.widget.Button;publicclassLoginActivityextends Activity {Button btnLogin;Button btnExit;@OverridepublicvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);btnLogin = (Button) findViewById(R.id.btnLogin);btnExit = (Button) findViewById(R.id.btnExit);btnLogin.setOnClickListener(newView.OnClickListener() {publicvoidonClick(View v) {// TODO Auto-generated method stubIntent i =newIntent(LoginActivity.this, MenuActivity.class);i.putExtra("Pesan", "Sukses Login");startActivity(i);}});btnExit.setOnClickListener(newView.OnClickListener() {publicvoidonClick(View v) {// TODO Auto-generated method stubmoveTaskToBack(true);android.os.Process.killProcess(android.os.Process.myPid());System.exit(0);}});}@OverridegetMenuInflater().inflate(R.menu.activity_login, menu);returntrue;}}
2. Menu Activity
Screenshot Menu Utama
Berikut di bawah ini merupakan xml script untuk menu_activity:
<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" >
<ListView
android:id="@+id/listMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</ListView>
</RelativeLayout>
Berikut di bawah ini merupakan java script untuk menu_activity:
package com.anggi.aplikasirtonline;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import android.support.v4.app.NavUtils;
public class MenuActivity extends Activity {
ListView lv;
String[] daftarMenu = new String[] {
"Pendaftaran Warga Baru",
"Perubahan Data Warga",
"Pemasukan KAS Warga",
"Pengeluaran KAS Warga",
"Buat Kegiatan Warga",
"Logout"
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
lv = (ListView)findViewById(R.id.listMenu);
ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice,daftarMenu);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int itemKe, long arg3) {
// TODO Auto-generated method stub
String itemText=(String) lv.getItemAtPosition(itemKe);
Toast.makeText(getBaseContext(), "Anda memilih menu "+ itemText, Toast.LENGTH_LONG).show();
if(itemText.equals("Pendaftaran Warga Baru")){
Intent MenuPemesananInten=new Intent(arg0.getContext(),PendaftaranActivity.class);
startActivityForResult(MenuPemesananInten,0);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
return true;
}
return super.onOptionsItemSelected(item);
}
}
3. Pendaftaran Activity
Screenshot Form Pendaftaran
Screenshot Form Pendaftaran
Berikut di bawah ini merupakan xml script untuk pendaftaran_activity:
Berikut di bawah ini merupakan java script untuk pendaftaran_activity:<RelativeLayoutxmlns: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:scrollbarStyle="insideOverlay"android:scrollbars="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:scrollbars="vertical"><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Data KepalaKeluarga"android:textAppearance="?android:attr/textAppearanceMedium"android:textStyle="bold"/><TextViewandroid:id="@+id/textView11"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=" "android:textAppearance="?android:attr/textAppearanceSmall"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="NIK :"/><EditTextandroid:id="@+id/etxtKKNIK"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"android:inputType="number"/><requestFocus/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="NamaLengkap :"/><EditTextandroid:id="@+id/etxtKKNamaLengkap"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"></EditText></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="NamaPanggilan :"/><EditTextandroid:id="@+id/etxtKKNamaPanggilan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="JenisKelamin :"/><RadioButtonandroid:id="@+id/rbtnKKJKPria"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Pria"/><RadioButtonandroid:id="@+id/rbtnKKJKWanita"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Wanita"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Kota Kelahiran :"/><EditTextandroid:id="@+id/etxtKKKotaKelahiran"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView7"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="TanggalLahir :"/><EditTextandroid:id="@+id/etxtKKTanggalLahir"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"android:inputType="date"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="e-mail :"/><EditTextandroid:id="@+id/etxtKKEmail"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"android:inputType="textEmailAddress"/></LinearLayout><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:id="@+id/textView9"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="Pekerjaan :"/><EditTextandroid:id="@+id/etxtKKPekerjaan"android:layout_width="245dp"android:layout_height="wrap_content"android:ems="10"/></LinearLayout><TextViewandroid:id="@+id/textView10"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=" "android:textAppearance="?android:attr/textAppearanceMedium"/><Buttonandroid:id="@+id/btnKKSelanjutnya"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Selanjutnya"/></LinearLayout></RelativeLayout>
packagecom.anggi.aplikasirtonline;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.Menu;
importandroid.view.MenuItem;
import android.support.v4.app.NavUtils;
public class PendaftaranActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pendaftaran);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
publicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_pendaftaran, menu);
return true;
}
@Override
publicbooleanonOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
caseandroid.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
returnsuper.onOptionsItemSelected(item);
}
}
Demikian yang dapat saya sampaikan.
Penulis menyadari terdapat kekurangan pada penulisan ini, sehingga penulis membuka kesempatan bagi pembaca untuk dapat memberikan kritik dan saran yang membangun untuk penulisan yang lebih baik lagi di masa depan.
Semoga tulisan ini dapat bermanfaat.