Blogger Jateng

Cara Membuat Aplikasi Android Untuk Pemula 2022

center_vertical"
        android:maxLength="16"
        android:padding="10dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="30sp"
        android:typeface="serif" />

            android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/txtScreen"
        android:orientation="vertical">

                    android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
                            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" />
                            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" />
                            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"/>
                            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="/"/>
       

                    android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
                            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"/>
                            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" />
                            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" />
                            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="*" />
       

                    android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
                            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" />
                            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" />
                            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" />
                            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="-" />
       

                    android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
                            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="." />
                            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" />
                            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" />
                            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="+" />
       

                    android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1">
                            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="=" />

       

   




6. Library Kalkulator

Untuk memeriksa aritmatika yang ada perlu memakai library exp4J agar kalkulator jadi lebih baik  buka terlebih dahulu 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

Langkah cara membuat aplikasi android untuk pemula berikutnya yakni terkait logo.
Supaya logo Android robot berwarna hijau berganti menjadi @mipmap/ic_calc tambahkan aba-aba berikut :


    package="badoystudio.com.simplecalculator" >

            android:allowBackup="true"
        android:icon="@mipmap/ic_calc"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
       
           
               

               
           

       

   



9. Jalankan Aplikasi Android Kalkulator

Langkah yang terakhir yaitu dengan melaksanakan percobaan mengerjakan aplikasi android ini.
Jika memang sudah mengikuti langkah yang sudah dibahas pada uraian di atas, maka sebaiknya aplikasi bisa berjalan.
Namun kalau aplikasi tidak berlangsung, silahkan anda cek langkah demi langkah mungkin saja ada yang terlewati.

Akhir Kata

Nah dengan cara-cara tadi, Anda bisa membuat Aplikasi Android sederhana.
Setidaknya menjajal walau ini juga tidak sesempurna bawaan milik Google.
Makara cara membuat aplikasi android itu tidak terlalu sulit mirip yang dibayangkan bukan? Selamat mencoba ya.