Sunday, February 12, 2017

# Android Studio # Tutorial

[Tutorial] Cara Penggunaan Fragment Di Android Studio

Cara Membuat Fragment Di Android Studio


Assalamualaikum Warohmatullahi Wabarokatuh
Selamat Sore 😊😊

Kali ini saya akan berbagi tutorial Cara Penggunaan Fragment Android Studio. Sebelum itu, saya akan menjelaskan tentang pengertian fragment. Fragment adalah bagian dari sebuah activity. Fragment merupakan bagian dari UI dalam activity. Kamu dapat menggabungkan beberapa fragment dalam activity untuk membuat multi-pane UI.Ada beberapa hal yang kamu perlu tahu tentang fragment yaitu, fragment memiliki siklus hidup (lifecycle) sendiri, dapat proses event sendiri, dan dapat ditambah atau dihapus ketika activity sedang jalan.

Berikut Langkah-Langkah Untuk Pembuatan Fragment Pada Android :

A. Pembuatan Project
     Terlebih dahulu buatlah sebuah project pada android studio misalnya dengan nama Fragment
gambar 1.0

Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. Setelah itu Next 
gambar 1.1

Pilih Next, kemudian muncul pilihan seperti di bawah ini :
gambar 1.2

Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next.
gambar 1.3

Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan proect tersebut selesai.

B. Pembuatan Layout
Setelah proses pembuatan project selesai. Langkah selanjutnya adalah pembuatan layout pada file content_main.xml. Pada project fragment ini kita menbutuhkan 3 buah button dan 1 buah FrameLayout
gambar 1.4
Tampilan widget pada layout content_main.xml

Tampilan design layout content_main.xml
gambar 1.5

Kode text pada layout content_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"    
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="com.example.rara.fragmentlagi.MainActivity"    
tools:showIn="@layout/activity_main">

    <LinearLayout        
    android:orientation="horizontal"        
    android:layout_width="match_parent"        
    android:layout_height="wrap_content">

        <Button            
        android:layout_width="match_parent"           
        android:layout_height="wrap_content"            
        android:text="Home"            
        android:id="@+id/BtnHome"            
        android:layout_weight="1" />

        <Button            
         android:layout_width="match_parent"           
         android:layout_height="wrap_content"           
         android:text="Profile"            
         android:id="@+id/BtnProfile"            
         android:layout_weight="1" />

        <Button            
        android:layout_width="match_parent"            
        android:layout_height="wrap_content"           
        android:text="Kontak"            
        android:id="@+id/BtnKontak"            
        android:layout_weight="1" />
    </LinearLayout>

    <FrameLayout        
     android:layout_width="match_parent"        
     android:layout_height="wrap_content"        
     android:layout_gravity="center_horizontal"       
     android:id="@+id/Container">
</FrameLayout>

</LinearLayout>

Setelah itu kita membuat class fragment terlebih dahulu, kita buat 3 class yaitu Home.java, Profile.java dan Kontak.java.

C. Logika Kode 
Selanjutnya adalah pembuatan logika kode pada activity MainActivity
package com.example.rara.fragmentlagi;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    //Kenalkan Widget    Button BtnHome, BtnProfile, BtnKontak;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        //Casting Id Widget        BtnHome = (Button)findViewById(R.id.BtnHome);
        BtnProfile = (Button)findViewById(R.id.BtnProfile);
        BtnKontak = (Button)findViewById(R.id.BtnKontak);

        // memberikan event ketika tombol home di klik        
        BtnHome.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // memanggil sebuah fragment kedalam activity                
                menuHome();
            }

        });
        BtnProfile.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // memanggil sebuah fragment kedalam activity                
                menuProfile();
            }


        });
        BtnKontak.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // memanggil sebuah fragment kedalam activity                
                menuKontak();
            }


        });

    }
    private void menuProfile() {
        Profile profile = new Profile();
        profile.setArguments(getIntent().getExtras());
        getSupportFragmentManager().beginTransaction()
        .replace(R.id.Container, profile, "Profile").commit();
        getSupportFragmentManager().popBackStack();
    }
    private void menuHome() {
        Home home = new Home();
        home.setArguments(getIntent().getExtras());
        getSupportFragmentManager().beginTransaction()
        .replace(R.id.Container, home, "Home").commit();
        getSupportFragmentManager().popBackStack();
    }
    private void menuKontak() {
        Kontak kontak = new Kontak();
        kontak.setArguments(getIntent().getExtras());
        getSupportFragmentManager().beginTransaction()
        .replace(R.id.Container, kontak, "Kontak").commit();
        getSupportFragmentManager().popBackStack();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present 
        .getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will        
        // automatically handle clicks on the Home/Up button, so long        
        // as you specify a parent activity in AndroidManifest.xml.        
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement        
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

D. Menjalankan Aplikasi Fragment
Langkah terakhir setelah pembuatan layout, logika kode pada class MainActivity.java adalah dengan menjalankan aplikasi terebut. Untuk menjalankan aplikasi tersebut dapat dengan memilih Run -> Run App, atau dengan memilih tombol Run 

gambar 1.6

Hasil Run Aplikasi Fragment
 Halaman Home

Halaman Profile 

Halaman Kontak

Terima Kasih Telah Mengunjungi Blog Saya, Semoga Kalian Semua Bisa Mempraktekan Cara Penggunaan Fragment Di Android Studio, Semoga Bermanfaat, Amin........ 👍👍

Wassalamualaikum Warahmatullahi Wabarakotuh









1 comment: