Beruflich Dokumente
Kultur Dokumente
Raport
Lucrare de laborator Nr.4
La Programarea Aplicațiilor Mobile
A efectuat:
st. gr. TI-151 FR
A verificat:
lector universitar Antohi Ion
Chișinău 2018
Obiective: De realizat emularea programatică a unui serviciu web.
Scopul: De realizat o aplicație ce va încărca de pe o resursă web (preferată, ex:
https://news.yam.md/ro/rss ) fluxul RSS al acesteia.
Condiții: Serviciul web va fi emulat programatic utilizând metodele protocolului HTTP (GET )
a) posibilitate de adăugare 2 sau mai multe fluxuri RSS
b) posibilitate de a naviga către postarea din fluxul încărcat
c) salvarea locală a fluxului cu păstrarea sa pînă utilizatorul nu o va distruge
În fig. 1 este aplicația care afișează ultimele noutăți de la sursa RSS specificată. Fiecare articol are titlu,
data, descriere pe scurt și descriere pe lung.
Fig. 1
Apăsând pe unul din titluri, descrierea se va extinde de la 3 rânduri pănă la conținutl maxim al acestuia
oferind descrierea deplină. Vezi fig. 2
Fig. 2
Concluzie: Efectuând această lucrare de laborator, am înțeles cum se construiește o aplicație care să
citească informația de pe un site web cu ajutorul RSS.
Anexa
XMLParser
import Foundation
struct RSSItem {
var title: String
var summary: String
var updated: String
}
return
}
task.resume()
}
NewsTableCell
class NewsTableViewCell: UITableViewCell {
NewsTableView
class NewsTableViewController: UITableViewController
{
private var rssItems: [RSSItem]?
private var cellStates: [CellState]?
tableView.estimatedRowHeight = 155.0
tableView.rowHeight = UITableViewAutomaticDimension
fetchData()
}
OperationQueue.main.addOperation {
self.tableView.reloadSections(IndexSet(integer: 0), with: .left)
}
}
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
guard let rssItems = rssItems else {
return 0
}
// rssItems
return rssItems.count
}
return cell
}
tableView.beginUpdates()
cell.descriptionLabel.numberOfLines = (cell.descriptionLabel.numberOfLines == 0) ? 3 : 0
tableView.endUpdates()
}