Виджет тізімдер және мәліметтерді тіркеу

Слайд 2

Жеке контент-провайдер жасау

Өз контент-провайдерін жасау үшін абстрактілі contentprovider класынан қадағалау керек:
public class

Жеке контент-провайдер жасау Өз контент-провайдерін жасау үшін абстрактілі contentprovider класынан қадағалау керек:
MyContentProvider extends ContentProvider
Сыныпта іске асыру қажет абстрактілі әдістер query(), insert(), update(), delete(), getType(), onCreate(). Әдеттегі деректер базасын құру бойынша кейбір ұқсастықтар байқалады.
Сондай-ақ оны Name және authorities атрибуттары бар provider тегімен манифесте тіркеу керек. Authorities Тег ContentResolver өзара әрекеттесу үшін деректер базасын таба алатын URI базалық жолын сипаттау үшін қолданылады. Бұл тег бірегей болуы керек, сондықтан басқа қосымшалармен шатастырмау үшін пакетіңіздің атауын пайдалану ұсынылады:
android: authorities="ru.alexanderklimov.provider.notepad" / >

Мазмұн провайдерінің көзі сайттың домендік атауына ұқсас. Егер көз тіркелген болса, бұл мазмұн жеткізушілері тиісті көз префиксінен басталатын гиперсілтемелермен ұсынылады:
content://KZ.alexanderklimov.provider.notepad/
Сонымен, мазмұн жеткізушілері веб-сайттар сияқты бастапқы URL-бет ретінде әрекет ететін базалық домендік атауы бар.
Android-та пайдаланылатын мазмұн жеткізушілері толық емес дерек көзі болуы мүмкін екенін атап өту керек. Толық көз атауын тек үшінші тарап мазмұн жабдықтаушыларымен пайдалану ұсынылады. Сондықтан сіз кейде contacts сияқты бір сөзден тұратын мазмұн жеткізушілері осы мазмұн провайдерінің Толық аты - com болуы мүмкін.google.android.contacts.

Слайд 3

Мазмұн сәйкестендіргішінің құрылымы (Content URI)

Мазмұн провайдерінен деректер алу үшін URI-ді іске қосу

Мазмұн сәйкестендіргішінің құрылымы (Content URI) Мазмұн провайдерінен деректер алу үшін URI-ді іске
керек. Дегенмен, мазмұн жеткізушісімен жұмыс істеу кезінде табылған деректер жолдар мен бағандар жиынтығы ретінде ұсынылған және Android cursor нысанын құрайды. Деректерді алу үшін пайдалануға болатын 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.

Слайд 4

UriMatcher

Провайдер бар арнайы объект-сынып 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 үшін берілген URI. Осының арқасында қол жеткізіледі белгілі бір икемділік деректерді қарап шығу кезінде. Егер біз білеміз, деректер қай типті аламыз, аламыз таңдау бір немесе бірнеше бағдарламалар арналған ұсыну үшін осындай деректер. Мысалы, егер қатты дискідегі компьютер бар мәтіндік файл, біз таңдау бірнеше редакторлар, қабілетті, оны көрсету.
MIME Түрлері жұмыс істейді Android дерлік сияқты және НТТР. Сіз запрашиваете у контент-провайдер MIME түрі белгілі бір қолдау көрсеткен атындағы URI, және өнім беруші мазмұнды қайтарады двухчастную символдарының тізбегі, идентифицирующую MIME түрі қабылданған стандарттарына сәйкес.

Слайд 6

Әрбір объект Content тиесілі қосымшаға қамтиды данасы сынып ContentResolver, ол арқылы алуға

Әрбір объект Content тиесілі қосымшаға қамтиды данасы сынып ContentResolver, ол арқылы алуға
болады әдісі getContentResolver().
ContentResolver contentResolver = getContentResolver();
ContentResolver пайдаланылады орындау үшін сұраныстар мен транзакциялар белсенділігіне қарай контент-жастар. ContentResolver қамтиды әдістері үшін сұраныстар мен транзакциялар ұқсас, яғни құрамында ContentProvider. Объектісі ContentResolver білу қажет емес іске асыру туралы контент-провайдер, ол өзара іс-қимыл жасайды - кез келген сұрау салуды ғана қабылдайды жолы URI, онда қандай нысаны ContentProvider қажет.

ContentResolver