- •Онлайн-агрегатори
- •Принцип роботи арегаторів новин
- •Існуючі онлайн агрегатори
- •Yandex.Лента
- •Існуючі додатки для сервісу TheOldReader
- •Api сервісу TheOldReader
- •Універсальна програмна платформа Windows
- •Особливості uwp
- •Мови програмування uwp
- •Висновки
- •Створення та розвиток c#
- •Особливості мови
- •Назва мови
- •Стандартизація
- •Поняття бази даних
- •Моделі організації даних
- •Реляційна модель даних
- •Мова sql
- •Інструкції мови управління транзакціями
- •Програмні системи управління базами даних
- •Субд sqLite
- •Висновки
- •Модель бд для збереження даних
- •Процес оновлення та збереження даних
- •Інструкція для користувача
- •Вихідний код програмного продукту
- •Висновки
- •Висновки
- •Список використаних джерел
-
Висновки
На завершення розділу необхідно зазначити, що в останні роки намітилася стійка тенденція до стирання чітких граней між настільними і професійними системами баз даних. Останнє, в першу чергу, пояснюється тим, що розробники в прагненні максимально розширити потенційний ринок для своїх продуктів постійно розширюють набір їх функціональних характеристик. А за допомогою SQLite можна використовувати всі переваги СУБД на будь яких пристроях, від ПК до Телевізорів та телефонів.
РОЗДІЛ 3. ОПИС ПРОГРАМНОГО ПРОДУКТУ ТА АЛГОРИТМ ЙОГО СТВОРЕННЯ
Перш ніж приступити безпосередньо до розробки додатку потрібно було вивчити спосіб обміну інформації з онлайн-сервісом за допомогою його API «див. розділ 1» «з електронного ресурсу [11]», визначити необхідні для роботи додатку дані та спосіб їх збереження на клієнтському пристрої.
Приклад JSON об’єкту отриманого з сервера, що містить в собі один запис:
{
"direction":"ltr",
"id":"feed/5594de7cfea0e74d87000305",
"title":"Хабрахабр / Все публикации",
"description":"",
"self":
{"href":"https://theoldreader.com/reader/api/0/stream/contents?output=json&xt=user/-/state/com.google/read&n=1&s=user/-/state/com.google/reading-list"},
"alternate":
{"href":"http://habrahabr.ru/","type":"text/html"},
"updated":1443100001,
"items":[
{
"crawlTimeMsec":"1443100000931",
"timestampUsec":"1443099553000000",
"id":"tag:google.com,2005:reader/item/5603f5615f45b7c15c003bed",
"categories":
[
"user/-/state/com.google/reading-list","user/-/state/com.google/fresh",
"user/-/label/Разное"
],
"title":"[Перевод] Еще одно встроенное шпионское приложение обнаружено на компьютерах Lenovo",
"published":1443099553,
"updated":1443099553,
"canonical":[{"href":"http://habrahabr.ru/post/267645/"}],
"alternate":[{"href":"http://habrahabr.ru/post/267645/","type":"text/html"}],
"summary":
{
"direction":"ltr",
"content":"<br><img src=\"https://habrastorage.org/files/0c0/a69/3d9/0c0a693d92c34237b803604f5545baf1.jpg\"><br>\r\n<br>\r\nУ восстановленного с завода Thinkpad с предустановленной Windows 7 в планировщике есть приложение, которое включается раз в день и собирает данные о том, как вы используете компьютер. После этого все сведения отправляются компании-аналитику. Информация о сборе данных присутствует в пользовательском соглашении, но зарыта очень глубоко.<br>\r\n <a href=\"http://habrahabr.ru/post/267645/#habracut\">Читать дальше →</a>"
},
"author":"VahMaster",
"annotations":[],
"likingUsers":[],
"likingUsersCount":0,
"comments":[],
"origin":
{
"streamId":"feed/5594de7cfea0e74d87000305",
"title":"Хабрахабр / Все публикации",
"htmlUrl":"http://habrahabr.ru/"
}
}
],
"continuation":"1443099999"
}
Клас який описує структуру цього об’єкта вигляде так:
public class Self
{
public string href { get; set; }
}
public class Canonical
{
public string href { get; set; }
}
public class Alternate
{
public string href { get; set; }
public string type { get; set; }
}
public class Summary
{
public string direction { get; set; }
public string content { get; set; }
}
public class Origin
{
public string streamId { get; set; }
public string title { get; set; }
public string htmlUrl { get; set; }
}
public class RawItem
{
public string crawlTimeMsec { get; set; }
public string timestampUsec { get; set; }
public string id { get; set; }
public List<string> categories { get; set; }
public string title { get; set; }
public int published { get; set; }
public int updated { get; set; }
public List<Canonical> canonical { get; set; }
public List<Alternate> alternate { get; set; }
public Summary summary { get; set; }
public string author { get; set; }
public List<object> annotations { get; set; }
public List<object> likingUsers { get; set; }
public int likingUsersCount { get; set; }
public List<object> comments { get; set; }
public Origin origin { get; set; }
}
public class RawFeedItem
{
public string direction { get; set; }
public string id { get; set; }
public string title { get; set; }
public string description { get; set; }
public Self self { get; set; }
public int updated { get; set; }
public List<RawItem> items { get; set; }
}