Sunday, October 14, 2018

Contoh Source Code Android Slices


Android Slices

Irisan Android terdiri dari penyedia slice dan presenter slice. Penyedia slice mendefinisikan irisan di app yang menjadi milik dan presenter slice yang ada di aplikasi yang sama atau aplikasi yang berbeda menampilkan irisan.
Penyedia slice ketika diminta memberikan irisan. Setiap slice berisi informasi tentang fitur aplikasi. Konten terstruktur. Ini dapat berisi kontrol dan tindakan input.  
Anda dapat menentukan irisan Android di aplikasi Anda sehingga aplikasi lain seperti pencarian Google (penyaji irisan) dapat menampilkannya ketika pengguna mencari sesuatu yang cocok dengan fitur di aplikasi Anda. Dengan cara ini, pengguna dapat berinteraksi dengan aplikasi Anda, melihat konten dinamis, atau mengambil tindakan dari hasil pencarian itu sendiri dan mendarat di aplikasi Anda untuk menyelesaikan aliran.
Presenter slice mendapatkan potongan menggunakan URI yang mengidentifikasi sepotong, menafsirkan struktur irisan dan menampilkannya.

Irisan Android adalah bagian dari Jetpack dan dapat mendukung perangkat yang menjalankan Android 4.4 dan di atasnya.

Mempersiapkan

Untuk menggunakan irisan di aplikasi Anda, Anda perlu menambahkan perpustakaan slices ke file build.gradle Anda.

implementasi 'androidx.slice: slice-builders: 1.0.0'
Anda perlu memastikan bahwa Anda menggunakan pustaka androidx, jadi ganti dependensi android dengan pustaka androidx di file build.gradle.

Cara kerja Android slices
Kerangka irisan Android menyediakan API untuk penyedia slice dan presenter. Komponen utama dari slice API adalah Slice, SlicesProvider, TemplateSliceBuilder dan sub-kelasnya, dan SliceView.

Penyedia slice mendefinisikan irisan dengan menggunakan templat, mengisi data dan menambahkan kontrol dan tindakan yang diizinkan.

Slice diidentifikasi oleh URI.

Presenter slice diberitahu tentang irisan yang tersedia di aplikasi tertentu.

Presenter slice mendapatkan Irisan menggunakan URL dan menampilkannya di SliceView.
Pengguna berinteraksi dengan irisan, melihat konten dan mengambil tindakan pada irisan. Tindakan membawa pengguna ke aplikasi untuk melanjutkan alur.

Membuat Penyedia Slices

Untuk memberikan irisan dari aplikasi Anda, Anda perlu membuat penyedia slice dan mengekspor penyedia dengan menambahkan penyedia ke manifes file.

Anda dapat menggunakan alat penyedia slice di studio android untuk membuat implementasi dasar dari kelas penyedia slice, menambahkannya ke manifes file dan menambahkan perpustakaan slice builder untuk file build.gradle. Untuk mengakses alat ini, Anda perlu mengeklik aplikasi di studio android dan memilih opsi penyedia New> Other> Slice.

Kemudian di slice penyedia konfigurasi janda, masukkan nama kelas penyedia, otoritas URI dan perincian lainnya dan kirimkan.

Entri Penyedia Slice

Berikut ini adalah contoh elemen penyedia ditambahkan ke file xml manifes.

<provider android:name=".CouponSlices" android:authorities="com.zoftino.slices" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.app.slice.category.SLICE" /> <data android:host="zoftino.com" android:pathPrefix="/" android:scheme="https" /> </intent-filter> </provider>

Presenter slice (SliceView) dapat mengakses penyedia slice di atas menggunakan konten URI: //com.anovandi.slices/. Setiap slice yang disediakan oleh penyedia diidentifikasi dengan URL. Misalnya, konten URL: //com.anovandi.slices/coupon mengidentifikasi potongan kupon dalam penyedia slices.

Contoh Penyedia Slice

Penyedia slice adalah penyedia konten. Penyedia slice dibuat dengan memperluas kelas SliceProvider dan menerapkan metode onBindSlice () yang mengambil URI dan mengembalikan slice yang cocok dengan URI.

Irisan dibuat menggunakan berbagai pembuat template yang dijelaskan di bagian berikut. Pembangun disediakan dengan konten fitur aplikasi dan tindakan slice.

Dalam contoh berikut, ListBuilder digunakan dengan RowBuilder, yang berisi SliceAction, untuk membuat Slice.

public class CouponSlices extends SliceProvider {

    @Override
    public boolean onCreateSliceProvider() {
        return true;
    }

    public Slice onBindSlice(Uri sliceUri) {
        if (getContext() == null) {
            return null;
        }
        return getDefaultSlice(sliceUri);
        }
    private SliceAction createDefaultActivityAction() {
        return SliceAction.create(
                PendingIntent.getActivity(
                        getContext(), 0, new Intent(getContext(), MainActivity.class), 0
                ),
                IconCompat.createWithResource(getContext(), R.drawable.cashback),
                ListBuilder.ICON_IMAGE,
                "Coupon App Main"
        );
    }

    private Slice getDefaultSlice(Uri sliceUri){
        return new ListBuilder(getContext(), sliceUri, ListBuilder.ICON_IMAGE)
                .setAccentColor(Color.GREEN)
                .addRow(
                        new RowBuilder()
                                .setTitle("Coupons")
                                .setSubtitle("latest coupons from stores")
                                .setPrimaryAction(createDefaultActivityAction())
                )
                .build();
    }
}

Slice Presenter atau SliceView

Anda dapat membuat presenter slice. Anda dapat menggunakan presenter slice sendiri atau menggunakan pengamat irisan sampel yang tersedia di sini untuk menguji irisan Anda.

Irisan ditampilkan dalam SliceView. Untuk membuat presenter slice, terlebih dahulu tambahkan widget SliceView ke layout.

<ScrollView android:id="@+id/slice_scroll" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/title_slice"> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <androidx.slice.widget.SliceView android:id="@+id/slice" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp" android:elevation="6dp" android:paddingEnd="8dp" android:paddingStart="8dp" android:background="@color/colorAccent"/> </FrameLayout> </ScrollView>

Dalam aktivitas, dapatkan objek SliceView dan tambahkan irisan ke dalamnya dengan memanggil metode setSlice objek SliceView yang meneruskan objek slice ke objek tersebut. Slice dapat diperoleh menggunakan objek SliceViewManager dengan memanggil metode bindSlice () di atasnya dan melewati irisan URI target.

SliceViewManager sliceViewManager = SliceViewManager.getInstance(this); SliceView sliceView = findViewById(R.id.slice); sliceView.setSlice(sliceViewManager.bindSlice(getIntent().getData()));

Mode tampilan slice dapat diatur dengan memanggil metode setMode () dan meneruskan salah satu mode konstan seperti 
SliceView.MODE_SHORTCUT, 
SliceView.MODE_SMALL dan 
SliceView.MODE_LARGE ke sana.

svSmall.setMode(SliceView.MODE_SHORTCUT);

Layar berikut menunjukkan tampilan irisan yang menampilkan sepotong dari penyedia slice yang dibahas di bagian sebelumnya. SliceView dalam mode pintas hanya menampilkan gambar ikon yang dilewatkan ke aksi slice. Gambar slice harus dalam format vektor xml.



Share : Contoh Source Code Android Slices

Related Posts

Contoh Source Code Android Slices
4/ 5
Oleh

0 comments : Contoh Source Code Android Slices

0 comments : Contoh Source Code Android Slices