PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin ( )

Slides:



Advertisements
Presentasi serupa
3 – Activity and Intent Willy, M.Kom.
Advertisements

Struktur Project Android
Mobile Programming Pertemuan 3 Presented by Mulyono
Pengaktifan Activity secara Explicit
Mobile Programming Intro Android.
UI Controls dengan Widget TextView, EditText dan Button
High Level User Interface
Inheritance dan Kata Kunci static
Pengelolaan Database Lanjutan
Content Provider pada Android
Pemrograman Bergerak Pembuatan Service 1.
Struktur Class Java Android
Pemrograman Perangkat Mobile
Pengelolaan Database Lanjutan 2
As’ad Djamalilleil Struktur Android As’ad Djamalilleil
As’ad Djamalilleil Intent As’ad Djamalilleil
Pemrograman Bergerak Pembuatan Activity 1.
ANDROID ACTIVITY.
Android AN’ ANQINUDIN L.,S.Kom.
Mobile computing – Android Activity dan Intent
Content Provider pada Android
Pemrograman Perangkat Mobile
DISKUSI PERTEMUAN 3 Pemrograman mobile 2 Ti 15 D
Pertemuan 3 : Komponen Aplikasi Android
Android multimedia Anggota : Ragil Setiawan ( )
Diskusi Pertemuan 4 Anggota : Kukuh Prasetyo Adhi ( ) Warsito Aji ( ) Karima Dewi R ( ) Alfano Kurniawan W ( ) Bagus.
P E R T E M U A N 5 FRAGMENT.
Komponen Aplikasi Android
KELOMPOK 1 : PEMROGRAMAN MOBILE PERTEMUAN KE 3
Pemrograman Mobile Kelompok Nur Dwi Ramadani
PEMROGRAMAN MOBILE Kelompok 2
Anggota Kelompok: 1. Rinta Setyo Nugroho 2. Anan Ar Rozzaq
PEMROGRAMAN MOBILE 2 KELOMPOK 7 TI 15 D.
PEMROGRAMAN MOBILE 2 Dina Murniati Putri (NIM )
Notification, Dialog, dan Intent
PEMROGRAMAN MOBILE Kelompok 2
FRAGMENT KELOMPOK 3 Abdurahman Agung Edi W Eko Prasetyo Fahrul Rosi
Penerapan Notification,Dialog dan Inten
FRAGMENT Pemrograman Mobile 2 Disusun Oleh :
Kelompok 3 Khoerul Umam Dwi Yulianto K.W
Pemrograman Mobile Kelompok Pertemuan 5.
Android DATABASE.
Komponen Aplikasi Android
Pengenalan Pemrograman Mobile PART 5 - FRAGMEN.
KELOMPOK 6 Ragil Setiawan Muhamad Ma’ruf Siti Roudhotul Janah
Kelompok 3 Khoerul Umam Dwi Yulianto K.W
Fragment Nama anggota : Andian Ramadhan
FRAGMENT Nama anggota :
PERTEMUAN 5 KELOMPOK 2.
Dilla Alfianur Kumalasari 0238
9 Mobile Computing 2 SKS Dedy Alamsyah, S.Kom..
PENGENALAN Pemrograman MOBILE 2
PMO Pertemuan Ke 5 Fragment
Klompok 2 Dedi wahyudi ( ) Muhammad ichan ( )
PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin ( )
Android database mysql dan webservice
ANDROID LOCATION BASED SERVICE
Mobile Programming Intent dan Activity.
Mobile Programming Folder Resources (Res) dan tata kelolanya
PEMROGRAMAN MOBILE PERTEMUAN KE-5
Mobile Computing Fery Updi, M.Kom..
Arif Risqiantoro Dadang wahyu utomo Isnan aditia
FRAGMENT PEMROGRAMAN MOBILE 2.
Dialog, NOTIFICATion, Intent
Pemrograman Perangkat bergerak Dosen: RBD
Pemrograman Perangkat bergerak Dosen: RBD
Pemrograman Perangkat bergerak Dosen: RBD
PEMROGRAMAN MOBILE 1 PERTEMUAN 4
PEMROGRAMAN MOBILE 1 RPS 8
Komponen activity Dosen: Maimun, S.T., M.T.. 1. Activity Kegiatan apa yang akan ditampilkan dan dilakukan user pada sebuah window Berisi lifecycle / daur.
Transcript presentasi:

PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin (15.11.0123) Irkham Mustofa (15.11.0129) Achmal Maulana (15.11.0128) Dimas Wahyu Rabbani (15.11.0134) Yovie Fesya (15.11.0135) Harni Windiarti (15.11.0137) Tri Huda Prasetya (15.11.0144)

PEMBAHASAN Fragment Membuat Fragment Menambahkan Fragment pada activity Membuat UI flexible dengan Fragment Komunikasi antar fragment

FRAGMENT  Fragment adalah salah satu komponen , antar muka (user interface ) yang merupakan sebuah bagian dari Activity, dapat disebut juga dengan nama Sub-Activity. Satu Activity bisa mengelola beberapa fragment .untuk menampilkan hasil di layar user (pengguna). Dalam Satu Activity juga ,sebuah fragment dapat diganti,ditambahkan dan dihapus ,dan juga bersifat reusable ,artinya dapat digunakan kembali sesuai kebutuhan. Fragment dipengaruhi dari lifecycle (siklus hidup ) Activity , karna Fragment termasuk bagian dari Activity.  SUMBER : http://www.okedroid.com/2017/03/belajar-mengenal-perbedaan-activity-dan-fragment-android.html

MEMBUAT FRAGMENT onAttach(Activity)  :  digunakan untuk memanggil 1 kali ketika menempel di Activity. onCreate(Bundle)   : digunakan untuk mempersiapkan fragment. onCreateView(LayoutInflater, ViewGroup, Bundle)  : menciptakan dan menampilkan kembali secara hirarki. onActivityCreated(Bundle) : method ini dipanggil setelah method onCreate(). onViewStateRestored(Bundle) : digunakan untuk menyatakan informasi  kepada fragment bahwa semua akan disimpak ke dalam state (layar) dari tampilan fragment secara hirarki yang telah dipulihkan. .onStart() : digunakan untuk membuat fragment terlihat. onResume() : digunakan untuk membuat fragment interaktif. onPause()  : digunakan jika fragment tidak lagi interaktif. onStop()  :digunakan jika fragment tidak lagi  terlihat. onDestroyView() : digunakan untuk membersihkan resources (sumber daya. onDestroy()  : digunakan untuk membersihkan akhir resources (sumber daya )dari layar fragment. onDetach() : digunakan ketika fragment ,tidak lagi ada di Activity.

Membuat Fragment di Android Studio 1 2

Membuat Fragment di Android Studio 3 4

Membuat Fragment di Android Studio

Setelah berhasil dibuat kita akan mencoba menerapkan baris intruksi (codingan ) dibawah ke dalam file layout dan file java. Layout

Java

Menjalankan Aplikasi di Android Studio Setelah berhasil diterapkan kita coba jalankan Aplikasinya lewat Android Studio. Hasilnya kurang lebih akan seperti ini : Sumber : http://www.okedroid.com/2016/03/belajar-cara-membuat-fragment-di-android-studio.html?m=1

MEMBUAT FRAGMENT DI ACTIVITY Buat project baru Modifikasi file MainActivity.java seperti diberikut dibawah ini. import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }

Buat class java baru dengan fragmentkita Buat class java baru dengan fragmentkita.java , kemudian extend fragment import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; /** * Created by Teknorial on 20-Sep-15. */ public class FragmentKita extends Fragment { @Override public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle SavedInstanceState){ return inflater.inflate(R.layout.fragmentkita_layout,container,false); }

Kemudian kita akan membuat file layout untuk fragment dengan nama fragmentkita_layout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#52B3D9"> <TextView android:layout_margin="40dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Hello Fragment" android:id="@+id/textView" /> </LinearLayout> Untuk menambahkan fragment ke dalam activity ada dua cara,yaitu menambah pada file XML layout atau dengan java code.

Menambahkan Fragment dengan XML Buka MainActivity.xml, tambahkan tag fragment seperti berikut untuk manambahkan fragment kedalam activity. <RelativeLayout 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" tools:context=".MainActivity" android:background="#446CB3"> <!--tag fragment berikut untuk menambahkan fragment ke dalam activity --> <fragment android:layout_width="wrap_content" android:layout_height="wrap_content" android:name="com.teknorial.cobafragment.FragmentKita" android:id="@+id/fragment" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>

Hasil

Menambahkan Fragment dengan Java Code Mendapatkan referensi untuk FragmentManager. Setiap Activity memiliki Fragment Manager sendiri yang dapat diakses melalui getfragmentmanager(). FragmentManager mengatur reference untuk semua fragment dalam activity. Gunakan findfragmentById() atau findFragmentByTag() untuk mendapatkan reference dari fragment tertentu. Memulai transaction dengan memanggil beginTransaction() FragmentTransaction dapat mengubah UI dalam hal menambahkan, menghapus, dan mengganti fragment.

Buka kembali actvity_main.xml, kemudian tambahkan id pada layout. <RelativeLayout 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" tools:context=".MainActivity" android:background="#446CB3" android:id="@+id/my_layout"></RelativeLayout>

Buka MainActivity.java, pada method onCreate, kita tambahkan FragmentManager dan FragmentTransaction. import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentKita frag= new FragmentKita(); FragmentManager manager=getFragmentManager(); FragmentTransaction transaction=manager.beginTransaction(); transaction.add(R.id.my_layout,frag,"Kita");/*parameter|id layout,objek fragment, String berguna untuk findFragmentByTag()|*/ transaction.commit(); }

jika fragment menutupi activity, buka fragmentkita_layout jika fragment menutupi activity, buka fragmentkita_layout.xml, lihat pada tag LinearLayout, ubah lah atribut seperti berikut. android:layout_height="wrap_content“ Jika tidak ada error kode aplikasi kita , maka tampilan akan seperti screenshot berikut. Sumber: https://blog.teknorial.com/tutorial-membuat-fragment-dalam-activity/

MEMBUAT UI FLEKSIBEL DENGAN FRAGMEN Membangun UI Fleksibel Dua fragmen yang ditampilkan dalam konfigurasi yang berbeda untuk aktivitas yang sama pada berbagai ukuran layar. Pada layar besar, kedua fragmen muat dari sisi ke sisi, tetapi pada perangkat handset, hanya satu fragmen muat dalam satu waktu, jadi fragmen harus menggantikan satu sama lain seiring pengguna bernavigasi.

Menambahkan Fragmen ke Aktivitas di Waktu Proses Jika aktivitas Anda memperbolehkan fragmen untuk dihapus dan digantikan, Anda perlu menambahkan fragmen awal ke aktivitas saat metode onCreate() aktivitas. Aturan penting saat menangani fragmen—khususnya saat menambahkan fragmen di waktu proses—adalah bahwa layout aktivitas harus menyertakan kontainer View tempat Anda dapat menyisipkan fragmen. Layout berikut merupakan alternatif dari layout yang ditampilkan pada pelajaran sebelumnya yang hanya menampilkan satu fragmen pada satu waktu. Untuk menggantikan satu fragmen dengan fragmen lain, layout aktivitas termasuk FrameLayout kosong yang bertindak sebagai kontainer fragmen. Perhatikan bahwa nama file sama dengan file layout di pelajaran sebelumnya, tetapi direktori layout tidak memiliki qualifier large, jadi layout ini digunakan saat layar perangkat lebih kecil dari besar karena layar tidak memuat kedua fragmen pada waktu bersamaan. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/fragment_container"     android:layout_width="match_parent"     android:layout_height="match_parent" />

Dalam aktivitas Anda, panggil getSupportFragmentManager() untuk mendapatkan FragmentManager menggunakan Support Library API. Lalu panggil beginTransaction() untuk membuat FragmentTransaction dan panggil add() untuk menambahkan fragmen. Anda dapat melakukan beberapa transaksi fragmen untuk aktivitas menggunakan FragmentTransaction yang sama. Setelah Anda siap melakukan perubahan, Anda harus memanggil commit(). Misalnya, berikut cara menambahkan fragmen ke layout sebelumnya: import android.os.Bundle; import android.support.v4.app.FragmentActivity; public class MainActivity extends FragmentActivity {     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.news_articles);         // Check that the activity is using the layout version with         // the fragment_container FrameLayout

if (findViewById(R. id. fragment_container) if (findViewById(R.id.fragment_container) != null) { // However, if we're being restored from a previous state, // then we don't need to do anything and should return or else // we could end up with overlapping fragments. if (savedInstanceState != null) { return; } // Create a new Fragment to be placed in the activity layout HeadlinesFragment firstFragment = new HeadlinesFragment(); // In case this activity was started with special instructions from an // Intent, pass the Intent's extras to the fragment as arguments firstFragment.setArguments(getIntent().getExtras()); // Add the fragment to the 'fragment_container' FrameLayout getSupportFragmentManager().beginTransaction() .add(R.id.fragment_container, firstFragment).commit(); } } }

Mengganti Satu Fragmen dengan Fragmen Lainnya Prosedur untuk mengganti fragmen serupa dengan menambah fragmen, namun memerlukan metode replace() bukan add(). Perhatikan bahwa saat melakukan transaksi fragmen, misalnya menggantikan atau membuang fragmen, sering kali diperlukan untuk mengizinkan pengguna bernavigasi mundur dan "mengurungkan" perubahan. Untuk mengizinkan pengguna bernavigasi mundur melalui transaksi fragmen, Anda harus memanggil addToBackStack() sebelum Anda mengikat FragmentTransaction.

// Create fragment and give it an argument specifying the article it should show ArticleFragment newFragment = new ArticleFragment(); Bundle args = new Bundle(); args.putInt(ArticleFragment.ARG_POSITION, position); newFragment.setArguments(args); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); // Replace whatever is in the fragment_container view with this fragment, // and add the transaction to the back stack so the user can navigate back transaction.replace(R.id.fragment_container, newFragment); transaction.addToBackStack(null); // Commit the transaction transaction.commit(); Sumber : https://developer.android.com/training/basics/fragments/fragment-ui.html#Replace

KOMUNIKASI ANTAR FRAGMENT Berkomunikasi dengan Fragment yang lain Untuk memanfaatkan komponen-komponen UI Fragment, kita sebaiknya membuat masing-masing komponen sebagai komponen modular secara utuh yang mendefinisikan layout dan perilakunya sendiri. Setelah kita mendefiniskan 'Fragment-fragment', kita bisa mengaitkan/mengasosiasikannya dengan suatu 'Activity' dan menghubungkannya dengan lojik aplikasi untuk merealisasikan keseluruhan UI gabungan tersebut. Seringkali kita ingin satu 'fragment' untuk berkomunikasi dengan 'fragment' yang lain, contohnya untuk mengubah konten berdasarkan suatu 'event' user. Semua komunikasi 'fragment-ke-fragment' dilakukan melalui 'Activity' yang terasosiasi/terkait. Dua 'fragment' seharusnya tidak pernah berkomunikasi secara langsung.

Membuat 'Interface' Untuk membuat suatu 'Fragment' berkomunikasi hingga 'Activity' nya, kita bisa membuat interface di dalam class 'Fragment' dan mengimplementasikannya di dalam 'Activity'. 'Fragment' akan menangkap implementasi interface pada method (siklus hidup) 'onAttach()' dan kemudian bisa memanggil method-method 'Interface' untuk berkomunikasi dengan 'Activity' tersebut.

Berikut dibawah ini adalah contoh komunikasi 'Fragment' ke 'Activity':

Sekarang 'fragment' tersebut bisa mengirim pesan ke 'activity' dengan memanggil method 'onArticleSelected()' (atau method-method lainnya di dalam 'interface') dengan menggunakan instan 'mCallback' dari interface 'onHeadlineSelectedListener'. Contohnya, method berikut ini di dalam 'fragment' dipanggil ketika user men-klik pada daftar item. 'Fragment' tersebut akan menggunakan 'interface' untuk mengirim 'event' ke 'activity' induknya.

Mengimplementasikan 'Interface' Untuk menerima 'event' dari 'fragment', 'activity' yang menjadi tempat penampungnya harus mengimplementasikan 'interface' yang didefinisikan di dalam class 'fragment'. Contohnya, 'activity' berikut ini akan mengimplementasikan 'interface' dari contoh di atas tadi. Sumber : https://phpisus.blogspot.co.id/2016/10/berkomunikasi-dengan-fragment-yang-lain.html