Selamat siang para developer kali ini kita akan membahas tab sliding seperti aplikasi whatsapp karena ada yang request dari facebook.

Oke langsung saja, pertama kita buat project baru lalu import repository design pada build.gradle kita. Perlu diingat versi yang di import harus sesuai dengan yang ada di SDK teman-teman.

Contoh gambar dibawah ini, yang saya block adalah versi dari SDK teman-teman.



 compile 'com.android.support:design:VERSI REPO'  

Jika sudah sekarang kita buat layoutnya terlebih dahulu. Kita buka activity_main.xml lalu buat seperti 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"  
   xmlns:app="http://schemas.android.com/apk/res-auto"  
   android:id="@+id/activity_main"  
   android:layout_width="match_parent"  
   android:layout_height="match_parent"  
   android:orientation="vertical"  
   tools:context="com.panduseptian.slidingtab.MainActivity">  
   <android.support.design.widget.TabLayout  
     android:id="@+id/slide"  
     android:layout_width="match_parent"  
     android:layout_height="wrap_content"  
     android:background="@color/colorPrimary"  
     app:tabGravity="fill"  
     app:tabMode="fixed">  
   </android.support.design.widget.TabLayout>  
   <android.support.v4.view.ViewPager  
     android:id="@+id/pager"  
     android:layout_width="match_parent"  
     android:layout_height="match_parent"></android.support.v4.view.ViewPager>  
 </LinearLayout>  

Kita buat 3 fragment untuk di tampilkan pada viewpager dengan cara sperti gambar dibawah :



Jika frgament sudah dibuat, sekarang kita buat adapternya seperti berikut :


Lalu masukan codingan seperti ini :


 package com.panduseptian.slidingtab;  
 import android.support.v4.app.Fragment;  
 import android.support.v4.app.FragmentManager;  
 import android.support.v4.app.FragmentPagerAdapter;  
 /**  
  * Created by pandu on 29/11/16.  
  */  
 public class PagerAdapter extends FragmentPagerAdapter {  
   public PagerAdapter(FragmentManager fm) {  
     super(fm);  
   }  
   @Override  
   public Fragment getItem(int position) {  
     switch (position){  
       case 0:  
         return new CallsFragment();  
       case 1:  
         return new ChatsFragment();  
       case 2:  
         return new ContactsFragment();  
     }  
     return null;  
   }  
   @Override  
   public int getCount() {  
     return 3;  
   }  
   @Override  
   public CharSequence getPageTitle(int position) {  
     switch (position){  
       case 0:  
         return "Calls";  
       case 1:  
         return "Chats";  
       case 2:  
         return "Contacts";  
     }  
     return super.getPageTitle(position);  
   }  
 }  

Sekarang kita ke MainActivity.java


 package com.panduseptian.slidingtab;  
 import android.support.design.widget.TabLayout;  
 import android.support.v4.view.ViewPager;  
 import android.support.v7.app.AppCompatActivity;  
 import android.os.Bundle;  
 public class MainActivity extends AppCompatActivity {  
   private ViewPager viewPager;  
   private PagerAdapter adapter;  
   private TabLayout tabLayout;  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
     getSupportActionBar().setElevation(0);  
     viewPager = (ViewPager) findViewById(R.id.pager);  
     adapter = new PagerAdapter(getSupportFragmentManager());  
     viewPager.setAdapter(adapter);  
     tabLayout = (TabLayout) findViewById(R.id.slide);  
     tabLayout.addTab(tabLayout.newTab().setText("Calls"));  
     tabLayout.addTab(tabLayout.newTab().setText("Chats"));  
     tabLayout.addTab(tabLayout.newTab().setText("Contacts"));  
     viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));  
     tabLayout.setupWithViewPager(viewPager);  
   }  
 }  

Jika sudah kita Run projectnya, Maka hasilnya seperti berikut :







Cukup sekian tutorial singkatnya, Semoga bermanfaat.

Selamat siang para developer, kali ini kita akan mempelajari bagaimana cara merubah font di android dengan Calligraphy Library. 

Seperti biasa kita import librarynya di build.gradle

 dependencies {  
   compile 'uk.co.chrisjenx:calligraphy:2.2.0'  
 }  

Selanjutnya kita copy file .ttf atau .otf pada folder app/src/main/assets/fonts, jika tidak ada folder assets buat dulu foldernya.

Sekarang kita buat file javahya dan beri nama MyApp lalu isi seperti dibawah :




 package com.panduseptian.customfont;  
 import android.app.Application;  
 import uk.co.chrisjenx.calligraphy.CalligraphyConfig;  
 /**  
  * Created by pandu on 28/11/16.  
  */  
 public class MyApp extends Application {  
   @Override  
   public void onCreate() {  
     super.onCreate();  
     CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()  
         .setDefaultFontPath("fonts/Oswald-Stencbab.ttf")  
         .setFontAttrId(R.attr.fontPath)  
         .build()  
     );  
   }  
 }  

Sekarang kita daftarkan MyApp sebagai name Aplikasi kita, buka AndroidManifest.xml lalu tambahkan attribute name pada tag application seperti berikut : 


Sekarang kita inject pada activity dengan cara memasukan void attachBaseContext(Context newBase) seperti dibawah :
 @Override  
   protected void attachBaseContext(Context newBase) {  
     super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));  
   }  

Full codingnya seperti ini :

 package com.panduseptian.customfont;  
 import android.content.Context;  
 import android.support.v7.app.AppCompatActivity;  
 import android.os.Bundle;  
 import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;  
 public class MainActivity extends AppCompatActivity {  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
   }  
   @Override  
   protected void attachBaseContext(Context newBase) {  
     super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));  
   }  
 }  

Sekarang Kita ubah viewnya agar lebih jelas perubahannya


 <?xml version="1.0" encoding="utf-8"?>  
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   xmlns:tools="http://schemas.android.com/tools"  
   android:id="@+id/activity_main"  
   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="com.panduseptian.customfont.MainActivity">  
   <TextView  
     android:layout_width="match_parent"  
     android:layout_height="match_parent"  
     android:gravity="center"  
     android:text="Custom Font"  
     android:textSize="30dp"/>  
 </RelativeLayout>  

Sekarang kita run projectnya dan hasilnya seperti ini :



Cukup sekian sharing tentang Custom Font Androidnya, semoga bermanfaat untuk teman-teman semua. Terima Kasih.

Selamat siang para developer android, kali saya akan sharing tentang bagaimana membuat image slider pada android dengan library dari . Langsung saja kita ke TKP...

Pertama kita import dulu library nya dengan cara buka build.gradle pada folder app/ lalu masukan librarynya seperti ini :





 dependencies {  
     compile "com.android.support:support-v4:+"  
     compile 'com.squareup.picasso:picasso:2.3.2'  
     compile 'com.nineoldandroids:library:2.4.0'  
     compile 'com.daimajia.slider:library:1.1.5@aar'  
 }  


Setelah itu tekan tombol Sync Now  lalu tunggu sampai proses build selesai. Sekarang kita buka AndroidManifest lalu masukan permission INTERNET dan
READ_EXTERNAL_STORAGE


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

Sekarang kita menuju ke activity_main.xml lalu buat seperti berikut ini :


 <?xml version="1.0" encoding="utf-8"?>  
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   xmlns:tools="http://schemas.android.com/tools"  
   android:id="@+id/activity_main"  
   android:layout_width="match_parent"  
   android:layout_height="match_parent"  
   tools:context="com.panduseptian.imageslider.MainActivity">  
   <com.daimajia.slider.library.SliderLayout  
     android:id="@+id/slider"  
     android:layout_width="match_parent"  
     android:layout_height="200dp" />  
 </RelativeLayout>  

Selanjutnya kita ke MainActivity lalu buat seperti ini :


 package com.panduseptian.imageslider;  
 import android.support.v7.app.AppCompatActivity;  
 import android.os.Bundle;  
 import com.daimajia.slider.library.Animations.DescriptionAnimation;  
 import com.daimajia.slider.library.SliderLayout;  
 import com.daimajia.slider.library.SliderTypes.BaseSliderView;  
 import com.daimajia.slider.library.SliderTypes.TextSliderView;  
 import com.daimajia.slider.library.Tricks.ViewPagerEx;  
 import java.util.HashMap;  
 public class MainActivity extends AppCompatActivity {  
   private SliderLayout sliderLayout;  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
     sliderLayout = (SliderLayout) findViewById(R.id.slider);  
     // Load image dari URL  
     HashMap<String,String> url_maps = new HashMap<String, String>();  
     url_maps.put("Hannibal", "http://static2.hypable.com/wp-content/uploads/2013/12/hannibal-season-2-release-date.jpg");  
     url_maps.put("Big Bang Theory", "http://tvfiles.alphacoders.com/100/hdclearart-10.png");  
     url_maps.put("House of Cards", "http://cdn3.nflximg.net/images/3093/2043093.jpg");  
     url_maps.put("Game of Thrones", "http://images.boomsbeat.com/data/images/full/19640/game-of-thrones-season-4-jpg.jpg");  
     // Load Image Dari res/drawable  
     HashMap<String,Integer> file_maps = new HashMap<String, Integer>();  
     file_maps.put("Hannibal",R.drawable.hannibal);  
     file_maps.put("Big Bang Theory",R.drawable.bigbang);  
     file_maps.put("House of Cards",R.drawable.house);  
     file_maps.put("Game of Thrones", R.drawable.game_of_thrones);  
     for(String name : file_maps.keySet()){  
       TextSliderView textSliderView = new TextSliderView(this);  
       // initialize a SliderLayout  
       textSliderView  
           .description(name)  
           .image(file_maps.get(name))  
           .setScaleType(BaseSliderView.ScaleType.Fit);  
       //add your extra information  
       textSliderView.bundle(new Bundle());  
       textSliderView.getBundle()  
           .putString("extra",name);  
       sliderLayout.addSlider(textSliderView);  
     }  
     sliderLayout.setPresetTransformer(SliderLayout.Transformer.Accordion);  
     sliderLayout.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);  
     sliderLayout.setCustomAnimation(new DescriptionAnimation());  
     sliderLayout.setDuration(4000);  
   }  
 }  

Untuk melihat hasilnya kita Run Rpojectnya, dan berikut adalah hasilnya


Berikut tutorial singkat dari saya. Semoga bermanfaat untuk para developer semua.

Salam Sukses.


Firebase adalah penyedia layanan cloud dengan backend sebagai servis. Firebase adalah platform mobile dan aplikasi web dengan sarana dan prasarana yang dirancang untuk membantu pengembang membangun aplikasi realtime.

San Francisco dan Mountain View, California. Perusahaan ini didirikan pada tahun 2011 oleh Andrew Lee dan James Tamplin. Produk awal Firebase adalah database realtime, yang menyediakan API yang memungkinkan pengembang untuk menyimpan dan sinkronisasi data di beberapa klien. Seiring waktu, Firebase telah memperluas produknya untuk menjadi suite lengkap bagi pengembangan aplikasi. Perusahaan ini diakuisisi oleh Google bulan Oktober 2014 dan menambahkan sejumlah besar fitur baru pada bulan Mei 2016, di Google I / O konferensi.

Firebase sendiri memiliki beberapa service yaitu :
  1. Analytics
    1. Firebase Analytics
  2. Develop
    1. Firebase Cloud Messaging
    2. Firebase Auth
    3. Realtime Database
    4. Firebase Storage
    5. Firebase Hosting
    6. Firebase Test Lab for Android
    7. Firebase Crash Reporting
  3. Grow
    1. Firebase Notifications
    2. Firebase App Indexing
    3. Firebase Dynamic Links
    4. Firebase Invites
    5. Adwords
  4. Earn
    1. Admob

Firebase memiliki banyak library yang memungkinkan untuk mengintegrasikan layanan ini dengan Android, iOS, Javascript, Java, Objective-C dan Node.JS. Database Firebase juga bersifat bisa diakses lewat REST API dan data binding untuk beberapa framework Javascript seperti halnya AngularJS, ReactJS, Ember.JS, dan Backbone.JS. REST API tersebut menggunakan protokol Server-Sent Event dengan membuat koneksi HTTP untuk menerima push notification dari server. Pengembang juga bisa menggunakan database ini untuk mengamankan data mereka menggunakan server Firebase dengan rules yang ada.

Berikut adalah penjelasan singkat tentang Firebase. Semoga pemabaca bermanfaat dan termotivasi untuk mengembangkan aplikasi realtime dengan Firebase.

Pandu Septian Gumilar

{picture#http://kekirian.com/wp-content/uploads/2015/12/10419440_814838468537519_2081836625630750537_n-150x150.jpg} YOUR_PROFILE_DESCRIPTION {facebook#YOUR_SOCIAL_PROFILE_URL} {twitter#YOUR_SOCIAL_PROFILE_URL} {google#YOUR_SOCIAL_PROFILE_URL} {pinterest#YOUR_SOCIAL_PROFILE_URL} {youtube#YOUR_SOCIAL_PROFILE_URL} {instagram#YOUR_SOCIAL_PROFILE_URL}
Powered by Blogger.