Содержание
- 2. Жеке контент-провайдер жасау Өз контент-провайдерін жасау үшін абстрактілі contentprovider класынан қадағалау керек: public class MyContentProvider extends
- 3. Мазмұн сәйкестендіргішінің құрылымы (Content URI) Мазмұн провайдерінен деректер алу үшін URI-ді іске қосу керек. Дегенмен, мазмұн
- 4. UriMatcher Провайдер бар арнайы объект-сынып UriMatcher, ол деректер және сырттан алынған ақпарат негізінде жасайды қажетті сұрау
- 5. Құрылымдау МІМЕ-типті Android Веб-сайт қайтарады MIME түрі үшін берілген сілтеме (бұл мүмкіндік береді браузерге іске қосу
- 6. Әрбір объект Content тиесілі қосымшаға қамтиды данасы сынып ContentResolver, ол арқылы алуға болады әдісі getContentResolver(). ContentResolver
- 8. Скачать презентацию
Слайд 2Жеке контент-провайдер жасау
Өз контент-провайдерін жасау үшін абстрактілі contentprovider класынан қадағалау керек:
public class
Жеке контент-провайдер жасау
Өз контент-провайдерін жасау үшін абстрактілі contentprovider класынан қадағалау керек:
public class
Сыныпта іске асыру қажет абстрактілі әдістер query(), insert(), update(), delete(), getType(), onCreate(). Әдеттегі деректер базасын құру бойынша кейбір ұқсастықтар байқалады.
Сондай-ақ оны Name және authorities атрибуттары бар provider тегімен манифесте тіркеу керек. Authorities Тег ContentResolver өзара әрекеттесу үшін деректер базасын таба алатын URI базалық жолын сипаттау үшін қолданылады. Бұл тег бірегей болуы керек, сондықтан басқа қосымшалармен шатастырмау үшін пакетіңіздің атауын пайдалану ұсынылады:
Мазмұн провайдерінің көзі сайттың домендік атауына ұқсас. Егер көз тіркелген болса, бұл мазмұн жеткізушілері тиісті көз префиксінен басталатын гиперсілтемелермен ұсынылады:
content://KZ.alexanderklimov.provider.notepad/
Сонымен, мазмұн жеткізушілері веб-сайттар сияқты бастапқы URL-бет ретінде әрекет ететін базалық домендік атауы бар.
Android-та пайдаланылатын мазмұн жеткізушілері толық емес дерек көзі болуы мүмкін екенін атап өту керек. Толық көз атауын тек үшінші тарап мазмұн жабдықтаушыларымен пайдалану ұсынылады. Сондықтан сіз кейде contacts сияқты бір сөзден тұратын мазмұн жеткізушілері осы мазмұн провайдерінің Толық аты - com болуы мүмкін.google.android.contacts.
Слайд 3Мазмұн сәйкестендіргішінің құрылымы (Content URI)
Мазмұн провайдерінен деректер алу үшін URI-ді іске қосу
Мазмұн сәйкестендіргішінің құрылымы (Content URI)
Мазмұн провайдерінен деректер алу үшін URI-ді іске қосу
content://*/*/*
немесе
content://authority-name/path-segment1/path-segment2/etc...
Мұнда 23 нөмірі бар жазба деректер базасында сәйкестендірілген URI мысалы:
content://KZ.alexanderklimov.provider.notepad / notes / 23
Кейін content: қр URI бар унифицирленген идентификатор көзі үшін пайдаланылады, онда мазмұнды тиісті тізілімде. Бөлім URI ru.alexanderklimov.provider.notepad білдіреді көзі.
/notes/23 - бөлім жолды (path section), ерекше әрбір жеке өнім берушінің мазмұн. Фрагменттері notes-бөлімнің 23-жолы деп аталады сегменттері жолды (path segments). Функцияларының бірі өнім берушінің мазмұнды болып табылады, құжаттау және талдау бөлімінің және сегменттерінің жолдары қамтылған URI.
Слайд 4UriMatcher
Провайдер бар арнайы объект-сынып UriMatcher, ол деректер және сырттан алынған ақпарат негізінде
UriMatcher
Провайдер бар арнайы объект-сынып UriMatcher, ол деректер және сырттан алынған ақпарат негізінде
Сізге қою арнайы тұрақтылар, олар бойынша провайдер болады түсіну әрекеттері. Егер пайдаланылады бір кесте болса, онда әдетте пайдаланылады екі тұрақтылар - кез-келген екі бүтін санның, мысалы, 100 үшін кестелер мен 101 жеке бірқатар кестелер. Сызба түрінде болады бейнелейді, себебі.
Метод query
Әдісі query() үшін міндетті болып табылады сынып ContentProvider. Егер біз контент-провайдер үшін өтініш деректер базасында болса, онда туғызады аттас әдісі SQLiteDatabase. Құрамы әдісін іс жүзінде идентичен.
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { ...
cursor = database.query(GuestEntry.TABLE_NAME, projection, selection, selectionArgs,
null, null, sortOrder);
Қысқаша кеңес:
URI: content://com.example.android.cathouse/cats/3
Projection: {"_id", "name"}
Selection: "_id=?"
Selection Args: {"3"}
Слайд 5Құрылымдау МІМЕ-типті Android
Веб-сайт қайтарады MIME түрі үшін берілген сілтеме (бұл мүмкіндік береді
Құрылымдау МІМЕ-типті Android
Веб-сайт қайтарады MIME түрі үшін берілген сілтеме (бұл мүмкіндік береді
MIME Түрлері жұмыс істейді Android дерлік сияқты және НТТР. Сіз запрашиваете у контент-провайдер MIME түрі белгілі бір қолдау көрсеткен атындағы URI, және өнім беруші мазмұнды қайтарады двухчастную символдарының тізбегі, идентифицирующую MIME түрі қабылданған стандарттарына сәйкес.
Слайд 6Әрбір объект Content тиесілі қосымшаға қамтиды данасы сынып ContentResolver, ол арқылы алуға
Әрбір объект Content тиесілі қосымшаға қамтиды данасы сынып ContentResolver, ол арқылы алуға
ContentResolver contentResolver = getContentResolver();
ContentResolver пайдаланылады орындау үшін сұраныстар мен транзакциялар белсенділігіне қарай контент-жастар. ContentResolver қамтиды әдістері үшін сұраныстар мен транзакциялар ұқсас, яғни құрамында ContentProvider. Объектісі ContentResolver білу қажет емес іске асыру туралы контент-провайдер, ол өзара іс-қимыл жасайды - кез келген сұрау салуды ғана қабылдайды жолы URI, онда қандай нысаны ContentProvider қажет.
ContentResolver