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.
24 May 2016
Komentar 0
Jangan Gengsi
Pagi dini hari tepatnya pukul 3:35 pada tanggal 24 Mei 2016, Saya mempunyai sebuah cerita mengenai Gengsi. Sebelum itu ada baiknya kita mengenal apa itu Gengsi, menurut sebuah website KBBI (Kamus Besar Bahasa Indonesia) Gengsi merupakan kata dasar yang berarti kehormatan dan pengaruh; harga diri; atau martabat; (link), terkait dengan harga diri pastinya saya ataupun kita pasti sangat hati-hati dalam menjaga harga diri masing-masing dari kita di depan banyak orang. 

Namun bagaimana bila seperti yang saya alami saat ini dan dahulu kala, saya menjaga harga diri di depan banyak orang padahal saat itu teman, keluarga, atau saya sendiri ingin mengabadikan sebuah Foto agar suatu saat saya bisa mengenang pertualangan, kejadian atau perjalanan pada diri  saya.

Saya memang orang yang tidak PEDE atau bisa disebut kurang percaya diri didepan orang banyak hanya untuk berbicara saja sulit. Apalagi saya harus berfoto ria ~cekrek sana-sini pastinya saya terlalu banyak melakukan pertimbangan saat ingin mengabadikan momen tersebut.

Namun kini, saat saya mencoba membuka folder koleksi Foto didalam laptop apa yang saya dapatkan?. Hanya sebuah penyesalan dan berbisik kecil dihati "kenapa dahulu saya tidak mengabadikan foto diri saya disitu bersama dengan mereka". Sepertinya saya memang harus merubah mindset di saat ingin mengekspresikan suatu hal tanpa harus menjaga harga diri, Sebaiknya lupakan sejenak mengenai harga diri buang jauh-jauh Gengsi yang saya miliki. Agar kedepannya saya tidak menyesal hanya dikarena kan saya terlalu banyak melakukan pengandaian bila ini itu terjadi dan diri saya akan bla bla bla..

Seperti itu lah saya dan lagi sampai saat ini saya tidak berani foto sendiri atau sering di sebut selfie oleh orang-orang kekinian saat ini. Kadang ada yang berteriak kecil ingin melakukan itu tapi gengsi saya sampai saat ini masih terlalu besar. Apabila nanti saya berhasil keluar dari watak saya yang satu ini (Gengsi), mungkin saya sudah menjadi diri saya yang lebih baik dari saat ini.

~ Pokoknya jangan gengsi.
16 May 2016
Komentar 0
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.