Blog Edinofri

Blog pribadi berisikan memory tentang pembelajaran Pemograman Android, Website, Blogger, Life hack, Curhatan dan beberapa artikel tidak jelas. Blog ini lebih fokus di pemograman Android terutama pengembangan aplikasi android menggunakan Android Studio.

27 May 2016
Komentar 0
Kali ini saya akan membahas mengenai Bind View tanpa menggunakan findViewById pada project Android Studio yang sedang kita kerjakan. Kita tahu bahwa untuk mendapatkan dan mengubah text, ukuran, atau menambahkan listener pada komponen yang kita miliki seperti EditText, Textview, Button ataupun komponen-komponen view lainnya.

Pastinya kita harus mengikat komponen yang kita miliki dengan findViewById(R.id.xyz), Belum lagi kita harus mengcasting dia sesuai komponen view nya.
Misalnya seperti EditText
EditText mTxtHello = (EditText)findViewById(R.id.hello);
Pernah disuatu kesempatan saya pun menemukan sebuah trik memperpendek pengikatan komponen yang kita miliki ini dengan Library ButterKnife, belum selesai hanya di BindView saja, ButterKnife ini bisa kita gunakan untuk membuat kode untuk Listener OnClick dan OnLongClick yang akan saya bahas di artikel selanjutnya nanti.

Untuk kali ini saya hanya membahas untuk mengikat komponen-komponen yang kita miliki dengan menggunakan Butterknife baik itu pada Activity (untuk Fragment dan ViewHolder anda bisa ikutin parameter saat melakukan ButterKnife.bind(Object,View) ).

Silahkan buat New Project di Android Studio yang kalian miliki, lalu pada layout activity_main.xml silahkan gantikan seluruh kode yang ada dengan kode saya dibawah ini.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical">
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnKlikSaya"
        android:text="Belajar ButterKnife"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World"
        android:id="@+id/txtHello"/>
</LinearLayout>

Sebelum kita mengikat viewnya dengan ButterKnife, terlebih dahulu kita menaruh depedencies pada gradle app.
Disini saya menggunakan ButterKnife Versi 8.0.1, pada versi ini banyak terjadi perubahan Method dan penambahan-penambahan baru, bila ingin mengintip versi-versi dari Butter Knife silahkan lirik ke sini
Silahkan buat gradle app anda seperti dibawah ini.
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "android.belajar.butterknifebindview"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}
apply plugin: 'com.neenbedankt.android-apt'
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.jakewharton:butterknife:8.0.1'
    apt 'com.jakewharton:butterknife-compiler:8.0.1'
}

Setelah itu silahkan sisikan Kode ButterKnife.bind(this); pada OnCreate(Bundle ....){}, selanjutnya anda bisa menaruhkan kode @BindView(R.id.txtHello) TextView txtHello;, sisipkan sebelum  @Override OnCreate(..). 

Selanjutnya kita akan membuat listener OnClick untuk Button yang kita miliki dengan cara menambah kan @OnClick(R.id.btnKlikSaya)dan membuat sebuah prosedure public dengan nama yang anda inginkan. 

Lalu Sisipkan setTitle(txtHello.getText().ToString());, kode yang akhirnya adalah seperti dibawah ini. 
package android.belajar.butterknifebindview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends AppCompatActivity {
    @BindView(R.id.txtHello) TextView txtHello;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }
    @OnClick(R.id.btnKlikSaya)
    public void tekanSaya(){
        setTitle(txtHello.getText().toString());
    }
} 
Bila kita tidak menggunakan ButterKnife maka kodenya akan seperti ini.

package android.belajar.butterknifebindview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity { 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        final TextView txtHello = (TextView)findViewById(R.id.txtHello);
        Button btnKlikSaya = (Button)findViewById(R.id.btnKlikSaya);
        btnKlikSaya.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setTitle(txtHello.getText().toString());
            }
        });
    } 
}

Sekian saja untuk kali ini membahas ButterKnife-nya lain kesempatan akan saya sempatkan untuk membuat artikel selanjutnya mengenai ButterKnife.
16 May 2016
Komentar 3
Selamat terjebak kembali di blog yang tidak sempurna ini, kali ini saya akan sedikit menulis catatan kecil mengenai Cara membuat garis lurus di xml pada Android Studio. Bagi kalian yang mungkin sebagai tim desainer atau yang lagi belajar-belajar membuat aplikasi Android dan ingin membuah sebuah garis lurus ke atas ataupun ke samping di xml Android Studio.

Kalian cukup menambahkan Kode sepenggal ini saja.

Garis lurus ke atas (line vertical)

 <View android:layout_width="match_parent"
                   android:layout_height="2dp"
                   android:background="#bbb"/>
Sedangkan untuk garis lurus ke samping (line horizontal)


 <View android:layout_width="2dp"
                   android:layout_height="match_parent"
                   android:background="#bbb"/>
Untuk ketebalan garis bisa ganti nilai 2dp menjadi ketebalan yang kamu inginkan.
14 May 2016
Komentar 0
Berlanjut dari artikel sebelumnya mengenai Membuka Sublime Text dari Command line windows, pada artikel kali ini saya hanya menambahkan video tutorialnya saja. Mana tahu ada sebagian dari kalian bingung dengan artikel yang hanya berisi tulisan dan lebih memahami jika melihat langsung caranya.



Sekian saja video dari saya bila memiliki kendala silahkan bertanya dikolom komentar blog saja.
13 May 2016
Komentar 0
Hai pengunjung pada kesempatan kali ini saya akan membagikan tips, Cara me-warnai actionbar Chrome saat membuka halaman website atau pun blog milik kita. Pada Google Chrome di mobile app kita bisa melakukan perubahan warna pada actionbar browsernya.

Untuk itu kita hanya perlu menambahkan sebuah meta-tag untuk mengubah warna tersebut sesuai dengan apa yang kita inginkan. Meta-tag ini bernama theme-color bagi kalian yang ingin mengubah warna nya terlebih dulu memilih warna berformat hexadecimal.


Pilih warna

Selanjutnya bila sudah memilih warna anda bisa memasukkan kode warna hexadecimal pada attribute content meta-tag dibawah ini.

<meta content='#E64A19' name='theme-color'/>

Setelah itu, silahkan anda menyisipkannya dibawah tag <head> bila anda menggunakan blog (blogger). Silahkan buka menu "Template" pada bilah samping kanan dashboard blog anda.
Lalu pilih Edit HTML, cari kode <head> sisipkan setelah kode tersebut seperti dibawah ini dan klik Simpan Template. Coba lah membuka halaman web atau blog anda melalui Google Chrome di Android dan lihat hasilnya.

Hasilnya pada browser Google Chrome android.

Terima kasih sudah mengikuti artikel kali ini.
12 May 2016
Komentar 0
Sublime text merupakan text editor yang menurut saya sangat populer dikalangan para Developer terutama untuk para Developer web. Hal ini disebabkan Sublime text memiliki keunggulan dengan tersedianya berbagai package yang membantu dalam saat menyelesaikan pekerjaan.

Namun bagi kalian yang sudah mengenal Sublime text pasti nya berkeinginan agar text editor itu bisa di buka melalui cmd (command line). Oleh sebab itu saya ingin berbagi tips, sekalian juga sebagai pengingat bagi saya sendiri, supaya Sublime bisa di panggil melalui Command line.

Pertama yang harus dilakukan adalah mengetahui folder tempat kalian menginstall Sublime text kalian. Misal kan saja seperti milik saya ini yang menggunakan Sublime text 3 yang ber-alamatkan seperti dibawah ini.

C:\Program Files\Sublime Text 3
Selanjutnya kalian bisa menambahkan alamat tersebut di environment variables PATH seperti yang saya lakukan dibawah ini.

Setelah mengklik ok, kalian bisa mencoba membuka command line lalu memanggil Sublime text dengan perintah sublime_text.


Bila kalian sudah bisa memanggil Sublime text yang kalian miliki mungkin ada keinginan untuk mempersingkat pemanggilan Sublime text di Command line, yang awal nya adalah sublime_text menjadi (.misal) editorku.

Buka alamat tempat folder Sublime text yang kita miliki tadi, selanjutnya duplikasi file yang bernama Sublime_text.exe dan Rename menjadi editorku.exe.

Setelah itu anda bisa memanggil Sublime text tersebut lewat Command line dengan menuliskan perintah editorku.

Sekian untuk sesi bagi-bagi tips ini, di lain waktu saya akan menambahkan tips yang lain lagi.

08 May 2016
Komentar 0
Hai selamat siang pengunjung yang terdampar, kali ini saya hanya berbagi tips agar alamat blogspot kita tetap memakai domain com bukan  co(titik)id. Ada sedikit tahapan untuk mengubah alamat domain tersebut.

  1. Hal yang perlu dilakukan pertama adalah masuk ke halaman dasboard blogger.com kalian. 
    Tips agar alamat tetap blogspot.com
  2. Selanjutnya buka "Tata Letak" dan Tambahkan sebuah Gadget. 
    Tambah Gadget HTML/Javascript
  3. Selanjutnya Tambahkan HTML/Javascript lalu sisipkan kode Javascript dibawah ini.
    // Transfer domain .blogspot.com ke .blogspot.co.id
    url_blog = document.location.href;
    if (!url_blog.match(/\.blogspot\.com/)) {
        url_blog = url_blog.replace(/\.blogspot\..*?\//, ".blogspot.com/ncr/");
        window.location.replace(url_blog);
    }
  4. Selanjutnya silahkan anda simpan dan lihat hasilnya.

Sampai saat ini kita hanya bisa memanipulasi alamat blogspot.com ke blogspot.co.id dengan javascript saja, belum ada fitur dari pihak blogger untuk tetap memakai blogspot.com. Sekian dari saya untuk kali ini terima kasih atas kunjungannya.

07 May 2016
Komentar 1
Sebenarnya ini hanya sebagai catatan kecil saya saja agar nantinya bila  saya membutuhkannya. Saya dapat melihat kembali catatan saya mengenai Menampilkan semua tanggal dan waktu pada setiap Post.

Pada Blogger biasanya template menggunakan Tag berikut untuk menampilkan Tanggal dan waktu pada Halaman utama pada setiap Post.

<data:post.dateHeader/>
Anda bisa mengecheck sendiri pada template yang anda miliki. Kenapa saya membuat catatan kecil untuk menampilkan Tanggal dan waktu ini?
Hal itu disebabkan Tag XML diatas memiliki 1 (satu) kekurangan menurut saya, yaitu :
Bila dalam sehari mengepost 2 (dua) artikel pada tanggal yang sama, salah satu artikel akan kehilangan tanggalnya dan hanya nampil pada artikel yang terakhir.
Hal ini sanggat mengerikan bila kita membuat template untuk Portal berita, karena setiap artikel berita tanggal dan waktu sanggatlah penting. Banyak pengembang template lebih memilih membaca RSS XML untuk menampilkan secara lebih detail sebuah post dan tanggal waktunya dibaca melalui Javascript yang mana menurut saya memberatkan optimasi kecepatan sebuah Blog.

Tag tersebut juga tidak  main-main, bila kita menggunakan template gratisan dari Blogger atau hasil dari Download mentah-mentah dari penyedia template gratis. Banyak yang masih bermasalah, misalkan saja begini.
Bila saya mengpostingkan artikel dalam sehari ada 2 atau lebih artikel, mereka akan menjadi satu bungkusan karena mereka memiliki tanggal yang sama.
Oleh karena itu ada seorang sahabat Blogger saya yang memiliki permasalahan yang diakibatkan oleh Tag <data:post.dateHeader/> tersebut.

Disini saya tidak menjelaskan bagaimana memisahkan 2 (dua) atau lebih postingan dalam satu tanggal yang sama dengan bungkusan yang berbeda. Disini saya lebih untuk menampilkan tanggal pada tiap post tanpa harus kehilangan tanggal pada artikel sebelumnya (bila dipost pada tanggal yang sama).

Disini saya membaca artikel dari sebuah web, disana dia menuntun saya untuk menggunakan Tag xml timestamp.

<data:post.timestamp/>

Bila kalian menggunakan Tag tersebut untuk menampilkan tanggal jangan lupa mengganti Format Date and Time pada pengaturan blog.



Terima kasih, sudah kejebak diartikel catatan kecil saya ini, sampai bertemu kembali.
Komentar 0
Selamat datang di blog saya yang agak berantakan ini, kali ini saya mencoba menyempatkan mengetik kan artikel tentang Membuat Kalkulator sederhana di Android Studio. Di artikel kali ini saya akan sedikit menambah beberapa widget baru lagi dalam proyek yang akan kita buat.

Sebelum itu pastikan kalian sudah menginstal Android Studio pada Laptop / Komputer kalian masing-masing. Setelah itu kita akan membuat projek baru.

Buka Android Studio kalian, pilih "Start a new Android Studio project".


Lalu isikan sesuai kriteria dibawah ini.

Application name    : Kalkulator
Company domain      : belajar.android
Package name        : belajar.android.kalkulator

Project location    : -pilih folder untuk menyimpan project-

Selanjutnya silahkan ikuti langkah seperti yang ada di Artikel : Hello world di Android Studio.
Saya anggap kalian sudah siap dengan urusan Gradle-nya, selanjutnya kita masuk ke file activity_main.xml dan tukar kode yang ada pada file tersebut dengan code dibawah berikut.
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="android.belajar.kalkulator.MainActivity"
    android:orientation="vertical">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Bil 1"
        android:id="@+id/txtBil1"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Bil 2"
        android:id="@+id/txtBil2"/>
    <RadioGroup
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rgHitung">
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Kali (x)"
            android:id="@+id/rbKali"/>
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Bagi (÷)"
            android:id="@+id/rbBagi"/>
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Tambah (+)"
            android:id="@+id/rbTambah"/>
        <RadioButton
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Kurang (-)"
            android:id="@+id/rbKurang"/>
    </RadioGroup>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnHitung"
        android:text="Hitung"/>
    <TextView
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="~hasil~"
        android:id="@+id/lblHasil"
        />
</LinearLayout>
Setelah itu klik Design tab dan lihat hasil desain dari kode yang baru saja dimasukkan.


Setelah itu kita beranjak dari urusan mendesain dan sekarang kita akan menuju ke file MainActivity.java untuk membuat inisialisasi pada widget yang akan kita gunakan.

1. Button
2. EditText
3. RadioButton
4. RadioGrup
5. TextView
Untuk menginisialisasikan tidak berbeda dengan yang ada pada artikel : Hello world di Android Studio, hanya saja kita kedatangan widget baru seperti RadioButton dan RadioGrup.

Hanya ini saja yang akan kita inisialisasikan, bisa kalian lihat pada kode dibawah ini.

package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);
    }
}
Setelah itu kita akan membuat Listener untuk Button yang kita miliki.
package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);

         // Listener OnClick untuk menghitung bilangan
        btnHitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        }
    }
}
Setelah itu kita akan mengecheck inputan pada EditText adalah angka, bila bukan angka kita akan tampilkan Toast.

package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);

         // Listener OnClick untuk menghitung bilangan
        btnHitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Check Bilangan adalah angka
                if(isNumeric(txtBil1.getText().toString()) && isNumeric(txtBil2.getText().toString())){
                    double bil1= Double.parseDouble(txtBil1.getText().toString());
                    double bil2= Double.parseDouble(txtBil2.getText().toString());
                    
                }else{
                    Toast.makeText(getApplicationContext(),"Tidak boleh kosong dan hanya angka",Toast.LENGTH_SHORT).show();
                }
            }
        }
    }

    public static boolean isNumeric(String str){
        return str.matches("-?\\d+(\\.\\d+)?");  //match a number with optional '-' and decimal.
    }
}
Baru setelah itu kita akan melakukan pengecheckan pada RadioGrup untuk mendapatkan ID RadioButton mana yang sedang tercheck dengan method .getCheckedRadioButtonId.

package android.belajar.kalkulator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
/*
*       Author  : Edinofri karizal caniago
*       Url Blog: http://edinofri.blogspot.com
*
* */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Deklarasi Widget yang kita miliki dahulu sebelum digunakan.
        Button btnHitung = (Button)findViewById(R.id.btnHitung);
        final TextView lblHasil = (TextView)findViewById(R.id.lblHasil);
        final EditText txtBil1 = (EditText)findViewById(R.id.txtBil1);
        final EditText txtBil2 = (EditText)findViewById(R.id.txtBil2);
        final RadioGroup rgHitung = (RadioGroup)findViewById(R.id.rgHitung);

         // Listener OnClick untuk menghitung bilangan
        btnHitung.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Check Bilangan adalah angka
                if(isNumeric(txtBil1.getText().toString()) && isNumeric(txtBil2.getText().toString())){
                    double bil1= Double.parseDouble(txtBil1.getText().toString());
                    double bil2= Double.parseDouble(txtBil2.getText().toString());
                    // Switcher untuk memilih pilihan Operator perhitungan.
                    switch (rgHitung.getCheckedRadioButtonId()){
                        case R.id.rbTambah:
                            lblHasil.setText("Hasil = "+(bil1+bil2));
                            break;
                        case R.id.rbBagi:
                            lblHasil.setText("Hasil = "+(bil1/bil2));
                            break;
                        case R.id.rbKurang:
                            lblHasil.setText("Hasil = "+(bil1-bil2));
                            break;
                        case R.id.rbKali:
                            lblHasil.setText("Hasil = "+(bil1*bil2));
                            break;
                    }
                }else{
                    Toast.makeText(getApplicationContext(),"Tidak boleh kosong dan hanya angka",Toast.LENGTH_SHORT).show();
                }
            }
        }
    }

    public static boolean isNumeric(String str){
        return str.matches("-?\\d+(\\.\\d+)?");  //match a number with optional '-' and decimal.
    }
}

Kemudian kalian bisa melakukan mencoba menjalankan hasil pekerjaan kalian di emulator ataupun di device Android langsung.

Awal aplikasi dijalankan

Menghitung operasi pekalian

Bila Edittext dalam keadaan tidak berisi atau bukan huruf.

Untuk file lengkapnya silahkan download dibawah ini.

Menuju Github  
Komentar 0
Hai pengunjung, terima kasih sudah mampir di blog milik saya ini. Kali ini saya ingin berbagi permasalahan yang pernah saya hadapi dan baru-baru saja solusinya saya dapatkan, yaitu memperbaiki Font yang buruk pada windows.

Pasti kalian pernah awal-awal beli laptop, kalian tidak memiliki masalah pada laptop tersebut (lain lagi apabila itu laptop bekas ya ha ha ha). Namun bila kalian sudah ataupun pernah meng-instal ulang Windows, pasti ada beberapa masalah yang timbul salah satu nya yaitu pada Font yang peng-render-an nya sangat buruk dilayar.

Disini saya sedikit memberi tips yang saya pikir masalahnya ada pada browser saja, tetapi pada beberapa program di windows juga begitu.

Untuk hal itu kalian harus mengikuti langkah-langkah dibawah ini untuk memperbaiki font agar lebih terlihat Smooth pada windows kalian.

Pertama


Buka Run ketikkan fonts lalu klik Ok.



Kemudian klik Adjust ClearType text pada sisi kanan jendela yang terbuka.


Kemudian akan terbuka jendela baru seperti dibawah ini.


Contreng Turn on ClearType nya lalu klik Next, lalu pilih kotak dengan font yang menurut kalian paling smooth, setelah melewati 4 tahap pemilihan akan tampil seperti dibawah ini.


Setelah itu silahkan klik Finish lalu silahkan Restart Windows kalian untuk melihat efek dari apa yang barusan kita lakukan diatas.

Terima kasih itu saja untuk kali ini, sampai juga nanti lagi.