Dalam kesempatan kali ini saya akan menposting sebuah artikel tentang aplikasi mobile mobile android yang merupakan tugas dari mata kuliah pemrograman mobile yang saya ambil,
walaupun aplikasinya cukup sederhana tapi saya butuh waktu untuk menyelesaikan nya,,,,,,soal nya sangat sulit gan :P
seperti biasanya saya memakai linier layout,,,
mengapa harus liner layout??????
kalo saya sih hanya ikut-ikutan,,,soalnya lebih gampang hehehehehehehe:P
berikut Screenshoot jadi aplikasi ini,,,(masih menggunakan emulator)
mengapa harus liner layout??????
kalo saya sih hanya ikut-ikutan,,,soalnya lebih gampang hehehehehehehe:P
berikut Screenshoot jadi aplikasi ini,,,(masih menggunakan emulator)
DESKRIPSI:sebuah aplikasi native android dengan input event dan input control serta melengkapi dengan Toast, Notifikasi, Intent, Menu dan Alert Dialog.
Berikut coding aplikasinya:
Layout
(activity_main.xml)
<LinearLayout xmlns:android="">
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/input1"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_weight="1"
android:hint="input angka 1"
android:inputType="number"
android:background="#aa0000"/>
<EditText
android:id="@+id/input2"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_weight="1"
android:hint="input angka 2"
android:inputType="number"
android:background="#aa0000"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/lingkaran"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_weight="1"
android:text="LK"
android:background="#0000aa"/>
<Button
android:id="@+id/bujurSangkar"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_weight="1"
android:text="BS"
android:background="#0000aa"/>
<Button
android:id="@+id/segiTiga"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_weight="1"
android:text="SG"
android:background="#0000aa"/>
<Button
android:id="@+id/trapesium"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_weight="1"
android:text="TR"
android:background="#0000aa"/>
<Button
android:id="@+id/clear"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_weight="1"
android:text="CL"
android:background="#0000aa"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#00aa00">
<TextView
android:id="@+id/hsl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="3"
android:textSize="30dp"
android:text="Hasil : "/>
<TextView
android:id="@+id/hasil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="" />
</LinearLayout>
</LinearLayout>
Menu (main.xml)
<menu xmlns:android="">
<item android:id="@+id/home"
android:title="Home" />
<item android:id="@+id/call"
android:title="Call" />
<item android:id="@+id/exit"
android:title="Exit" />
</menu>
mainActivity.java
package com.damba.LBD;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.NotificationManager;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
EditText inp1, inp2;
Button lingkaran, bujurSangkar, segiTiga,trapesium, clear;
TextView hsl;
private double input1, input2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inp1 = (EditText)findViewById(R.id.input1);
inp2 = (EditText)findViewById(R.id.input2);
lingkaran = (Button)findViewById(R.id.lingkaran);
bujurSangkar = (Button)findViewById(R.id.bujurSangkar);
segiTiga = (Button)findViewById(R.id.segiTiga);
trapesium = (Button)findViewById(R.id.trapesium);
clear = (Button)findViewById(R.id.clear);
hsl = (TextView)findViewById(R.id.hasil);
lingkaran.setOnClickListener(this);
bujurSangkar.setOnClickListener(this);
segiTiga.setOnClickListener(this);
trapesium.setOnClickListener(this);
clear.setOnClickListener(this);
}
@SuppressWarnings("deprecation")
public void onClick(View v) {
// TODO Auto-generated method stub
input1 = Double.parseDouble(inp1.getText().toString());
input2 = Double.parseDouble(inp2.getText().toString());
switch (v.getId()){
case R.id.lingkaran:
//deklarasi toast pada luas lingkaran
hsl.setText(Double.toString(3.14*input1*input2));
Toast.makeText(getBaseContext(),"Luas Lingkaran : "+ (3.14*input1*input2) , Toast.LENGTH_LONG).show();
break;
case R.id.bujurSangkar:
//deklarasi alert pada luas bujursangkar
hsl.setText(Double.toString(input1*input2));
new AlertDialog.Builder(this).setTitle("Luas Bujursangkar ").setMessage("hasilnya : "+(input1*input2)).setPositiveButton("OK", null).show();
break;
case R.id.segiTiga:
//deklarasi sms pada luas segi tiga
hsl.setText(Double.toString(input1*input2/2));
Intent sms = new Intent(android.content.Intent.ACTION_VIEW);
sms.putExtra("address", "+6287738889647");
sms.putExtra("sms_body", "Hasil luas segitiga "+(input1*input2/2));
sms.setType("vnd.android-dir/mms-sms");
startActivity(sms);
break;
case R.id.trapesium:
//deklarasi notifikasi pada luas trapesium
hsl.setText(Double.toString((input1*input2)/2*input1));
NotificationCompat.Builder b=new NotificationCompat.Builder(this).setContentTitle("Luas Segitiga ").setContentText(""+((input1*input2)/2*input1));
NotificationManager nf=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nf.notify(001,b.build());
break;
case R.id.clear:
inp1.setText("");
inp2.setText("");
hsl.setText("");
}
}
//deklarasi option menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
@SuppressWarnings("deprecation")
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.home:
//aksi option menu home
System.exit(0);
break;
case R.id.call:
//aksi option menu call
Intent call = new Intent(android.content.Intent.ACTION_DIAL, Uri.parse("tel:+628xxxxxxxx"));
startActivity(call);
return true;
case R.id.exit:
//aksi option menu exit dengan alert
AlertDialog tampil = new AlertDialog.Builder(this).create();
tampil.setTitle("Exit");
tampil.setMessage("Apakah anda yakin untuk keluar?");
tampil.setButton("Ya", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
return;
}});
tampil.setButton2("Tidak", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
return;
}});
tampil.show();
return true;
default:
return super.onOptionsItemSelected(item);
}
return false;
}
}
















