SlideShare a Scribd company logo
1 of 9
Download to read offline
Praktikum ANDROID 
ANDROID 
FOR 
BEGINNER MODUL 12 
! 
[ANDROID FRAGMENT] 
!!!!! 
SUDARYATNO 
yatnosudar@gmail.com | @dodulz | facebook : yatno.sudar 
Page 1 of 9
Praktikum ANDROID 
ANDROID FRAGMENT 
! 
Untuk menciptakan aplikasi dengan layout dinamis kita perlu menggunakan fragment. 
Fragment merupakan komponen yang dapat digunakan berulang-ulang untuk beberapa kegiatan 
UI layout. Tujuan dari fragment sendiri untuk menciptakan UI layout yang lebih dinamis. Dan 
menghindari perpindahan Activity yang berlebihan. 
! 
Keuntungan dari fragment sendiri adalah reuse componen UI layout, single-pane layouts 
untuk smartphone dan multi-pane untuk layout tablet. Dan juga tidah hanya terbatas pada 
smartphone atau table, namun bisa juga digunakan untuk posisi portait dan landscape pada 
android. 
! 
Gambar diatas adalah single-pane layout. Gambar pertama dia memiliki fragment dengan 
ui ListView dan ketika di pilih akan pindah fragment ke layout ke dua yang berisi detail informasi. 
Dalam satu activity hanya terdapat satu fragment. 
! 
Gambar dibawah ini adalah multi-pane. dalam satu Activity terdapat dua Fragment. 
Fragment pertama adalah listview, fragment kedua adalah detail. Ketika user memilih item 
listview maka dia akan menampilkan fragment detail. Hal ini tidak hanya berlaku apakah dia 
smartphone atau tablet. Namun bisa juga berdasarkan layar portaid maupun landscape. 
! 
Page 2 of 9
Praktikum ANDROID 
Fragment awalnnya diperkenalkan di android 3 keatas. Namun sekarang sudah bisa di 
nikmati di android 2.3 dengan menggunakan support library v4. Support Library v4 merupan 
library pendukung untuk android 3 kebawa agar bisa memiliki fitur yang sama seperti android 3 
keatas. 
Fragment terdiri dari dua bagian. yang pertama adalah main fragment yang bertugas 
sebagi induk fragment dimana kita bisa menempatkan beberapa item fragment. Main fragment 
extend class FragmentActivity atau bisa juga extends Activity. Untuk layout dari main fragment 
adalah sebagai berikut : 
?xml version=1.0 encoding=utf-8? 
LinearLayout xmlns:android=http://schemas.android.com/apk/res/ 
android 
Code fragment diatas digunakan untuk mengatur fragment pada layout dan class yang akan 
digunakan oleh fragment nantinnya. Properti wajib pada fragment adalah id, layout_width, 
layout_height, dan class. 
Page 3 of 9 
android:layout_width=match_parent 
android:layout_height=match_parent 
android:orientation=vertical  
! 
fragment 
android:id=@+id/detailFragment 
android:layout_width=match_parent 
android:layout_height=match_parent 
class=com.example.android.rssfeed.DetailFragment / 
! 
/LinearLayout
Praktikum ANDROID 
Yang kedua adalah item fragment, merupakan content yang akan ditampilkan nantinnya. 
Item fragment extend dari class Fragment. Berikut ini adalah contoh dari class fragment : 
onCreateView digunakan untuk menginflate layout ke dalam main layout. onCreateView 
juga digunakan untk mendeklarasikan widget-widget yang terdapat pada layout. Untuk 
mendapatkan value activity kita dapat menggunakan method getActivity(). 
! 
Page 4 of 9 
public class DetailFragment extends Fragment { 
! 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup 
container, 
Bundle savedInstanceState) { 
View view = inflater.inflate(R.layout.fragment_rssitem_detail, 
container, false); 
return view; 
} 
! 
public void setText(String item) { 
TextView view = (TextView) 
getView().findViewById(R.id.detailsText); 
view.setText(item); 
} 
}
Praktikum ANDROID 
PRAKTIKUM 
! 
Tujuan : Memahami Fragment, FragmentActivity, Fragment 
Scope : FragmentActivity, Fragment, FragmentTransaction 
! 
1. Buat project baru 
2. Buat layout baru dengan nama list_lagu.xml, dengan code berikut : 
?xml version=1.0 encoding=utf-8? 
LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 
3. Buat layout baru dengan nama detail_lagu.xml, dengan code berikut : 
4. Buat file java dengan nama ListLagu, dengan code berikut : 
Page 5 of 9 
android:layout_width=match_parent 
android:layout_height=match_parent 
android:orientation=vertical 
android:padding=10dp 
android:background=#ecf0f1 
ListView 
android:id=@+id/daftar_lagu 
android:layout_width=match_parent 
android:layout_height=wrap_content  
/ListView 
/LinearLayout 
?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 
android:padding=10dp 
android:background=#ecf0f1 
ListView 
android:id=@+id/daftar_lagu 
android:layout_width=match_parent 
android:layout_height=wrap_content  
/ListView 
/LinearLayout
Praktikum ANDROID 
! 
5. Buat fiile java dengan nama DetailLagu, dengan code berikut : 
! 
Page 6 of 9 
public class ListLagu extends Fragment { 
private ListView daftar_lagu; 
private String lagu[] = { Indonesia Raya, Padamu Negeri, 
Maju Tak Gentar }; 
private ArrayAdapterString adapter; 
private onItemSelectedListener listener; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) { 
View view = inflater.inflate(R.layout.list_lagu, container, 
false); 
listener = (onItemSelectedListener) getActivity(); 
daftar_lagu = (ListView) view.findViewById(R.id.daftar_lagu); 
adapter = new ArrayAdapterString(getActivity(), 
android.R.layout.simple_list_item_1, lagu); 
daftar_lagu.setAdapter(adapter); 
daftar_lagu.setOnItemClickListener(new OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView? arg0, View arg1, int 
arg2, 
long arg3) { 
listener.setDetail(arg2); 
} 
}); 
return view; 
} ! 
@Override 
public void onStart() { 
super.onStart(); 
} 
public interface onItemSelectedListener { 
public void setDetail(int Position); 
} 
} 
public class DetailLagu extends Fragment { 
private TextView judul_lagu; 
private TextView detail_lagu; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) { 
View view = inflater.inflate(R.layout.detail_lagu, 
container,false);
Praktikum ANDROID 
6. Buat layout baru dengan nama main_fragment.xml, dengan code berikut : 
7. Edit MainActivity dengan code berikut : 
! 
Page 7 of 9 
judul_lagu = (TextView) view.findViewById(R.id.judul_lagu); 
detail_lagu = (TextView) view.findViewById(R.id.detail_lagu); 
return view; 
} 
public void setDetail(String judul, String detail){ 
judul_lagu.setText(judul); 
detail_lagu.setText(detail); 
} 
} 
?xml version=1.0 encoding=utf-8? 
LinearLayout 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 
android:animateLayoutChanges=true 
android:baselineAligned=false 
android:orientation=horizontal 
tools:context=com.example.fragmenttutorial.MainActivity  ! 
fragment 
android:id=@+id/fragment1 
android:name=com.example.fragmenttutorial.ListLagu 
android:layout_width=0dp 
android:layout_height=match_parent 
android:layout_weight=1 / ! 
fragment 
android:id=@+id/fragment2 
android:name=com.example.fragmenttutorial.DetailLagu 
android:layout_width=0dp 
android:layout_height=match_parent 
android:layout_weight=1 / ! 
/LinearLayout
Praktikum ANDROID 
8. Buat folder layout-port di folder res, Selanjutnnya buat file main_fragment.xml di dalam folder 
layout-post. 
Page 8 of 9 
public class MainActivity extends FragmentActivity implements 
ListLagu.onItemSelectedListener { 
private String koleksi_lagu[][] = { 
{ Indonesia Raya, Indonesia Tanah Airku... }, 
{ Padamu Negeri, Padamu Negeri Kami Berjanji... }, 
{ Maju Tak Gentar, Maju Tak Gentar Membela Yang Benar... 
}, }; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main_fragment); ! 
} 
@Override 
public void setDetail(int position) { 
DetailLagu fragment = (DetailLagu) getSupportFragmentManager() 
.findFragmentById(R.id.fragment2); 
if (fragment != null  fragment.isInLayout()) { 
fragment.setDetail(koleksi_lagu[position][0], 
koleksi_lagu[position][1]); 
} else { 
Intent intent = new Intent(MainActivity.this, 
DetailActivity.class); 
intent.putExtra(judul, koleksi_lagu[position][0]); 
intent.putExtra(detail, koleksi_lagu[position][1]); 
startActivity(intent); 
} 
} 
} 
?xml version=1.0 encoding=utf-8? 
LinearLayout 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 
android:orientation=horizontal 
android:baselineAligned=false 
android:animateLayoutChanges=true 
tools:context=com.example.fragmenttutorial.MainActivity  
fragment 
android:id=@+id/fragment1 
android:name=com.example.fragmenttutorial.ListLagu 
android:layout_width=0dp 
android:layout_height=match_parent 
android:layout_weight=1/ 
/LinearLayout
Praktikum ANDROID 
9. Jalankan Aplikasi. 
10. Untuk lanscape tekan ctrl+f11 
Page 9 of 9

More Related Content

What's hot

Modul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoModul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoYatno Sudar
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoYatno Sudar
 
Modul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoModul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoYatno Sudar
 
Modul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android SudaryatnoModul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android SudaryatnoYatno Sudar
 
Belajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog ProdukBelajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog ProdukAgus Haryanto
 
Modul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoModul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoYatno Sudar
 
Belajar Android Studio Memberi Efek animasi pada Button
Belajar Android Studio Memberi Efek animasi pada ButtonBelajar Android Studio Memberi Efek animasi pada Button
Belajar Android Studio Memberi Efek animasi pada ButtonAgus Haryanto
 
Live coding andorid
Live coding andoridLive coding andorid
Live coding andoridArif Huda
 
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLiteCara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLitecreatorb dev
 
Tutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbTutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbcreatorb dev
 
Membuat Aplikasi Android Keren
Membuat Aplikasi Android KerenMembuat Aplikasi Android Keren
Membuat Aplikasi Android KerenHangga Aji Sayekti
 
Aplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz AndroidAplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz Androidrivalbamen
 
Android membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaAndroid membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaRobby Febrian
 
Kenalan Dengan Firebase Android
Kenalan Dengan Firebase AndroidKenalan Dengan Firebase Android
Kenalan Dengan Firebase AndroidAgus Haryanto
 
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android SederhanaTutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhanacreatorb dev
 
Pertemuan 5 list view
Pertemuan 5 list viewPertemuan 5 list view
Pertemuan 5 list viewheriakj
 
Tutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash lightTutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash lightAgus Haryanto
 
Pertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menuPertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menuheriakj
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toastheriakj
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activityheriakj
 

What's hot (20)

Modul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoModul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android Sudaryatno
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android Sudaryatno
 
Modul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoModul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android Sudaryatno
 
Modul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android SudaryatnoModul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android Sudaryatno
 
Belajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog ProdukBelajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog Produk
 
Modul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoModul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android Sudaryatno
 
Belajar Android Studio Memberi Efek animasi pada Button
Belajar Android Studio Memberi Efek animasi pada ButtonBelajar Android Studio Memberi Efek animasi pada Button
Belajar Android Studio Memberi Efek animasi pada Button
 
Live coding andorid
Live coding andoridLive coding andorid
Live coding andorid
 
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLiteCara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
 
Tutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbTutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorb
 
Membuat Aplikasi Android Keren
Membuat Aplikasi Android KerenMembuat Aplikasi Android Keren
Membuat Aplikasi Android Keren
 
Aplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz AndroidAplikasi Cuaca dan Quiz Android
Aplikasi Cuaca dan Quiz Android
 
Android membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaAndroid membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhana
 
Kenalan Dengan Firebase Android
Kenalan Dengan Firebase AndroidKenalan Dengan Firebase Android
Kenalan Dengan Firebase Android
 
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android SederhanaTutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhana
 
Pertemuan 5 list view
Pertemuan 5 list viewPertemuan 5 list view
Pertemuan 5 list view
 
Tutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash lightTutorial Android Membuat Aplikasi senter Flash light
Tutorial Android Membuat Aplikasi senter Flash light
 
Pertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menuPertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menu
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toast
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activity
 

Viewers also liked

MVVM Core By GITS-Indonesia
MVVM Core By GITS-IndonesiaMVVM Core By GITS-Indonesia
MVVM Core By GITS-IndonesiaYatno Sudar
 
Modul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android SudaryatnoModul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android SudaryatnoYatno Sudar
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android ProgrammingWirat Mojo
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application developmentGoogle
 
Laporan praktikum modul 4
Laporan praktikum modul 4Laporan praktikum modul 4
Laporan praktikum modul 4Devi Apriansyah
 
Laporan praktikum ii visual
Laporan praktikum ii visualLaporan praktikum ii visual
Laporan praktikum ii visualrahmi wahyuni
 
Laporan pratikum v mulmet
Laporan pratikum v mulmetLaporan pratikum v mulmet
Laporan pratikum v mulmetrahmi wahyuni
 
Pengenalan android ndk
Pengenalan android ndkPengenalan android ndk
Pengenalan android ndkGoogle
 
Laporan praktikum iv.1 visual
Laporan praktikum iv.1 visualLaporan praktikum iv.1 visual
Laporan praktikum iv.1 visualrahmi wahyuni
 
Laporan praktikum iv.2 visual
Laporan praktikum iv.2 visualLaporan praktikum iv.2 visual
Laporan praktikum iv.2 visualrahmi wahyuni
 
Modul praktikum 11 hashing table
Modul praktikum 11 hashing tableModul praktikum 11 hashing table
Modul praktikum 11 hashing tablerahmi wahyuni
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basicrahmi wahyuni
 
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Agus Haryanto
 

Viewers also liked (15)

MVVM Core By GITS-Indonesia
MVVM Core By GITS-IndonesiaMVVM Core By GITS-Indonesia
MVVM Core By GITS-Indonesia
 
Modul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android SudaryatnoModul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android Sudaryatno
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application development
 
Laporan praktikum modul 4
Laporan praktikum modul 4Laporan praktikum modul 4
Laporan praktikum modul 4
 
Laporan praktikum ii visual
Laporan praktikum ii visualLaporan praktikum ii visual
Laporan praktikum ii visual
 
Laporan pratikum v mulmet
Laporan pratikum v mulmetLaporan pratikum v mulmet
Laporan pratikum v mulmet
 
Modul android
Modul android Modul android
Modul android
 
Pengenalan android ndk
Pengenalan android ndkPengenalan android ndk
Pengenalan android ndk
 
Laporan praktikum iv.1 visual
Laporan praktikum iv.1 visualLaporan praktikum iv.1 visual
Laporan praktikum iv.1 visual
 
Laporan praktikum iv.2 visual
Laporan praktikum iv.2 visualLaporan praktikum iv.2 visual
Laporan praktikum iv.2 visual
 
Laporan p1
Laporan p1Laporan p1
Laporan p1
 
Modul praktikum 11 hashing table
Modul praktikum 11 hashing tableModul praktikum 11 hashing table
Modul praktikum 11 hashing table
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basic
 
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
 

Similar to FRAGMENT ANDROID

Modul 1 android advanced ui design
Modul 1   android advanced ui designModul 1   android advanced ui design
Modul 1 android advanced ui designbachtiarnuredria
 
Membuathalutamaeclipse
MembuathalutamaeclipseMembuathalutamaeclipse
Membuathalutamaeclipseseffy kusuma
 
Layout, listview, gridview, and adapter
Layout, listview, gridview, and adapterLayout, listview, gridview, and adapter
Layout, listview, gridview, and adapterGoogle
 
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widgetChapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widgetEdi Faizal
 
Material design for android (Diggest)
Material design for android (Diggest)Material design for android (Diggest)
Material design for android (Diggest)Google
 
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Ferry Sha
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaAgus Haryanto
 
Laravel View dan Blade.pdf
Laravel View dan Blade.pdfLaravel View dan Blade.pdf
Laravel View dan Blade.pdfssuser42779e
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptWahyu Anggara
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptWahyu Anggara
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabviewheriakj
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di androidInto Setiawan
 
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptxPPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptxMuhammadHarrisMunand2
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskheriakj
 
Belajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaBelajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaslempase
 
Presentasi latihan pemrograman Java GUI menggunakan SWING
Presentasi latihan pemrograman Java GUI menggunakan SWINGPresentasi latihan pemrograman Java GUI menggunakan SWING
Presentasi latihan pemrograman Java GUI menggunakan SWINGBayu Rimba
 

Similar to FRAGMENT ANDROID (20)

Modul 1 android advanced ui design
Modul 1   android advanced ui designModul 1   android advanced ui design
Modul 1 android advanced ui design
 
Membuathalutamaeclipse
MembuathalutamaeclipseMembuathalutamaeclipse
Membuathalutamaeclipse
 
Layout, listview, gridview, and adapter
Layout, listview, gridview, and adapterLayout, listview, gridview, and adapter
Layout, listview, gridview, and adapter
 
Android Workshop beginner
Android Workshop beginnerAndroid Workshop beginner
Android Workshop beginner
 
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widgetChapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widget
 
Pemrograman android
Pemrograman androidPemrograman android
Pemrograman android
 
Material design for android (Diggest)
Material design for android (Diggest)Material design for android (Diggest)
Material design for android (Diggest)
 
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android Sederhana
 
Laravel View dan Blade.pdf
Laravel View dan Blade.pdfLaravel View dan Blade.pdf
Laravel View dan Blade.pdf
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android ppt
 
Laporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android pptLaporan pembuatan aplikasi my so untuk android ppt
Laporan pembuatan aplikasi my so untuk android ppt
 
Pengenalan pemrograman android
Pengenalan pemrograman androidPengenalan pemrograman android
Pengenalan pemrograman android
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabview
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di android
 
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptxPPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntask
 
Belajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaBelajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhana
 
Presentasi latihan pemrograman Java GUI menggunakan SWING
Presentasi latihan pemrograman Java GUI menggunakan SWINGPresentasi latihan pemrograman Java GUI menggunakan SWING
Presentasi latihan pemrograman Java GUI menggunakan SWING
 
D0215610(muh ikram s)
D0215610(muh ikram s)D0215610(muh ikram s)
D0215610(muh ikram s)
 

More from Yatno Sudar

Introduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQueryIntroduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQueryYatno Sudar
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsYatno Sudar
 
Chatbot With Dialogflow
Chatbot With DialogflowChatbot With Dialogflow
Chatbot With DialogflowYatno Sudar
 
Dialog Flow - GITS Indonesia
Dialog Flow - GITS IndonesiaDialog Flow - GITS Indonesia
Dialog Flow - GITS IndonesiaYatno Sudar
 
Technical Feasibility For Product
Technical Feasibility For ProductTechnical Feasibility For Product
Technical Feasibility For ProductYatno Sudar
 
Cloud Function For Firebase - GITS
Cloud Function For Firebase - GITSCloud Function For Firebase - GITS
Cloud Function For Firebase - GITSYatno Sudar
 

More from Yatno Sudar (7)

Slack Time
Slack TimeSlack Time
Slack Time
 
Introduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQueryIntroduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQuery
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform Apps
 
Chatbot With Dialogflow
Chatbot With DialogflowChatbot With Dialogflow
Chatbot With Dialogflow
 
Dialog Flow - GITS Indonesia
Dialog Flow - GITS IndonesiaDialog Flow - GITS Indonesia
Dialog Flow - GITS Indonesia
 
Technical Feasibility For Product
Technical Feasibility For ProductTechnical Feasibility For Product
Technical Feasibility For Product
 
Cloud Function For Firebase - GITS
Cloud Function For Firebase - GITSCloud Function For Firebase - GITS
Cloud Function For Firebase - GITS
 

FRAGMENT ANDROID

  • 1. Praktikum ANDROID ANDROID FOR BEGINNER MODUL 12 ! [ANDROID FRAGMENT] !!!!! SUDARYATNO yatnosudar@gmail.com | @dodulz | facebook : yatno.sudar Page 1 of 9
  • 2. Praktikum ANDROID ANDROID FRAGMENT ! Untuk menciptakan aplikasi dengan layout dinamis kita perlu menggunakan fragment. Fragment merupakan komponen yang dapat digunakan berulang-ulang untuk beberapa kegiatan UI layout. Tujuan dari fragment sendiri untuk menciptakan UI layout yang lebih dinamis. Dan menghindari perpindahan Activity yang berlebihan. ! Keuntungan dari fragment sendiri adalah reuse componen UI layout, single-pane layouts untuk smartphone dan multi-pane untuk layout tablet. Dan juga tidah hanya terbatas pada smartphone atau table, namun bisa juga digunakan untuk posisi portait dan landscape pada android. ! Gambar diatas adalah single-pane layout. Gambar pertama dia memiliki fragment dengan ui ListView dan ketika di pilih akan pindah fragment ke layout ke dua yang berisi detail informasi. Dalam satu activity hanya terdapat satu fragment. ! Gambar dibawah ini adalah multi-pane. dalam satu Activity terdapat dua Fragment. Fragment pertama adalah listview, fragment kedua adalah detail. Ketika user memilih item listview maka dia akan menampilkan fragment detail. Hal ini tidak hanya berlaku apakah dia smartphone atau tablet. Namun bisa juga berdasarkan layar portaid maupun landscape. ! Page 2 of 9
  • 3. Praktikum ANDROID Fragment awalnnya diperkenalkan di android 3 keatas. Namun sekarang sudah bisa di nikmati di android 2.3 dengan menggunakan support library v4. Support Library v4 merupan library pendukung untuk android 3 kebawa agar bisa memiliki fitur yang sama seperti android 3 keatas. Fragment terdiri dari dua bagian. yang pertama adalah main fragment yang bertugas sebagi induk fragment dimana kita bisa menempatkan beberapa item fragment. Main fragment extend class FragmentActivity atau bisa juga extends Activity. Untuk layout dari main fragment adalah sebagai berikut : ?xml version=1.0 encoding=utf-8? LinearLayout xmlns:android=http://schemas.android.com/apk/res/ android Code fragment diatas digunakan untuk mengatur fragment pada layout dan class yang akan digunakan oleh fragment nantinnya. Properti wajib pada fragment adalah id, layout_width, layout_height, dan class. Page 3 of 9 android:layout_width=match_parent android:layout_height=match_parent android:orientation=vertical ! fragment android:id=@+id/detailFragment android:layout_width=match_parent android:layout_height=match_parent class=com.example.android.rssfeed.DetailFragment / ! /LinearLayout
  • 4. Praktikum ANDROID Yang kedua adalah item fragment, merupakan content yang akan ditampilkan nantinnya. Item fragment extend dari class Fragment. Berikut ini adalah contoh dari class fragment : onCreateView digunakan untuk menginflate layout ke dalam main layout. onCreateView juga digunakan untk mendeklarasikan widget-widget yang terdapat pada layout. Untuk mendapatkan value activity kita dapat menggunakan method getActivity(). ! Page 4 of 9 public class DetailFragment extends Fragment { ! @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_rssitem_detail, container, false); return view; } ! public void setText(String item) { TextView view = (TextView) getView().findViewById(R.id.detailsText); view.setText(item); } }
  • 5. Praktikum ANDROID PRAKTIKUM ! Tujuan : Memahami Fragment, FragmentActivity, Fragment Scope : FragmentActivity, Fragment, FragmentTransaction ! 1. Buat project baru 2. Buat layout baru dengan nama list_lagu.xml, dengan code berikut : ?xml version=1.0 encoding=utf-8? LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 3. Buat layout baru dengan nama detail_lagu.xml, dengan code berikut : 4. Buat file java dengan nama ListLagu, dengan code berikut : Page 5 of 9 android:layout_width=match_parent android:layout_height=match_parent android:orientation=vertical android:padding=10dp android:background=#ecf0f1 ListView android:id=@+id/daftar_lagu android:layout_width=match_parent android:layout_height=wrap_content /ListView /LinearLayout ?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 android:padding=10dp android:background=#ecf0f1 ListView android:id=@+id/daftar_lagu android:layout_width=match_parent android:layout_height=wrap_content /ListView /LinearLayout
  • 6. Praktikum ANDROID ! 5. Buat fiile java dengan nama DetailLagu, dengan code berikut : ! Page 6 of 9 public class ListLagu extends Fragment { private ListView daftar_lagu; private String lagu[] = { Indonesia Raya, Padamu Negeri, Maju Tak Gentar }; private ArrayAdapterString adapter; private onItemSelectedListener listener; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.list_lagu, container, false); listener = (onItemSelectedListener) getActivity(); daftar_lagu = (ListView) view.findViewById(R.id.daftar_lagu); adapter = new ArrayAdapterString(getActivity(), android.R.layout.simple_list_item_1, lagu); daftar_lagu.setAdapter(adapter); daftar_lagu.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView? arg0, View arg1, int arg2, long arg3) { listener.setDetail(arg2); } }); return view; } ! @Override public void onStart() { super.onStart(); } public interface onItemSelectedListener { public void setDetail(int Position); } } public class DetailLagu extends Fragment { private TextView judul_lagu; private TextView detail_lagu; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.detail_lagu, container,false);
  • 7. Praktikum ANDROID 6. Buat layout baru dengan nama main_fragment.xml, dengan code berikut : 7. Edit MainActivity dengan code berikut : ! Page 7 of 9 judul_lagu = (TextView) view.findViewById(R.id.judul_lagu); detail_lagu = (TextView) view.findViewById(R.id.detail_lagu); return view; } public void setDetail(String judul, String detail){ judul_lagu.setText(judul); detail_lagu.setText(detail); } } ?xml version=1.0 encoding=utf-8? LinearLayout 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 android:animateLayoutChanges=true android:baselineAligned=false android:orientation=horizontal tools:context=com.example.fragmenttutorial.MainActivity ! fragment android:id=@+id/fragment1 android:name=com.example.fragmenttutorial.ListLagu android:layout_width=0dp android:layout_height=match_parent android:layout_weight=1 / ! fragment android:id=@+id/fragment2 android:name=com.example.fragmenttutorial.DetailLagu android:layout_width=0dp android:layout_height=match_parent android:layout_weight=1 / ! /LinearLayout
  • 8. Praktikum ANDROID 8. Buat folder layout-port di folder res, Selanjutnnya buat file main_fragment.xml di dalam folder layout-post. Page 8 of 9 public class MainActivity extends FragmentActivity implements ListLagu.onItemSelectedListener { private String koleksi_lagu[][] = { { Indonesia Raya, Indonesia Tanah Airku... }, { Padamu Negeri, Padamu Negeri Kami Berjanji... }, { Maju Tak Gentar, Maju Tak Gentar Membela Yang Benar... }, }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_fragment); ! } @Override public void setDetail(int position) { DetailLagu fragment = (DetailLagu) getSupportFragmentManager() .findFragmentById(R.id.fragment2); if (fragment != null fragment.isInLayout()) { fragment.setDetail(koleksi_lagu[position][0], koleksi_lagu[position][1]); } else { Intent intent = new Intent(MainActivity.this, DetailActivity.class); intent.putExtra(judul, koleksi_lagu[position][0]); intent.putExtra(detail, koleksi_lagu[position][1]); startActivity(intent); } } } ?xml version=1.0 encoding=utf-8? LinearLayout 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 android:orientation=horizontal android:baselineAligned=false android:animateLayoutChanges=true tools:context=com.example.fragmenttutorial.MainActivity fragment android:id=@+id/fragment1 android:name=com.example.fragmenttutorial.ListLagu android:layout_width=0dp android:layout_height=match_parent android:layout_weight=1/ /LinearLayout
  • 9. Praktikum ANDROID 9. Jalankan Aplikasi. 10. Untuk lanscape tekan ctrl+f11 Page 9 of 9