Visualizzazione stampabile
-
Content Provider
Terminato con gran fatica tutto ciò che riguarda il db passo al paragrafo successivo del libro di carli e trovo la creazione di un proprio content provider....ora giusto per non perderci 3 anni su come hi fatto per i custom layout,ma quante volte capita di creare un proprio content provider? ???
-
Come recita la documentazione un content provider è un oggetto con cui puoi mettere i tuoi dati a disposizione di tutti.
E' un elemento critico del sistema android perché è la sua implementazione della rubrica. Ricordiamoci che eravamo partiti da un cellulare (si, tanto tempo fa :p) e ovviamente la rubrica è un oggetto centrale in un cellulare e ha senso metterla a disposizione di tutti. Il lavoro fatto per sfruttarla è ovviamente stato imponente e si è riversato giustamente nel SDK.
Certo, potrebbe non essere così immediato considerare un'applicazione che usa un content provider, ma non lo si può mica buttare via.
In realtà un programmatore lungimirante (e ambizioso) potrebbe fare di ogni DB che usa in una app un content provider, cosicché i dati che inserisce possano essere usati altrove che nella app o quantomeno messi a disposizione. Ma ovviamente così stiamo già abbondantemente sfondando nella filosofia.
-
Si ma la mia domanda era : quante volte capita di creare un content provider da mettere a disposizione di tutti ? :)
-
Hehe mimmog ma come?!?!?
Sai che quando ho visto i content provider ho fatto:
1) "Che caz***!?!§*!"*"£!"
2) Ma son un casino da implementare
3) Dai però è anche fattibile
4) Son davvero una gran figata!
Dal mio punto di vista, magari sbagliando, son un'archittettura multo utile in contesti grossi e in cui fornire tale servizio può esser utile... L'esempio della rubrica capita a pennello!
Quello che mi ha stupito è capire ancora una volta che c'è gente che vuole offrie possibilità non solo a sè stessi ma anche agli altri in questo modo!
Condivider un db (ovviamente non di cavolate semplici e utili solo a un app) apre un sacco di possibilità..
E sinceramente quello sui db,gestione dati ecc lo ritengo uno dei capitoli più utili/bello del libro a mio parere... :D
-
Quote:
Originariamente inviato da
mimmog
Si ma la mia domanda era : quante volte capita di creare un content provider da mettere a disposizione di tutti ? :)
Dipende da che applicazioni realizzi... se la tua applicazione gestisce/crea dati/informazioni che vuoi rendere pubbliche/aperte anche ad altre applicazioni, i content provider sono la strada da seguire, altrimenti puoi ignorarli tranquillamente... già il sapere che esistono e a che cosa servono ti potrà tornare utile in futuro casomai ti dovesse capitare di averci a che fare o di dover fare qualcosa di particolare per cui un content provider risolverebbe il problema!
-
Quote:
Originariamente inviato da
mimmog
Si ma la mia domanda era : quante volte capita di creare un content provider da mettere a disposizione di tutti ? :)
Secondo me sbagli a porre la domanda :D
La domanda giusta è: Quante volte mi capita di dover condividere i miei dati, all'esterno del contesto della mia applicazione?
Qui però la risposta è scontata: spessissimo.
1) Rubrica
2) elenco degli SMS inviati e ricevuti
3) Elenco delle chiamate fatte, ricevute, perse
4) mail
5) quando vuoi permettere la ricerca integrata nel widget di ricerca di google
6) quando vuoi fare un'applicazione a plugin puoi avere la necessità di accedere ai dati del core o dei plugin all'esterno di questi.
direi che di casi ce ne sono millemila.
Per ognuno di questi, se vuoi, se serve e sopratutto se lo conosci, puoi decidere di scegliere il pattern implementativo che preferisci: compreso, indovina un po' ;), il content provider che come dice il nome è un "fornitore di contenuti".
-
Quindi mi volete dire che con il content provider posso mettere a disposizione i dati della mia applicazione al di fuori della stessa in modo che anche le altre applicazioni sul telefono possano utilizzarli? Onestamente avevo capito che mettevo a disposizione il content provaider in modo che gli altri ptogrammatori se lo trovassero già pronto!! :D
-
Si, è esattamente ciò che ho detto.
Il content provider che implementi serve per permettere a tutti di accedere ai tuoi dati nel modo che tu decidi e controlli.
Vedilo come l'implementazione di un interfaccia comune che l'sdk ha formalizzato per permettere la condivisione dei dati tra applicazioni diverse con un metodo consiviso.
Sent from my Nexus One using Tapatalk
-
Dato che lo hai nominato, che tu sappia c'é modo di dire al widget di ricerca di google di includere tra le applicazioni su cui effettua la ricerca anche la mia base dati? Perchè nelle impostazioni ti fa scegliere tra rubrica,lettore musicale sms,etc
-
Quote:
Originariamente inviato da
mimmog
Dato che lo hai nominato, che tu sappia c'é modo di dire al widget di ricerca di google di includere tra le applicazioni su cui effettua la ricerca anche la mia base dati? Perchè nelle impostazioni ti fa scegliere tra rubrica,lettore musicale sms,etc
Credo che questo sia un buon punto di partenza:
Quick Search Box | Android Developers