Rumah Media Sosial Bagaimana cara menggunakan fragmen untuk memprogram aplikasi Android App - dummies Anda

Bagaimana cara menggunakan fragmen untuk memprogram aplikasi Android App - dummies Anda

Video: Cara Membuka Aplikasi Lain dari Aplikasi Kita ( Launch Other Apps Programmatically ) 2024

Video: Cara Membuka Aplikasi Lain dari Aplikasi Kita ( Launch Other Apps Programmatically ) 2024
Anonim

Antarmuka pengguna di contoh aplikasi Android yang digunakan di sini memiliki tiga panel - daftar item, panel detail yang menjelaskan item mana yang dipilih dalam daftar, dan panel rincian-dalam-lebih-mendalam. Pada layar smartphone kecil, masing-masing panel mungkin merupakan aktivitas terpisah. Tapi layar tablet dalam mode landscape memiliki ruang untuk lebih dari satu panel.

Gambar di bawah menunjukkan aplikasi ini dengan dua dari tiga panel. Panel di sebelah kiri menampilkan daftar komponen Android SDK. Panel di sebelah kanan menampilkan deskripsi komponen apa saja yang dipilih dalam daftar di sebelah kiri. (Uraian sebenarnya adalah beberapa kalimat pertama dari dokumentasi SDK komponen.) Pola detail-on-the-right ini adalah bagian dari banyak antarmuka pengguna.

Dua fragmen yang melekat pada satu aktivitas.

Untuk membuat tampilan, Anda membangun satu aktivitas. Aktivitasnya memiliki dua fragmen - fragmen di sebelah kiri dan satu lagi di sebelah kanan. Panel kiri menampilkan fragmen yang sama sepanjang menjalankan aplikasi, sehingga Anda dapat mendeklarasikan fragmen itu dalam file tata letak aktivitas. Panel kanan menampilkan satu fragmen sekaligus, namun fragmennya berubah selama aplikasi dijalankan. Jadi Anda mendeklarasikan layout bingkai di panel kanan.


Pada kode di atas, android: layout_ atribut apa saja membagi layar menjadi dua bagian - satu setengah untuk elemen fragmen dan separuh lainnya untuk elemen FrameLayout. Strategi dengan atribut ini adalah memulai dengan menetapkan minimal nol piksel untuk setiap elemen. Tentu saja, nol piksel berarti tidak lebar sama sekali (yang sama dengan tidak terlihat). Untuk menjaga kedua bagian tata letak agar tidak terlihat, berikan nilai tata letak yang sama dengan nol ke dua bagian. Dengan nilai nol nol, masing-masing setengah mengembang untuk mengisi ruang yang tersedia dalam tata letak.

Penggunaan nama kelas yang memenuhi syarat fragmen (com. Allmycode. Frag. ComponentNamesFragment) disengaja. Nama yang disingkat (seperti. ComponentNamesFragment) tidak akan memotong mustard.

Jika Anda bertanya-tanya, detail built-in AndroidElementBackground menyediakan tampilan yang seragam untuk hal-hal seperti bagian kanan (hal-hal yang menampilkan detail tentang item yang telah dipilih pengguna).

Kode aktivitas utama aplikasi sangat tidak menarik.

paket com allmycode frag; impor android aplikasi. Aktivitas; impor android os. Bundel; kelas publik AllPurposeActivity memperluas Aktivitas {@Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R.tata letak. main);}}

Kode di bawah ini berisi kelas ComponentNamesFragment. Berdasarkan tata letak pada contoh pertama, Android menanam ComponentNamesFragment di sisi kiri layar perangkat.

paket com allmycode frag; impor android aplikasi. FragmentManager; impor android aplikasi. FragmenTransaksi; impor android aplikasi. ListFragment; impor android os. Bundel; impor android melihat. Melihat; impor android widget. ArrayAdapter; impor android widget. ListView; public class ComponentNamesFragment meluas ListFragment {final static String [] KOMPONEN = {"Aktivitas", "Layanan", "BroadcastReceiver", "ContentProvider"}; @Override public void onActivityCreated (Bundle savedInstanceState) {super. onActivityCreated (savedInstanceState); setListAdapter (new ArrayAdapter (getActivity (), android R. layout. simple_list_item_1, COMPONENTS));} @Override public void onListItemClick (ListView l, Lihat v, int index, long id) {// Buat fragmen dengan indeks DocsFragment docsFragment = DocsFragment baru (); Bundel args = pembantu. getBundleWithIndex (indeks); docsFragment setArguments (args); // Kosongkan tumpukan fragmenManager fragmentManager = getFragmentManager (); int backStackEntryCount = fragmentManager. getBackStackEntryCount (); untuk (int i = 0; i 

Kelas di kode di atas meluas kelas ListFragment Android. ListFragment adalah fragmen yang menampilkan daftar. Pada awal siklus hidup fragmen, kode pada contoh di atas membuat adaptor daftar (lebih khusus lagi, sebuah ArrayAdapter) untuk fragmen tersebut. Jadi, seberapa awal "awal"?

Parameter pertama konstruktor ArrayAdapter adalah konteksnya. Tapi tunggu! Tidak seperti aktivitas, fragmen bukanlah sebuah konteks. Jadi Anda tidak dapat menggunakan kata kunci ini untuk parameter pertama konstruktor ArrayAdapter.

Untungnya, fragmen memiliki metode getActivity. Sebuah panggilan untuk mendapatkanAktivitas meraih aktivitas yang fragmennya terpasang. Jadi, untuk parameter pertama konstruktor ArrayAdapter, Anda bisa menghubungi getActivity. Tentu saja, Anda tidak bisa menghubungi getActivity sampai fragmen itu melekat pada aktivitas yang ada. Itu sebabnya metode fragmen onActivityCreated ditimpa di atas. Panggilan Android onActivityCreated setelah melampirkan fragmen dan memanggil metode onCreate aktivitas. Jadi semuanya berjalan sesuai rencana.

android. aplikasi. Kelas grand-kelas kelas kegiatan adalah android. konten. Konteks. Tapi android. aplikasi. Kelas induk kelas fragment adalah java tua polos. lang. Obyek. Oleh karena itu, dalam kode aktivitas, kata kunci ini mengacu pada konteks. Tapi dalam kode fragmen, kata kunci ini tidak mengacu pada konteks.

Pada contoh di atas, konstruktor untuk ArrayAdapter memiliki tiga parameter.

Parameter pertama adalah konteks - parameter buruk yang memaksa Anda menempatkan konstruktor di dalam metode onActivityCreated.

Parameter kedua adalah simple_list_item_1 - tata letak Android standar.

Tata letak simple_list_item_ 1 menciptakan tampilan yang Anda lihat di sisi kiri gambar. Android memiliki banyak layout standar ini. Untuk rangkaian tata letak yang tersedia, kunjungi situs Pengembang Android.

Parameter ketiga adalah kumpulan item yang akan muncul dalam daftar.

Dalam contoh ini, item tersebut berasal dari array COMPONENTS, yang dideklarasikan dalam contoh yang sama.

Seperti ListActivity, sebuah ListFragment memiliki metode onListItemClick. Anda dapat merespons klik dengan bekerja dengan DocsFragment, FragmentTransaction, dan FragmentManager:

The DocsFragment mewakili sisi kanan gambar di atas.

Transaksi fragmen adalah sekumpulan hal yang Anda lakukan dengan fragmen. Misalnya, pengaturan untuk mengganti satu fragmen dengan yang lain adalah transaksi.

Seorang manajer fragmen melakukan apa namanya. Ini mengelola kedatangan dan keberangkatan fragmen.

Bagaimana cara menggunakan fragmen untuk memprogram aplikasi Android App - dummies Anda

Pilihan Editor

Adobe CS5 Illustrator Gradient Creation - dummies

Adobe CS5 Illustrator Gradient Creation - dummies

Anda dapat menggunakan Adobe Creative Suite 5 (Adobe CS5) Illustrator untuk tidak hanya membuat gradien serta menerapkannya. Gradien adalah variasi tonal yang digunakan untuk menerapkan efek warna yang berubah dengan lancar. Sebelum memulai proses menciptakan gradien, akan lebih baik jika melepaskan panel Color Anda. Klik tab Color ...

Adobe CS5 Illustrator Live Trace Feature - dummies

Adobe CS5 Illustrator Live Trace Feature - dummies

Fungsi Creative Corustage Adobe Creative Suite 5 (Adobe CS5) memungkinkan Anda menggunakan gambar yang ada dalam karya seni baru Anda. Anda dapat secara otomatis melacak gambar bitmap dengan menggunakan berbagai pengaturan yang berkisar dari seni garis hitam dan putih hingga seni vektor dengan banyak warna yang dapat diekstraksi dari gambar Anda.

Adobe CS5 Ilustrator Object Hiding - dummies

Adobe CS5 Ilustrator Object Hiding - dummies

Menyembunyikan sebuah benda di Adobe Creative Suite 5 (Adobe CS5) Ilustrator digunakan saat objek yang ingin Anda pilih terjebak di belakang sesuatu yang lain atau bila Anda perlu memilih satu objek dan satu lagi berulang kali mengaktifkannya. Kesempatan bagus untuk menggunakan perintah Hide adalah saat Anda membuat teks di dalam bentuk. Seperti ...

Pilihan Editor

Melakukan Analisis Situs Web Lanjutan dengan Omniture - dummies

Melakukan Analisis Situs Web Lanjutan dengan Omniture - dummies

Walaupun paket analisis Web gratis tersedia, Anda mungkin ingin mengeluarkan uang untuk alat analisis yang lebih canggih. Sesuatu seperti Omniture akan melakukan hal itu. Mengapa? Karena ada lebih banyak untuk menjalankan situs Web daripada menarik orang melalui mesin pencari, itulah yang difokuskan oleh banyak alat gratis. Alat berbayar, seperti Omniture, ...

Elemen Penting untuk SEO Mendapatkan Tingkatan Kata Kunci Tinggi - dummies

Elemen Penting untuk SEO Mendapatkan Tingkatan Kata Kunci Tinggi - dummies

Jika lokasi terbaik di web ada di halaman salah satu search engine, Anda perlu mengetahui elemen SEO yang bisa mengantarmu disana. Tempat yang baik untuk memulai adalah dengan kata kunci. Mesin pencari menggunakan proses lanjutan untuk mengkategorikan dan menganalisis penggunaan kata kunci dan faktor lainnya untuk mengetahui ...

Siaran Pers sebagai Sumber Konten SEO - dummies

Siaran Pers sebagai Sumber Konten SEO - dummies

Hal yang menyenangkan tentang siaran pers adalah Anda bisa menggunakannya di situs Anda tanpa izin, dan beberapa di antaranya sudah bisa dioptimalkan mesin pencari. Tujuan siaran pers adalah mengirimkannya dan melihat siapa yang memungutnya. Anda tidak perlu menghubungi pemilik siaran pers, karena ...

Pilihan Editor

Membangun Kode Sarang di Java - dummies

Membangun Kode Sarang di Java - dummies

Anda dapat menulis kode bersarang dengan pernyataan di Java. Pernahkah Anda melihat boneka nakal Rusia Matryoshka yang lucu? Buka satu, dan satu lagi ada di dalamnya. Buka yang kedua, dan yang ketiga ada di dalamnya. Ini seperti itu. (Bicara tentang kesenangan!) Daftar ini menunjukkan caranya. impor java statis lang. Sistem. di luar; impor java util. Pemindai; kelas publik ...

Memanggil Pembuat Java di Android App - dummies

Memanggil Pembuat Java di Android App - dummies

Anda dapat menggunakan panggilan konstruktor Java di Android Anda aplikasi. Panggilan konstruktor menciptakan objek baru dari kelas yang ada. Anda bisa melihat panggilan konstruktor dengan memperhatikan bahwa panggilan konstruktor dimulai dengan kata kunci baru Java: nama BagOfCheese () dan A constructor call yang baru adalah nama kelas Java: BagOfCheese baru () ...

Membuat Custom Code dengan Java API untuk XML Binding (JAXB) - dummies

Membuat Custom Code dengan Java API untuk XML Binding (JAXB) - dummies

Anda dapat Buat kode yang disesuaikan dengan JAXB - Java API for XML Binding. Dengan JAXB, Anda mengambil dokumen XML dan Anda membuat file kelas Java yang sempurna untuk memproses dokumen. Bila kebutuhan Anda berubah dan kelas tidak lagi melakukan apa yang Anda inginkan, Anda baru saja menelurkan yang baru ...