gdg montréal - account manager basics and use case
DESCRIPTION
Comment utiliser le gestionnaire de compte d'Android. How to use Android's Account Manager.TRANSCRIPT
![Page 1: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/1.jpg)
comptes utilisateurs
et synchronisation
Simon GUEROUT
GDG Montréal
25/09/2104
![Page 3: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/3.jpg)
Je vais vous parler de
![Page 4: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/4.jpg)
L’Authenticator
![Page 5: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/5.jpg)
L’Authenticator<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"android:accountType="com.android.email"
android:icon="@mipmap/ic_launcher_mail"android:smallIcon="@drawable/stat_notify_email"android:label="IMAP"android:accountPreferences="@xml/account_preferences"
/>
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="com.android.email"android:icon="@mipmap/ic_launcher_mail"android:smallIcon="@drawable/stat_notify_email"android:label="POP3"android:accountPreferences="@xml/account_preferences"
/>
![Page 6: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/6.jpg)
L’Account
![Page 7: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/7.jpg)
Le ContentProvider
![Page 8: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/8.jpg)
Le ContentProvider
<providerandroid:name=".provider.EmailProvider"
android:authorities="com.android.email.provider;com.android.email.notifier"android:exported="true"android:permission="com.android.email.permission.ACCESS_PROVIDER"android:label="@string/app_name"/>
![Page 9: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/9.jpg)
Le SyncAdapter
public void onPerformSync(Account account, Bundle extras, String authority,ContentProviderClient provider, SyncResult syncResult
) {…
}
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="com.android.email.provider"android:accountType="com.android.email"
android:supportsUploading="true"android:allowParallelSyncs="true"
/>
![Page 10: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/10.jpg)
Le ContentResolver
![Page 11: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/11.jpg)
Fonctionnement
![Page 12: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/12.jpg)
Pros & cons
The Android Way
Gestion facile de la synchronisation
Plus de développement
![Page 13: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/13.jpg)
Cas d’usage
...
![Page 14: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/14.jpg)
Cas d’usage
![Page 15: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/15.jpg)
C’est tout à fait adapté !
![Page 16: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/16.jpg)
Oui mais...
![Page 17: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/17.jpg)
Liste de comptes
public static final class Source implements BaseColumns {public static final String TYPE_ITEM = CURSOR_ITEM_BASE_TYPE + "/" + Source.class.getCanonicalName().toLowerCase();public static final String TYPE_DIR = CURSOR_DIR_BASE_TYPE + "/" + Source.class.getCanonicalName().toLowerCase();public static final String FIELD_NAME = "name";public static final String FIELD_TYPE = "type";public static final String ID = TABLE_DEFAULT_ID;private Source() {}
}
![Page 18: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/18.jpg)
Liste des informations affichées
public static class News implements BaseColumns {public static final String TYPE_ITEM = CURSOR_ITEM_BASE_TYPE + "/" +
News.class.getCanonicalName().toLowerCase();public static final String TYPE_DIR = CURSOR_DIR_BASE_TYPE + "/" +
News.class.getCanonicalName().toLowerCase(); public static final String FIELD_SOURCE_ID = "source_id";public static final String FIELD_ORIGINAL_ID = "original_id";public static final String FIELD_TITLE = "title";public static final String FIELD_SUMMARY = "summary";public static final String FIELD_URL = "url";public static final String FIELD_DATE = "date";public static final String FIELD_IMAGE = "img";public static final String ID = TABLE_DEFAULT_ID;
private News() {}
}
![Page 19: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/19.jpg)
Plusieurs Authenticator
![Page 20: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/20.jpg)
Avec un seul Authenticator
![Page 21: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/21.jpg)
Choix d’architecture
![Page 22: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/22.jpg)
Démo
![Page 23: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/23.jpg)
Conclusion
![Page 24: GDG Montréal - Account Manager Basics and Use Case](https://reader033.vdocuments.net/reader033/viewer/2022042816/55965b191a28abe55f8b47c8/html5/thumbnails/24.jpg)