Saturday, 10 September 2016

Membuat Menu Tab Android Studio

Hari sabtu, untuk mengisi hari libur kerja saya akan sharing cara membuat Tab menu di android studio, Ok Langsung saja buka android studio dan buat Project baru dengan TabMenu untuk Activity-nya Pilih yang Empty Activity.
Selanjutnya pada activity_main.xml ganti file xml dengan xml berikut :

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"    
android:id="@android:id/tabhost"    
android:layout_width="fill_parent"   
android:layout_height="fill_parent" >

    <LinearLayout        
        android:layout_width="fill_parent"        
        android:layout_height="fill_parent"        
        android:orientation="vertical" >

        <TabWidget            
            android:id="@android:id/tabs"            
            android:layout_width="fill_parent"            
            android:layout_height="wrap_content"           
            android:layout_gravity="bottom" />

        <FrameLayout
            android:id="@android:id/tabcontent"           
            android:layout_width="fill_parent"            
            android:layout_height="fill_parent"            
            android:layout_gravity="bottom" />

    </LinearLayout>
</TabHost>


Terus tambahkan Empty Activity Baru dengan nama BerandaActivity kemudian pada activity_beranda.xml nya ganti dengan xml dibawah ini :


<?xml version="1.0" encoding="utf-8"?>
<DigitalClock xmlns:android="http://schemas.android.com/apk/res/android"  
android:layout_width="fill_parent"    
android:layout_height="fill_parent"  
android:gravity="center_vertical|center" 
android:textSize="50sp" >
</DigitalClock>

Terus tambahkan Empty Activity Baru dengan nama BeritaActivity dan ganti xmlnya dengan xml dibawah ini :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"   
    android:layout_height="match_parent"    
    android:orientation="vertical"    >
<ListView  
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"        />
</LinearLayout> 
Terus tambahkan Empty Activity Baru dengan nama TemanActivity dan ganti xmlnya dengan xml dibawah ini :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
   android:layout_width="match_parent"    
   android:layout_height="match_parent"    
   android:orientation="vertical"    >  
<ListView        
   android:id="@android:id/list"        
   android:layout_width="fill_parent"        
   android:layout_height="fill_parent"        />
</LinearLayout>

Terus tambahkan Empty Activity Baru dengan nama ChatActivity dan ganti xmlnya dengan xml dibawah ini :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    
    android:layout_width="match_parent"    
    android:layout_height="match_parent"    
    android:orientation="vertical"    >
    <RelativeLayout        
        android:layout_width="match_parent"        
        android:layout_height="400dp"        
        android:layout_alignParentTop="true"        
        android:layout_alignParentStart="true">
        <ListView           
        android:layout_width="wrap_content"        
        android:layout_height="wrap_content"          
        android:id="@+id/listView"            
        android:layout_centerVertical="true"            
        android:layout_centerHorizontal="true" />
    </RelativeLayout>

    <RelativeLayout        
       android:layout_width="match_parent"        
       android:layout_height="100dp"        
       android:layout_alignParentBottom="true"        
       android:layout_centerHorizontal="true">
        
    <Button            
       style="?android:attr/buttonStyleSmall"            
       android:layout_width="wrap_content"            
       android:layout_height="wrap_content"            
       android:text="Send"            
       android:id="@+id/button"            
       android:layout_centerVertical="true"            
       android:layout_alignParentEnd="true" />
    <EditText            
       android:layout_width="wrap_content"            
       android:layout_height="wrap_content"            
       android:id="@+id/editText"            
       android:layout_alignBottom="@+id/button"            
       android:layout_alignParentStart="true"            
       android:layout_toStartOf="@+id/button" />
    </RelativeLayout>
</RelativeLayout>

Kemudian bukan MainActivity.java ganti source code menjadi seperti dibawah ini :
@SuppressWarnings("deprecation")
public class MainActivity extends TabActivity {

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

        TabHost tabhost = getTabHost();
        TabHost.TabSpec spec;
        Intent intent;

        intent = new Intent().setClass(this, BerandaActivity.class);//content pada tab yang akan kita buat        
        spec = tabhost.newTabSpec("beranda").setIndicator("Beranda",null).setContent(intent);       
        tabhost.addTab(spec);//untuk membuat tabbaru disini bisa diatur sesuai keinginan anda
        intent = new Intent().setClass(this, BeritaActivity.class);
        spec = tabhost.newTabSpec("berita").setIndicator("Berita",null).setContent(intent);
        tabhost.addTab(spec);

        intent = new Intent().setClass(this, TemanActivity.class);
        spec = tabhost.newTabSpec("teman").setIndicator("Teman",null).setContent(intent);
        tabhost.addTab(spec);

        intent = new Intent().setClass(this, ChatActivity.class);
        spec = tabhost.newTabSpec("chat").setIndicator("Chat",null).setContent(intent);
        tabhost.addTab(spec);
    }
}

Ganti source code BerandaActivity.java dengan source code dibawah ini :

public class BerandaActivity extends Activity {

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_beranda);
    }
}
untuk source code BeritaActivity.java ganti menjadi :
public class BeritaActivity extends ListActivity {

    String [] berita ={"Jadwal Piala Dunia 2014", "Capres Indonesia", "Debat Capres", "Debat Cawapres"};

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

        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, berita));
    }
}
untuk source code TemanActivity.java ganti menjadi :
public class TemanActivity extends ListActivity {

    String [] teman ={"Andra", "Dina", "Edo", "Julia"};

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

        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, teman));

    }
}
untuk source code ChatActivity.java ganti menjadi :

public class ChatActivity extends Activity {

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

Jika sudah semua seperti diatas, jalankan programnya dan lihat hasilnya.... :D
Semoga tulisan ini bermanfaat..

Thursday, 8 September 2016




Pada postingan kali ini saya akan sharing tentang Firebase - Android Studio,,
Apa itu firebase...???

Firebase adalah layanan DbaaS (Database as a Service) dengan konsep realtimeFirebase merupakan penyedia layanan cloud dengan backend sebagai servis yang berbasis di San Fransisco, California. Firebase terdiri dari fitur pelengkap yang bisa dipadupadankan sesuai dengan kebutuhan Anda. Firebase memberikan anda perlengkapan dan infrastuktur untuk membangun suatu aplikasi yang lebih baik dan meningkatkan kesuksesan bisnis anda.

Produk utama dari Firebase yaitu suatu database yang menyediakan API untuk memungkinkan pengembang menyimpan dan mensinkronisasi data lewat multiple client.


Bagi developer web yang membangun aplikasi dengan HTML, CSS dan JS, Selain dari sisi server dan database, firebase juga menyediakan hosting untuk static file yang dilengkapi dengan fasilitas CDN.


Beberapa contoh aplikasi yang real time saat ini seperti bbm, whatsapp, facebook dan lain-lain dapat diaplikasikan menggunakan firebase untuk database maupun tools lainnya yang ada pada firebase. Apabila anda telah membuat suatu aplikasi namun memerlukan notifikasi secara realtime maka firebase dapat membantu dalam mengatasi masalah tersebut melalui tools pada firebase.

Firebase menyediakan library untuk berbagai client platform. Untuk browser menggunakan Javascript dan untuk mobile menggunakan Objective-C atau Android API.

Sumber : http://www.saungit.org/2016/07/apa-itu-firebase.html

Ok, itu sedikit penjelasan singkat tentang Firebase :D

Selanjutnya kita akan coba menginplementasikan cara mengakses database firebase dari aplikasi android yang akan kita bangun dengan Android Studio, Disini saya asumsikan para pembaca sudah punya account Firebase, jika belum baca Di Postingan Ini cara membuat account Firebase.


Ok, sekarang kita buat project baru di firebase-nya caranya klik buat proyek baru seperti pada gambar dibawah :



Isi nama proyeknya dengan nama terserah anda tapi disini saya buat nama proyeknya TesFirebase dan lokasi pilih Indonesia jika sudah klik buat proyek.




Jika sudah akan muncul tampilan seperti dibawah :


untuk mengakses database firebase kita, disini kita akan menggunakan user Anonimus, cara mengaktifkan user Anonimus masuk ke Menu Auth terus masuk ke tab Metode Masuk :


klik Anonim kemudian aktifkan terus simpan :



Selanjut setting database dengan masuk ke menu Database


didalam menu database terdapat link, dimana link itu yang akan digunakan untuk mengakses database firebase kita dari aplikasi androidnya, agar bisa diakses dari aplikasi kita harus rubah setingan firebasenya, masuk ke tab aturan kemudian ganti :

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

Menjadi :

{
  "rules": {
    ".read": "auth == null",
    ".write": "auth == null"
  }
}

kemudian klik publikasi.

pada database tambahkan seperti dibawah ini : 



Ok, sampai disini settingan firebase kita sudah siap dipanggil dari aplikasi android,,, :D

Selanjutnya kita buka Android Studio dan buat project baru dengan Nama TesFirebase :
Setelah membuat project masuk ke bagian gradle app, kemudian kita tambahkan gradle dibagian dependencies 

compile 'com.firebase:firebase-client-android:2.3.1'

kemudian tambahkan uses-permission berikut di AndroidManifest nya

<uses-permission android:name="android.permission.INTERNET" />

jika sudah lakukan Sync project, kemudian buka content_main.xml lalu design tampilan seprti gambar dibawah :


atau copy file xml berikut :

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  xmlns:app="http://schemas.android.com/apk/res-auto"    
  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"    
  app:layout_behavior="@string/appbar_scrolling_view_behavior"    
  tools:context="app.husnulm.com.firebaseapp.MainActivity"    
  tools:showIn="@layout/activity_main">

    <TextView        
       android:layout_width="wrap_content"        
       android:layout_height="wrap_content"        
       android:textAppearance="?android:attr/textAppearanceLarge"        
       android:text="Condition"        
       android:id="@+id/textViewCondition"        
       android:layout_marginTop="102dp"        
       android:layout_alignParentTop="true"        
       android:layout_centerHorizontal="true" />

    <Button        
      style="?android:attr/buttonStyleSmall"        
      android:layout_width="wrap_content"        
      android:layout_height="wrap_content"        
      android:text="Sunny"        
      android:id="@+id/buttonSunny"        
      android:layout_centerVertical="true"        
      android:layout_toStartOf="@+id/textViewCondition" />

    <Button        
      style="?android:attr/buttonStyleSmall"        
      android:layout_width="wrap_content"        
      android:layout_height="wrap_content"        
      android:text="Foggy"        
      android:id="@+id/buttonFoggy"        
      android:layout_alignTop="@+id/buttonSunny"        
      android:layout_toEndOf="@+id/textViewCondition" />
</RelativeLayout>


jika sudah Buka MainActivity.java dan rubah extends nya menjadi Activity dan rubah dibagian onCreate seperti gambar dibawah ini :




kemudian tambahkan source code berikut dibawahnya onCreate :

@Overrideprotected void onStart(){
    super.onStart();
    Button mButtonSunny = (Button)findViewById(R.id.buttonSunny);
    Button mButtonFoggy = (Button)findViewById(R.id.buttonFoggy);
    final TextView mTextCondition = (TextView)findViewById(R.id.textViewCondition);

    mRef = new Firebase("https://condition-6eb30.firebaseio.com/Condition");

    mRef.addValueEventListener(new ValueEventListener() {
        @Override        public void onDataChange(DataSnapshot dataSnapshot) {
            String newCondtion = (String) dataSnapshot.getValue();
            mTextCondition.setText(newCondtion);
        }

        @Override        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mButtonSunny.setOnClickListener(new View.OnClickListener() {
        @Override        public void onClick(View v) {
            mRef.setValue("Sunny");
        }
    });

    mButtonFoggy.setOnClickListener(new View.OnClickListener() {
        @Override        public void onClick(View v) {
            mRef.setValue("Foggy");
        }
    });
}

jika sudah silahkan di jalankan aplikasinya :D

Semoga tulisan ini membantu dan bermanfaat, jika ada yang mau ditanyakan silahkan comment dibawah,,,


:D Happy Sharing

Tutorial FireBase Android Studio




Pada postingan kali ini saya akan sharing tentang Firebase - Android Studio,,
Apa itu firebase...???

Firebase adalah layanan DbaaS (Database as a Service) dengan konsep realtimeFirebase merupakan penyedia layanan cloud dengan backend sebagai servis yang berbasis di San Fransisco, California. Firebase terdiri dari fitur pelengkap yang bisa dipadupadankan sesuai dengan kebutuhan Anda. Firebase memberikan anda perlengkapan dan infrastuktur untuk membangun suatu aplikasi yang lebih baik dan meningkatkan kesuksesan bisnis anda.

Produk utama dari Firebase yaitu suatu database yang menyediakan API untuk memungkinkan pengembang menyimpan dan mensinkronisasi data lewat multiple client.


Bagi developer web yang membangun aplikasi dengan HTML, CSS dan JS, Selain dari sisi server dan database, firebase juga menyediakan hosting untuk static file yang dilengkapi dengan fasilitas CDN.


Beberapa contoh aplikasi yang real time saat ini seperti bbm, whatsapp, facebook dan lain-lain dapat diaplikasikan menggunakan firebase untuk database maupun tools lainnya yang ada pada firebase. Apabila anda telah membuat suatu aplikasi namun memerlukan notifikasi secara realtime maka firebase dapat membantu dalam mengatasi masalah tersebut melalui tools pada firebase.

Firebase menyediakan library untuk berbagai client platform. Untuk browser menggunakan Javascript dan untuk mobile menggunakan Objective-C atau Android API.

Sumber : http://www.saungit.org/2016/07/apa-itu-firebase.html

Ok, itu sedikit penjelasan singkat tentang Firebase :D

Selanjutnya kita akan coba menginplementasikan cara mengakses database firebase dari aplikasi android yang akan kita bangun dengan Android Studio, Disini saya asumsikan para pembaca sudah punya account Firebase, jika belum baca Di Postingan Ini cara membuat account Firebase.


Ok, sekarang kita buat project baru di firebase-nya caranya klik buat proyek baru seperti pada gambar dibawah :



Isi nama proyeknya dengan nama terserah anda tapi disini saya buat nama proyeknya TesFirebase dan lokasi pilih Indonesia jika sudah klik buat proyek.




Jika sudah akan muncul tampilan seperti dibawah :


untuk mengakses database firebase kita, disini kita akan menggunakan user Anonimus, cara mengaktifkan user Anonimus masuk ke Menu Auth terus masuk ke tab Metode Masuk :


klik Anonim kemudian aktifkan terus simpan :



Selanjut setting database dengan masuk ke menu Database


didalam menu database terdapat link, dimana link itu yang akan digunakan untuk mengakses database firebase kita dari aplikasi androidnya, agar bisa diakses dari aplikasi kita harus rubah setingan firebasenya, masuk ke tab aturan kemudian ganti :

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

Menjadi :

{
  "rules": {
    ".read": "auth == null",
    ".write": "auth == null"
  }
}

kemudian klik publikasi.

pada database tambahkan seperti dibawah ini : 



Ok, sampai disini settingan firebase kita sudah siap dipanggil dari aplikasi android,,, :D

Selanjutnya kita buka Android Studio dan buat project baru dengan Nama TesFirebase :
Setelah membuat project masuk ke bagian gradle app, kemudian kita tambahkan gradle dibagian dependencies 

compile 'com.firebase:firebase-client-android:2.3.1'

kemudian tambahkan uses-permission berikut di AndroidManifest nya

<uses-permission android:name="android.permission.INTERNET" />

jika sudah lakukan Sync project, kemudian buka content_main.xml lalu design tampilan seprti gambar dibawah :


atau copy file xml berikut :

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  xmlns:app="http://schemas.android.com/apk/res-auto"    
  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"    
  app:layout_behavior="@string/appbar_scrolling_view_behavior"    
  tools:context="app.husnulm.com.firebaseapp.MainActivity"    
  tools:showIn="@layout/activity_main">

    <TextView        
       android:layout_width="wrap_content"        
       android:layout_height="wrap_content"        
       android:textAppearance="?android:attr/textAppearanceLarge"        
       android:text="Condition"        
       android:id="@+id/textViewCondition"        
       android:layout_marginTop="102dp"        
       android:layout_alignParentTop="true"        
       android:layout_centerHorizontal="true" />

    <Button        
      style="?android:attr/buttonStyleSmall"        
      android:layout_width="wrap_content"        
      android:layout_height="wrap_content"        
      android:text="Sunny"        
      android:id="@+id/buttonSunny"        
      android:layout_centerVertical="true"        
      android:layout_toStartOf="@+id/textViewCondition" />

    <Button        
      style="?android:attr/buttonStyleSmall"        
      android:layout_width="wrap_content"        
      android:layout_height="wrap_content"        
      android:text="Foggy"        
      android:id="@+id/buttonFoggy"        
      android:layout_alignTop="@+id/buttonSunny"        
      android:layout_toEndOf="@+id/textViewCondition" />
</RelativeLayout>


jika sudah Buka MainActivity.java dan rubah extends nya menjadi Activity dan rubah dibagian onCreate seperti gambar dibawah ini :




kemudian tambahkan source code berikut dibawahnya onCreate :

@Overrideprotected void onStart(){
    super.onStart();
    Button mButtonSunny = (Button)findViewById(R.id.buttonSunny);
    Button mButtonFoggy = (Button)findViewById(R.id.buttonFoggy);
    final TextView mTextCondition = (TextView)findViewById(R.id.textViewCondition);

    mRef = new Firebase("https://condition-6eb30.firebaseio.com/Condition");

    mRef.addValueEventListener(new ValueEventListener() {
        @Override        public void onDataChange(DataSnapshot dataSnapshot) {
            String newCondtion = (String) dataSnapshot.getValue();
            mTextCondition.setText(newCondtion);
        }

        @Override        public void onCancelled(FirebaseError firebaseError) {

        }
    });

    mButtonSunny.setOnClickListener(new View.OnClickListener() {
        @Override        public void onClick(View v) {
            mRef.setValue("Sunny");
        }
    });

    mButtonFoggy.setOnClickListener(new View.OnClickListener() {
        @Override        public void onClick(View v) {
            mRef.setValue("Foggy");
        }
    });
}

jika sudah silahkan di jalankan aplikasinya :D

Semoga tulisan ini membantu dan bermanfaat, jika ada yang mau ditanyakan silahkan comment dibawah,,,


:D Happy Sharing

Membuat Account Firebase

Pada postingan kali ini saya akan sharing tentang Firebase - Android Studio,,
Apa itu firebase...???

Firebase adalah layanan DbaaS (Database as a Service) dengan konsep realtimeFirebase merupakan penyedia layanan cloud dengan backend sebagai servis yang berbasis di San Fransisco, California. Firebase terdiri dari fitur pelengkap yang bisa dipadupadankan sesuai dengan kebutuhan Anda. Firebase memberikan anda perlengkapan dan infrastuktur untuk membangun suatu aplikasi yang lebih baik dan meningkatkan kesuksesan bisnis anda.

Ok, itu penjelasan singkat tentang Firebase, disini tidak saya jelaskan panjang lebar karena saya hanya akan fokus pada pembahasan cara mendaftar account firebase, sebeluam mendaftar diharuskan sudah memiliki account google (email). langkah pertama yang harus dilakukan adalah masuk ke websitenya firebase https://www.firebase.com/ setelah masuk klik LOGIN TO LEGACY CONSOLE di pojok kanan atas, setelah masuk di legacy console login, pilih sign in with google account


masukkan alamat email anda, jika berhasil akan muncul tampilan awal account firebase anda seperti berikut :



ABAP CDS View Part 10 : Authorization & DCL untuk ABAP CDS

Authorization & DCL di ABAP CDS | Panduan Lengkap (PFCG, @AccessControl, DCL) Authorization & DCL untuk ABAP CDS — Pandua...