Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin ( )

Presentasi serupa


Presentasi berjudul: "PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin ( )"— Transcript presentasi:

1 PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin (15.11.0123)
Irkham Mustofa ( ) Achmal Maulana ( ) Dimas Wahyu Rabbani ( ) Yovie Fesya ( ) Harni Windiarti ( ) Tri Huda Prasetya ( )

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

3 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 :

4 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.

5 Membuat Fragment di Android Studio
1 2

6 Membuat Fragment di Android Studio
3 4

7 Membuat Fragment di Android Studio

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

9

10 Java

11

12

13 Menjalankan Aplikasi di Android Studio
Setelah berhasil diterapkan kita coba jalankan Aplikasinya lewat Android Studio. Hasilnya kurang lebih akan seperti ini : Sumber :

14 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); }

15 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); }

16 Kemudian kita akan membuat file layout untuk fragment dengan nama fragmentkita_layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: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" /> </LinearLayout> Untuk menambahkan fragment ke dalam activity ada dua cara,yaitu menambah pada file XML layout atau dengan java code.

17 Menambahkan Fragment dengan XML
Buka MainActivity.xml, tambahkan tag fragment seperti berikut untuk manambahkan fragment kedalam activity. <RelativeLayout xmlns:android=" xmlns: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:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>

18 Hasil

19 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.

20 Buka kembali actvity_main.xml, kemudian tambahkan id pada layout.
<RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:background="#446CB3"

21 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(); }

22 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:

23 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.

24 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="         android:layout_width="match_parent"     android:layout_height="match_parent" />

25 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 {       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

26 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(); } } }

27 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.

28 // 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 :

29 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.

30 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.

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

32 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.

33 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 :


Download ppt "PEMROGRAMAN MOBILE 2 Nama Anggota : Moh.Solahudin ( )"

Presentasi serupa


Iklan oleh Google