Labarotoriya ishlari uchun topshiriqlar.
1. Berilgan butun sonli kvadrat matritsa {aij} (1 2. Berilgan butun sonli kvadrat matritsa {aij} (1 3. {aij} butun sonli kvadrat matritsa berilgan (1 26-laboratoriya mashg'uloti. Swift dasturlash tili. Sikllar. Funktsiyalar
Ishning maqsadi: JSON -dan foydalanishni o'rganish
Nazariy qism.
Aytaylik, ba'zi serverlarda ma'lumotlar bor. Va server bizga bu ma'lumotlarni berishga tayyor. Buning uchun eng ko'p ishlatiladigan format - json. Mana shunday ma'lumotlarga misol: https://rawgit.com/startandroid/ data/master/messages/messages1.json
Ilovada ushbu fayldan ma'lumotlarni olish uchun Retrofit -dan foydalanamiz.
Qayta jihozlash konfiguratsiyasini ikki qismga bo'lish mumkin: API interfeysi va quruvchi. Keling, ularning qaysi biri nima uchun javobgarligini batafsil ko'rib chiqaylik.
Retrofit - популярная и удобная библиотека, которая используется, если приложению необходимо работать с сервером. В этой статье я на очень простом примере рассмотрю основы работы с ней.
Tasavvur qiling, server bilan dastur ma'lumotlarini almashish ustida ishlayapsiz. Bu qanday sodir bo'ladi? Odatda server bizga qandaydir API beradi, ya'ni. usullar to'plami (aka REST). Agar, masalan, bu onlayn -do'kon serveri bo'lsa, unda uning APIsi quyidagi usullarni o'z ichiga olishi mumkin:
getProducts - mahsulotlar ro'yxatini oling
getProdut - mahsulot haqida batafsil ma'lumot olish
getOrders - buyurtmalar ro'yxatini oling
getOrder - buyurtma haqida batafsil ma'lumot oling
createOrder - buyurtma yaratish va boshqalar.
Bu server tomonidagi usullar va ularga qo'ng'iroq qilish uchun biz shunga o'xshash so'rovlarni bajarishimiz kerak, masalan.:
http://server/api/v1/getProducts
http://server/api/v1/getProduct
http://server/api/v1/getOrders
http://server/api/v1/getOrder
http://server/api/v1/createOrder va boshqalar.
Bular. serverda bazaviy url mavjud - http: // server / api / v1 /. Va API usullari bilan ishlash uchun havolalarni olish uchun unga usul nomlari (getProducts, getOrders va boshqalar) qo'shiladi..
Biz ilovaga qaytamiz. Agar bizning ilovamizda getProducts, getOrders va boshqalar bilan ServerApi klassi bo'lsa, bu juda qulay bo'lar edi. Va bu usullar chaqirilganda, mos keladigan server usullari chaqiriladi. Va Retrofit biz uchun shunday sinf yaratishi mumkin. Bizga kerakli usullarni tasvirlaydigan interfeys kerak bo'ladi.
Mana, bunday interfeysga misol:
public interface ServerApi {
@GET("getProducts")
List
getProducts();
@GET("getProduct")
Product getProduct(long productId);
@GET("getOrders")
List getOrders();
@GET("getOrder")
Order getOrder(long orderId);
@POST("createOrder")
void createOrder(Order order);
}
Bu kod biroz soddalashtirilgan. Haqiqiy misolda qo'shimcha izohlar va o'rashlar bo'ladi. Ammo u umumiy ma'noni to'liq ifodalaydi. Qayta jihozlash ushbu interfeysni amalga oshiradigan sinf yaratadi. Bu sinf ichida serverga qo'ng'iroqlar ishlab chiqariladi. Va bu interfeysda biz usullarning nomlarini va ba'zi HTTP narsalarini sozlashimiz mumkin, masalan, uzatilgan parametrlar (so'rov), sarlavhalar (sarlavha) va boshqalar.
GetProducts usulining tavsifini batafsil ko'rib chiqaylik:
@GET("getProducts")
List
getProducts();
Do'stlaringiz bilan baham: |