Salve ragazzi sto cercando un aiuto per un app che ho sviluppato con Basic4android che riceve i feed rss, ho seguito un esempio che era stato messo su b4a: basic4ppc.com/forum/basic4android-updates-questions/15382-rss-feed.html#post87864
Con questo esempio in pratica riesco a prelevare il testo del titolo della descrizione e del link di ogni articolo che esce su feedburner.
il titolo la descizione e il link compaiono in una listview però io vorrei inserire oltre a questi 3 elementi anche l'immagine principale dell'articolo cosa che non riesco a fare.. nella listview ho visto che posso inserire oltre a quei 3 elementi anche una bitmap.. quindi credo che quello che dovrei fare sarebbe di scaricare l'immagine dal link e trasformarla in bitmap per farla comparire in ogni articolo della listview, ma non so come fare.
Feed: view-source:<link>http://www.androidissimo.com</link> <description /> <pubDate>Wed, 06 Jun 2012 22:29:27 +0000</pubDate> <generator>http://wordpress.org/?v=2.6.5</generator> <language>en</language> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="sel
Mi potreste dare una mano Grazie
Ciao
Ciao , premetto che l'argomento feed rss mi è nuovo comunque , il link che hai messo non contiene nessuna immagine puoi mostrare un pezzo di file XML che contiene i riferimenti ad immagini?
grazie mario
Ciao, la strada potrette essere questa:
nell'esempio che hai usato
B4X:
Sub Parser_EndElement(Uri As String, Name As String, Text As StringBuilder)
If Parser.Parents.IndexOf("item") > -1 Then
If Name = "title" Then
la variabile Name assume il valore "encode" (controlla)e nella variabile Text hai l'indirizzo dell'immagine, quindi con l'uso di Regex dovresti riuscire a tirarlo fuori e con Httputils fare il download in una bitmap da aggiungere alla listview.
Facci sapere
Ciao.
Ciao , per come vedo io lo spirito di un forum non è utile una comunicazione privata, meglio continuare pubblicamente così tutti potranno trarne beneficio.
Fai le tue domande circostanziate , facendo vedere quello che hai fatto e vedrai che sarà più facile trovare tutti una soluzione.
[OT] proprio per il bene del forum non sopporto chi non risponde alle domande , o non posta la soluzione dicendo solo "ho risolto" :sign0010:
[OT]
sisi lo capisco ti ho chiesto un contatto per non aspettare i tempi del forum, comunque ok..
Allora seguendo il tuo ragionamento, io dovrei aggiungere un
B4X:
Sub Globals
Dim Immagine(per esempio) As String
End Sub
Sub Parser_EndElement(Uri As String, Name As String, Text As StringBuilder)
If Name = "(qua dovrei mettere il tag dove c'è il link dell'immagine ma non so quale gli dovrei mettere)" Then
Immagine = Text.ToString
If Name = "item" Then
RSS.AddTwoLinesAndBitmap2(Title, Description, Bitmap1, linkk)
End If
End Sub
la variabile Name assume il valore "encode" (controlla)e nella variabile Text hai l'indirizzo dell'immagine, quindi con l'uso di Regex dovresti riuscire a tirarlo fuori e con Httputils fare il download in una bitmap da aggiungere alla listview.
Facci sapere
Ciao.
Sub Parser_EndElement(Uri As String, Name As String, Text As StringBuilder)
If Name = "encode" then
qui va usato regex su Text per isolare l'indirizzo
purtroppo devi studiare le espessioni regolari in B4A fai una ricerca nel forum
qui alcuni link unodue
una volta isolato l'indirizzo con Httputils si dovrebbe finalmente scaricare l'immagine.
puoi domandare nel forum ,anche quello inglese, come isolare il testo che inizia con "img src" e termina con ."png" .
questa analisi l'ho fatta così senza avere di fronte il file XML vedi tu se è corretta o vi sono altre caratteristiche per identificare l'indirizzo.
Spero di essere stato chiaro
un saluto Mario
Ah, ho visto che mettono <img src="http://www.b4x.com/forum/italian-forum//pp...(qualcosa con le p)"> e poi Dim P As ...
Vado con i ricordi perché ne ho provate tante...
ma poi come faccio a scaricare 9 immagini e metterle nella listview?
@Genesi, potresti farmi un piccolo favore potresti fare la domanda principale nella community principale quella in inglese... perché ho un problema con il forum e li non mi fa postare le domande..
Ah, ho visto che mettono <img src="/pp...(qualcosa con le p)"> e poi Dim P As ...
Vado con i ricordi perché ne ho provate tante...
ma poi come faccio a scaricare 9 immagini e metterle nella listview?
Ci penserai dopo ( fai una ricerca per httputils).
per prima cosa devi tirare fuori l'indirizzo , lo puoi fare anche scorrendo la variabile text con una tua funzione.
Sub HandleMainPage (in As InputStream)
start = DateTime.Now
Dim TextReader1 As TextReader
TextReader1.Initialize(in)
Dim pattern, class As String
class = "<td class=" & QUOTE & "Photo" & QUOTE & ">"
pattern = "img src=\q([^q]+)\q".Replace("q", QUOTE)
Dim links As List
links.Initialize
Dim line As String
line = TextReader1.ReadLine
Do While line <> Null
If line.IndexOf(class) > -1 Then
Dim link As String
Dim m As Matcher
m = Regex.Matcher(pattern, line)
If m.Find Then
links.Add(m.Group(1)) 'add the image link
End If
End If
line = TextReader1.ReadLine
Loop
TextReader1.Close
Log("done parsing main page: " & (DateTime.Now - start))
For i = 0 To links.Size - 1 'send request for each image
Dim request As HttpRequest
request.InitializeGet(links.Get(i))
HttpClient1.Execute(request, i)
Next
ProgressDialogHide
End Sub