Cara Membuat Aplikasi Android dan umpamanya berupa Kalkulator Android Sederhana - Android, niscaya orang Indonesia sudah tidak abnormal dengan kata ini. Jika kita mengatakan android niscaya yang terpintas di anggapan kita niscaya tentang smartphone.
Android itu tolong-menolong tentang apa si? Android ialah metode operasi yang dipakai oleh ponsel cerdas dan juga tablet. Sistem ini sama menyerupai yang kita pahami sebelumnya yakni Symbian pada hp lama, iOS pada produk perusahaan Apple, dan OS Blackberry.
Saat ini pertumbuhan android sehingga banyak terdapat fitur berjulukan aplikasi android. Aplikasi Android pada dikala ini menjadi salah satu hal yang banyak dikembangkan oleh para jago pemrograman. Cara menghasilkan aplikasi android ini tolong-menolong tidak terlampau sulit. Anda bisa berguru dari cara-cara yang hendak dibahas buat anda berikut ini.
Harga yang dipersiapkan oleh Android juga lebih hemat biaya tetapi fitur yang dipersiapkan tidak kalah.
Sistem operasi satu ini dibentuk sejak 2003 dan perusahaan ini diresmikan di Palo Alto, Amerika Serikat di Kota California.
Android pada masa mulanya berdiri oleh empat orang yakni Andy Rubin (pendiri Danger), Rich Miner (CO-Pendiri Wildfire Communication, Inc.), Nick Sears (Vice President perusahaan T-Mobile), dan Chris White (ketua dari konsep dan pengembang perusahaan Webtv).
Perusahaan besar Amerika yakni Google pada dikala itu sedang melirik dalam pasar jerih payah ponsel genggam yang sedang ramai.
Setelah dua tahun perusahaan Android berdiri kesudahannya diakusisi oleh Google mudah-mudahan bisa dibiayai dan perusahaan ini menjadi lebih besar dan berkembang.
Sejak dikala itu aplikasi-aplikasi yang mendukung Android juga mulai meningkat walau belum banyak yang melirik Android.
Aplikasi android bisa berlangsung baik tergantung oleh para pengembangnya. Dalam pembuatannya aplikasi mesti dibangun dengan banyak hal dan struktur yang penting.
Struktur itu menghasilkan mudah-mudahan aplikasi ini berlangsung baik dan tepat dipakai oleh pengguna nantinya.
• Aplikasi Framework : Platform ini menyediakan Android selaku open source sehingga penemuan pada Android menjadi kaya fitur dan sarat inovasi.
• Libraries : Dari namanya ini yakni daerah untuk memadukan komponen metode Android mudah-mudahan menjadi satu data set dengan bahasa C untuk pemrograman Android sendiri.
• Android Runtime : Ini ialah satu set inti dalam pemrograman Adnroid yang menggunakan bahasa pemrograman Java.
• Linux Kernel : Bagian ini berfungsi selaku layanan metode yang ada di Android mudah-mudahan bisa memanajemen segala proses yang ada, Linux juga selaku lapisan permulaan antara software dan hardware Android.
Pada dikala ini dalam kemajuan Android ada 2 jenis agen metode operasi Android yang terus berjalan. Pertama itu dari Google sendiri selaku pengembang utama.
Kedua yakni selaku pengembangan yang bebas ini untuk membuka jalan bagi pengembang Android mudah-mudahan bisa mengembangkannya dengan menggunakan bahasa pemrograman Java.
Perusahaan Google memang tidak menutup keran untuk para pengembang aplikasi Android mudah-mudahan bisa menyediakan hasil yang hebat untuk metode operasi Android sendiri.
Karena ini juga kesudahannya Google mengajukan hak paten pada aplikasi telepon genggam mudah-mudahan bisa berkembang. Pada tahun 2008 kesudahannya ponsel Android pertama yakni HTC menggunakan model Android 1.0 mendorong banyak perusahaan untuk menggunakan metode operasi Android.
Anda sudah tahu sejarah Android dan aplikasinya. Android juga sungguh bagus untuk para pengembang aplikasi dan juga para pengguna. Berkembangnya Android sendiri menghasilkan para pembuat aplikasi ini kian beragam.
Dalam berguru untuk menghasilkan aplikasi di Android pada dasarnya anda mesti berguru dan tekun untuk mencoba. Aplikasi untuk menghasilkan aplikasi Android yakni Android Studio.
Pembuatan aplikasi Android mesti dibarengi dengan pengalaman dan banyaknya anda dalam menangani permasalhan dalam membangun aplikasi Android itu sendiri.
Logika dalam membangun aplikasi Android akan terus meningkat jikalau anda tekun dalam melakoni pengembangan dalam aplikasi Android.
Pastinya para pembuat aplikasi Android yang gres akan merasa tertantang untuk menghasilkan aplikasi menyerupai yang sudah terkenal.
Berikut Ini cara menghasilkan aplikasi Android Kalkulator dengan menggunakan aplikasi Android Studio:
• TextView
• Button
TextView untuk layar angka kalkulator dengan tombol yang diperlukan. Ini untuk mengubah edit text dan menghambat input manual pengguna dengan keypad Android.
Layout yang dipakai yakni Linear dan Relative Layout
Kode yang lengkap selaku berikut :
<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"
tools:context=".MainActivity">
<TextView
android:id="@+id/txtScreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="right|center_vertical"
android:maxLength="16"
android:padding="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:typeface="serif" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/txtScreen"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSeven"
android:text="7" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEight"
android:text="8" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnNine"
android:text="9"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDivide"
android:text="/"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFour"
android:text="4"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFive"
android:text="5" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSix"
android:text="6" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnMultiply"
android:text="*" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnOne"
android:text="1" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnTwo"
android:text="2" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnThree"
android:text="3" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSubtract"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDot"
android:text="." />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnZero"
android:text="0" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnClear"
android:text="C" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnAdd"
android:text="+" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEqual"
android:text="=" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
Masukan Kode Berikut pada drawable/ button.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<gradient android:angle="90" android:endColor="#FFFFFF" android:startColor="#9EB8FF" android:type="linear" />
<padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
<size android:width="60dp" android:height="60dp" />
<stroke android:width="1dp" android:color="#ff3da6ef" />
</shape>
</item>
<item>
<shape>
<gradient android:angle="90" android:endColor="#FFFFFF" android:startColor="#ffd9d9d9" android:type="linear" />
<padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
<size android:width="60dp" android:height="60dp" />
<stroke android:width="0.5dp" android:color="#ffcecece" />
</shape>
</item>
</selector>
Berikan isyarat ini pada masing-masing button
android:background="@drawable/button"
Tuliskan juga isyarat lengkap pada activity_main.xml
<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"
tools:context=".MainActivity">
<TextView
android:id="@+id/txtScreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="right|center_vertical"
android:maxLength="16"
android:padding="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:typeface="serif" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/txtScreen"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:background="@drawable/button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSeven"
android:text="7" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEight"
android:text="8" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnNine"
android:text="9"/>
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDivide"
android:text="/"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFour"
android:text="4"/>
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFive"
android:text="5" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:background="@drawable/button"
android:id="@+id/btnSix"
android:text="6" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnMultiply"
android:text="*" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnOne"
android:text="1" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnTwo"
android:text="2" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnThree"
android:text="3" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSubtract"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDot"
android:text="." />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnZero"
android:text="0" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnClear"
android:text="C" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnAdd"
android:text="+" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/button"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEqual"
android:text="=" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
Beri isyarat di bawah ini :
compile 'net.objecthunter:exp4j:0.4.4'
Tambahkan koneksi Internet. Kemudian klik Sync now.
package badoystudio.com.simplecalculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import net.objecthunter.exp4j.Expression;
import net.objecthunter.exp4j.ExpressionBuilder;
public class MainActivity extends ActionBarActivity {
// IDs of all the numeric buttons
private int[] numericButtons = {R.id.btnZero, R.id.btnOne, R.id.btnTwo, R.id.btnThree, R.id.btnFour, R.id.btnFive, R.id.btnSix, R.id.btnSeven, R.id.btnEight, R.id.btnNine};
// IDs of all the operator buttons
private int[] operatorButtons = {R.id.btnAdd, R.id.btnSubtract, R.id.btnMultiply, R.id.btnDivide};
// TextView used to display the output
private TextView txtScreen;
// Represent whether the lastly pressed key is numeric or not
private boolean lastNumeric;
// Represent that current state is in error or not
private boolean stateError;
// If true, do not allow to add another DOT
private boolean lastDot;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Find the TextView
this.txtScreen = (TextView) findViewById(R.id.txtScreen);
// Find and set OnClickListener to numeric buttons
setNumericOnClickListener();
// Find and set OnClickListener to operator buttons, equal button and decimal point button
setOperatorOnClickListener();
}
/**
* Find and set OnClickListener to numeric buttons.
*/
private void setNumericOnClickListener() {
// Create a common OnClickListener
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// Just append/set the text of clicked button
Button button = (Button) v;
if (stateError) {
// If current state is Error, replace the error message
txtScreen.setText(button.getText());
stateError = false;
} else {
// If not, already there is a valid expression so append to it
txtScreen.append(button.getText());
}
// Set the flag
lastNumeric = true;
}
};
// Assign the listener to all the numeric buttons
for (int id : numericButtons) {
findViewById(id).setOnClickListener(listener);
}
}
/**
* Find and set OnClickListener to operator buttons, equal button and decimal point button.
*/
private void setOperatorOnClickListener() {
// Create a common OnClickListener for operators
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// If the current state is Error do not append the operator
// If the last input is number only, append the operator
if (lastNumeric && !stateError) {
Button button = (Button) v;
txtScreen.append(button.getText());
lastNumeric = false;
lastDot = false; // Reset the DOT flag
}
}
};
// Assign the listener to all the operator buttons
for (int id : operatorButtons) {
findViewById(id).setOnClickListener(listener);
}
// Decimal point
findViewById(R.id.btnDot).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (lastNumeric && !stateError && !lastDot) {
txtScreen.append(".");
lastNumeric = false;
lastDot = true;
}
}
});
// Clear button
findViewById(R.id.btnClear).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtScreen.setText(""); // Clear the screen
// Reset all the states and flags
lastNumeric = false;
stateError = false;
lastDot = false;
}
});
// Equal button
findViewById(R.id.btnEqual).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onEqual();
}
});
}
/**
* Logic to calculate the solution.
*/
private void onEqual() {
// If the current state is error, nothing to do.
// If the last input is a number only, solution can be found.
if (lastNumeric && !stateError) {
// Read the expression
String txt = txtScreen.getText().toString();
// Create an Expression (A class from exp4j library)
Expression expression = new ExpressionBuilder(txt).build();
try {
// Calculate the result and display
double result = expression.evaluate();
txtScreen.setText(Double.toString(result));
lastDot = true; // Result contains a dot
} catch (ArithmeticException ex) {
// Display an error message
txtScreen.setText("Error");
stateError = true;
lastNumeric = false;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="badoystudio.com.simplecalculator" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_calc"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Android itu tolong-menolong tentang apa si? Android ialah metode operasi yang dipakai oleh ponsel cerdas dan juga tablet. Sistem ini sama menyerupai yang kita pahami sebelumnya yakni Symbian pada hp lama, iOS pada produk perusahaan Apple, dan OS Blackberry.
Saat ini pertumbuhan android sehingga banyak terdapat fitur berjulukan aplikasi android. Aplikasi Android pada dikala ini menjadi salah satu hal yang banyak dikembangkan oleh para jago pemrograman. Cara menghasilkan aplikasi android ini tolong-menolong tidak terlampau sulit. Anda bisa berguru dari cara-cara yang hendak dibahas buat anda berikut ini.
Sejarah Android
Untuk berguru cara menghasilkan aplikasi android, pasti anda mesti mengenali kemajuan android dari tahun ke waktu. Keunggulan utama dari penggunaan android ini yakni metode open source, inilah mengapa Android bisa lebih berjaya dari pada iOS atau Blackberry.Harga yang dipersiapkan oleh Android juga lebih hemat biaya tetapi fitur yang dipersiapkan tidak kalah.
Sistem operasi satu ini dibentuk sejak 2003 dan perusahaan ini diresmikan di Palo Alto, Amerika Serikat di Kota California.
Android pada masa mulanya berdiri oleh empat orang yakni Andy Rubin (pendiri Danger), Rich Miner (CO-Pendiri Wildfire Communication, Inc.), Nick Sears (Vice President perusahaan T-Mobile), dan Chris White (ketua dari konsep dan pengembang perusahaan Webtv).
Perusahaan besar Amerika yakni Google pada dikala itu sedang melirik dalam pasar jerih payah ponsel genggam yang sedang ramai.
Setelah dua tahun perusahaan Android berdiri kesudahannya diakusisi oleh Google mudah-mudahan bisa dibiayai dan perusahaan ini menjadi lebih besar dan berkembang.
Sejak dikala itu aplikasi-aplikasi yang mendukung Android juga mulai meningkat walau belum banyak yang melirik Android.
Aplikasi android bisa berlangsung baik tergantung oleh para pengembangnya. Dalam pembuatannya aplikasi mesti dibangun dengan banyak hal dan struktur yang penting.
Struktur itu menghasilkan mudah-mudahan aplikasi ini berlangsung baik dan tepat dipakai oleh pengguna nantinya.
Bentuk kerangka metode Android
• Aplikasi : Android memiliki sifat untuk memadukan banyak aplikasi tertentu tergolong email, SMS, kalender, peta, browser, kontak, pemutar video, dan masih banyak lagi.• Aplikasi Framework : Platform ini menyediakan Android selaku open source sehingga penemuan pada Android menjadi kaya fitur dan sarat inovasi.
• Libraries : Dari namanya ini yakni daerah untuk memadukan komponen metode Android mudah-mudahan menjadi satu data set dengan bahasa C untuk pemrograman Android sendiri.
• Android Runtime : Ini ialah satu set inti dalam pemrograman Adnroid yang menggunakan bahasa pemrograman Java.
• Linux Kernel : Bagian ini berfungsi selaku layanan metode yang ada di Android mudah-mudahan bisa memanajemen segala proses yang ada, Linux juga selaku lapisan permulaan antara software dan hardware Android.
Pada dikala ini dalam kemajuan Android ada 2 jenis agen metode operasi Android yang terus berjalan. Pertama itu dari Google sendiri selaku pengembang utama.
Kedua yakni selaku pengembangan yang bebas ini untuk membuka jalan bagi pengembang Android mudah-mudahan bisa mengembangkannya dengan menggunakan bahasa pemrograman Java.
Perusahaan Google memang tidak menutup keran untuk para pengembang aplikasi Android mudah-mudahan bisa menyediakan hasil yang hebat untuk metode operasi Android sendiri.
Karena ini juga kesudahannya Google mengajukan hak paten pada aplikasi telepon genggam mudah-mudahan bisa berkembang. Pada tahun 2008 kesudahannya ponsel Android pertama yakni HTC menggunakan model Android 1.0 mendorong banyak perusahaan untuk menggunakan metode operasi Android.
Cara Membuat Aplikasi Android dan Contohnya Berupa Aplikasi Kalkulator Android Sederhana
Anda sudah tahu sejarah Android dan aplikasinya. Android juga sungguh bagus untuk para pengembang aplikasi dan juga para pengguna. Berkembangnya Android sendiri menghasilkan para pembuat aplikasi ini kian beragam.
Dalam berguru untuk menghasilkan aplikasi di Android pada dasarnya anda mesti berguru dan tekun untuk mencoba. Aplikasi untuk menghasilkan aplikasi Android yakni Android Studio.
Pembuatan aplikasi Android mesti dibarengi dengan pengalaman dan banyaknya anda dalam menangani permasalhan dalam membangun aplikasi Android itu sendiri.
Logika dalam membangun aplikasi Android akan terus meningkat jikalau anda tekun dalam melakoni pengembangan dalam aplikasi Android.
Pastinya para pembuat aplikasi Android yang gres akan merasa tertantang untuk menghasilkan aplikasi menyerupai yang sudah terkenal.
Berikut Ini cara menghasilkan aplikasi Android Kalkulator dengan menggunakan aplikasi Android Studio:
1. Buat Project Baru
Untuk mengawali menghasilkan aplikasi Android kita gunakan Android Studio dan buat project tersebut di Android Studio.2. Ubah Simbol Android
Selanjutnya ubah simbol android itu sendiri yang berlogo robot warna hijau. Caranya dengan mengeklik folder res klik kanan folder minimap New Immage Asset ubah nama ic_launcher menjadi ic_calc pilih image simbol pada path Next Finish.3. Membuat Layout Sebagai Cara Membuat Aplikasi Android
Membuat layout untuk calculator pada activity_main.xml. Kita akan menggunakan dua widget yakni :• TextView
• Button
TextView untuk layar angka kalkulator dengan tombol yang diperlukan. Ini untuk mengubah edit text dan menghambat input manual pengguna dengan keypad Android.
Layout yang dipakai yakni Linear dan Relative Layout
Kode yang lengkap selaku berikut :
<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"
tools:context=".MainActivity">
<TextView
android:id="@+id/txtScreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="right|center_vertical"
android:maxLength="16"
android:padding="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:typeface="serif" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/txtScreen"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSeven"
android:text="7" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEight"
android:text="8" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnNine"
android:text="9"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDivide"
android:text="/"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFour"
android:text="4"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFive"
android:text="5" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSix"
android:text="6" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnMultiply"
android:text="*" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnOne"
android:text="1" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnTwo"
android:text="2" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnThree"
android:text="3" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSubtract"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDot"
android:text="." />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnZero"
android:text="0" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnClear"
android:text="C" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnAdd"
android:text="+" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEqual"
android:text="=" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
4. Style Button
Ini dipakai mudah-mudahan button terlihat lebih menawan lagi Caranya dengan Klik folder res Klik Kanan Drawable New Drawable resource file, beri nama Drawable button dengan nama “Button”.Masukan Kode Berikut pada drawable/ button.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<gradient android:angle="90" android:endColor="#FFFFFF" android:startColor="#9EB8FF" android:type="linear" />
<padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
<size android:width="60dp" android:height="60dp" />
<stroke android:width="1dp" android:color="#ff3da6ef" />
</shape>
</item>
<item>
<shape>
<gradient android:angle="90" android:endColor="#FFFFFF" android:startColor="#ffd9d9d9" android:type="linear" />
<padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" />
<size android:width="60dp" android:height="60dp" />
<stroke android:width="0.5dp" android:color="#ffcecece" />
</shape>
</item>
</selector>
5. Background Button
Selanjutnya gunakan button.xml untuk background pada activity_main.xml. dan berikan coding pada setiap button yang hendak digunakan.Berikan isyarat ini pada masing-masing button
android:background="@drawable/button"
Tuliskan juga isyarat lengkap pada activity_main.xml
<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"
tools:context=".MainActivity">
<TextView
android:id="@+id/txtScreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="right|center_vertical"
android:maxLength="16"
android:padding="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:typeface="serif" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/txtScreen"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:background="@drawable/button"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSeven"
android:text="7" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEight"
android:text="8" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnNine"
android:text="9"/>
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDivide"
android:text="/"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFour"
android:text="4"/>
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFive"
android:text="5" />
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:background="@drawable/button"
android:id="@+id/btnSix"
android:text="6" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnMultiply"
android:text="*" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnOne"
android:text="1" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnTwo"
android:text="2" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnThree"
android:text="3" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSubtract"
android:text="-" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnDot"
android:text="." />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnZero"
android:text="0" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnClear"
android:text="C" />
<Button
android:layout_width="0dp"
android:background="@drawable/button"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnAdd"
android:text="+" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/button"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEqual"
android:text="=" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
6. Library Kalkulator
Untuk mengecek aritmatika yang ada perlu menggunakan library exp4J mudah-mudahan kalkulator jadi lebih baik buka apalagi dulu file “build.gradle (Module: app)” dari skip Gradle.Beri isyarat di bawah ini :
compile 'net.objecthunter:exp4j:0.4.4'
Tambahkan koneksi Internet. Kemudian klik Sync now.
7. MainActivity .Java
Tambahkan juga source code berikut :package badoystudio.com.simplecalculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import net.objecthunter.exp4j.Expression;
import net.objecthunter.exp4j.ExpressionBuilder;
public class MainActivity extends ActionBarActivity {
// IDs of all the numeric buttons
private int[] numericButtons = {R.id.btnZero, R.id.btnOne, R.id.btnTwo, R.id.btnThree, R.id.btnFour, R.id.btnFive, R.id.btnSix, R.id.btnSeven, R.id.btnEight, R.id.btnNine};
// IDs of all the operator buttons
private int[] operatorButtons = {R.id.btnAdd, R.id.btnSubtract, R.id.btnMultiply, R.id.btnDivide};
// TextView used to display the output
private TextView txtScreen;
// Represent whether the lastly pressed key is numeric or not
private boolean lastNumeric;
// Represent that current state is in error or not
private boolean stateError;
// If true, do not allow to add another DOT
private boolean lastDot;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Find the TextView
this.txtScreen = (TextView) findViewById(R.id.txtScreen);
// Find and set OnClickListener to numeric buttons
setNumericOnClickListener();
// Find and set OnClickListener to operator buttons, equal button and decimal point button
setOperatorOnClickListener();
}
/**
* Find and set OnClickListener to numeric buttons.
*/
private void setNumericOnClickListener() {
// Create a common OnClickListener
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// Just append/set the text of clicked button
Button button = (Button) v;
if (stateError) {
// If current state is Error, replace the error message
txtScreen.setText(button.getText());
stateError = false;
} else {
// If not, already there is a valid expression so append to it
txtScreen.append(button.getText());
}
// Set the flag
lastNumeric = true;
}
};
// Assign the listener to all the numeric buttons
for (int id : numericButtons) {
findViewById(id).setOnClickListener(listener);
}
}
/**
* Find and set OnClickListener to operator buttons, equal button and decimal point button.
*/
private void setOperatorOnClickListener() {
// Create a common OnClickListener for operators
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// If the current state is Error do not append the operator
// If the last input is number only, append the operator
if (lastNumeric && !stateError) {
Button button = (Button) v;
txtScreen.append(button.getText());
lastNumeric = false;
lastDot = false; // Reset the DOT flag
}
}
};
// Assign the listener to all the operator buttons
for (int id : operatorButtons) {
findViewById(id).setOnClickListener(listener);
}
// Decimal point
findViewById(R.id.btnDot).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (lastNumeric && !stateError && !lastDot) {
txtScreen.append(".");
lastNumeric = false;
lastDot = true;
}
}
});
// Clear button
findViewById(R.id.btnClear).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtScreen.setText(""); // Clear the screen
// Reset all the states and flags
lastNumeric = false;
stateError = false;
lastDot = false;
}
});
// Equal button
findViewById(R.id.btnEqual).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onEqual();
}
});
}
/**
* Logic to calculate the solution.
*/
private void onEqual() {
// If the current state is error, nothing to do.
// If the last input is a number only, solution can be found.
if (lastNumeric && !stateError) {
// Read the expression
String txt = txtScreen.getText().toString();
// Create an Expression (A class from exp4j library)
Expression expression = new ExpressionBuilder(txt).build();
try {
// Calculate the result and display
double result = expression.evaluate();
txtScreen.setText(Double.toString(result));
lastDot = true; // Result contains a dot
} catch (ArithmeticException ex) {
// Display an error message
txtScreen.setText("Error");
stateError = true;
lastNumeric = false;
}
}
}
}
8. Mengubah Logo Android
Supaya logo Android robot berwarna hijau berganti menjadi @mipmap/ic_calc tambahkan isyarat berikut :<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="badoystudio.com.simplecalculator" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_calc"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
0 Komentar untuk "Cara Menghasilkan Aplikasi Android Dan Umpamanya Mudah !"