arxius i android

0 views
Skip to first unread message

Jordi Urmeneta

unread,
Jan 7, 2015, 7:32:40 AM1/7/15
to catd...@googlegroups.com
Hola,

Estic fent proves en una app en android i tinc un dubte.

Com puc fer q una app ja tingui arxius amb dades i accedir-hi? (uns arxius .dat i demés q tinc)

pq per google veig la possibilitat de ficar-ho a la carpeta assets o a la carpeta raw i en la primera execució copiar-los al directori d'internal storage, però em sembla una operaqció costosa.

Per la api q utilitzo m'interessa utilitzar l'objecte File i no els Input streams q et retorna assets o raw.

Alguna idea? Us heu trobat amb quelcom similar?


Gràcies!

Roc Boronat

unread,
Jan 7, 2015, 10:53:20 AM1/7/15
to Catalonia Android Community Group
Bones!

La veritat... és que tal com explicaves el problema, jo també estava pensant en afegir-ho a assets i escriure'ls a l'SD...

Prova-ho, a veure quant triga. Potser et sorprèn per bo, i t'ho pots permetre pel que fa a cost.

Hope it helps! :·)


--
You received this message because you are subscribed to the Google Groups "Catalonia Android Community Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to CatDroid+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Sergi Martínez

unread,
Jan 7, 2015, 11:00:29 AM1/7/15
to Catalonia Android Community Group
Jo algún cop ho he implementat així, i si no son arxius molt grans, triga molt poc, estic amb el Roc, prova-ho i sorpren-te

Jordi Urmeneta

unread,
Jan 7, 2015, 11:05:28 AM1/7/15
to CatD...@googlegroups.com
ok, ho provo.

un problema q estic veient és al recuperar la llista d'arxius q hi ha al assets, no em sap diferenciar entre directoris i arxius (m'agradaria copiar la mateixa estructura)

sabeu com puc detectar dintre d'assets els arxius q són directori i els q no?

Ara mateix ho estic fent així:

String[] files = assetManager.list("");




Gràcies!

Sergi Martínez

unread,
Jan 7, 2015, 11:27:09 AM1/7/15
to CatD...@googlegroups.com
mmm, doncs com no agafis l'AssetFileDescriptor i miris la mida, no se m'acut una altra manera. No sabia que retornes directoris, pensava que només tornava fitxers. Hi ha un métode a AssetFileDescriptor per obtenir les propietats en un bitmask, pero obviously, el bitmask no està documentat (ainx)

Jordi Urmeneta

unread,
Jan 7, 2015, 11:31:12 AM1/7/15
to CatD...@googlegroups.com
Al final ho he fent sabent els directoris q hi ha i accedint a cada un amb l'assetmanager, això si és un rotllo per subdirectoris

el q retorna la funció assetsmanager.list("") són strings amb els noms de directoris o arxius

suposo q s'hauria d'investigar una mica amb el asset file descriptor


Gràcies!

Bernat

unread,
Jan 7, 2015, 11:32:44 AM1/7/15
to CatD...@googlegroups.com
Bé... si pots crear el File desde el asset.. L'objecte File té el métode isDir()...

Jordi Urmeneta

unread,
Jan 7, 2015, 11:33:35 AM1/7/15
to CatD...@googlegroups.com
No pots, sinó ja no els copiaria al internal storage :'(

Ramon

unread,
Jan 7, 2015, 2:53:15 PM1/7/15
to CatD...@googlegroups.com
I tenir un zip i descomprimir-lo (https://developer.android.com/reference/java/util/zip/ZipInputStream.html)? 
Això sí, trigarà més.
Potser el millor seria fer-ho tot en un thread que no sigui el main (Si actives el StrictMode https://developer.android.com/reference/android/os/StrictMode.html et dirà el que triga si ho fas en el main thread).

--
Ramon

Jordi Urmeneta

unread,
Jan 8, 2015, 6:58:57 AM1/8/15
to CatD...@googlegroups.com
Hola,

Al final he vist un mètode q mig em convenç més q tenir-ho al assets, pq estic fent una api

la idea és accedir als arxius q estan dintre mateix del jar i copiar-los

seria algo així:

java.net.URL resourceURL = c.getClassLoader().getResource("nom_del_jar/arxiu.arx");

i després del resourceURL es pot obtenir un inputstream per copiar.

Al final per l'usuari és més transparent, pq només ha de gestionar una api i aquesta és la q copia els arxius necessaris.



Gràcies!
Reply all
Reply to author
Forward
0 new messages