RTV forum PL | NewsGroups PL

Jak połączyć MemoryFile z FileDescriptor w Androidzie dla efektywnego zapisu?

Android jeszcze raz :-)

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak połączyć MemoryFile z FileDescriptor w Androidzie dla efektywnego zapisu?

Goto page 1, 2  Next

Lelek@
Guest

Thu Apr 21, 2011 8:18 pm   



Wiadomo, że telefony i tablety mają system plików w NAND flashu, a ja muszę
pisać sobie do tymczasowego pliku miliony razy.
Nie mam zielonego pojęcia co taki Android robi gdy widzi takie zapisy i jak
planuje to keszować.
Jest to też wolne. Plik mi nie jest do szczęścia potrzebny po
wielomilionowym używaniu go.
Może siedzieć w ramie więc wymyśliłem sobie, że zadeklaruję sobie

plik w pamieci :

MemoryFile mf = new MemoryFile("buf0", 2048);

I zadeklaryję filedescriptor, gdyż lest on niezbędny innej funkcji
systemowej

FileDescriptor fd = new FileDescriptor();

Jak przybindować buf0 do fd żeby fd wskazywał na ta ten wirtualny plik?

Michoo
Guest

Thu Apr 21, 2011 8:28 pm   



W dniu 21.04.2011 22:18, Lelek@ pisze:
Quote:
plik w pamieci :

MemoryFile mf = new MemoryFile("buf0", 2048);

I zadeklaryję filedescriptor, gdyż lest on niezbędny innej funkcji
systemowej

FileDescriptor fd = new FileDescriptor();

Jak przybindować buf0 do fd żeby fd wskazywał na ta ten wirtualny plik?
Jak rozumiem z jakiś przyczyn nie możesz pobrać deskryptora do

MemoryFile przez metodę getFileDescriptor?

--
Pozdrawiam
Michoo

Lelek@
Guest

Thu Apr 21, 2011 8:34 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq40j$6cs$1@news.onet.pl...
Quote:
W dniu 21.04.2011 22:18, Lelek@ pisze:
plik w pamieci :

MemoryFile mf = new MemoryFile("buf0", 2048);

I zadeklaryję filedescriptor, gdyż lest on niezbędny innej funkcji
systemowej

FileDescriptor fd = new FileDescriptor();

Jak przybindować buf0 do fd żeby fd wskazywał na ta ten wirtualny plik?
Jak rozumiem z jakiś przyczyn nie możesz pobrać deskryptora do MemoryFile
przez metodę getFileDescriptor?

Nie umiem tego zapisać Smile Nie rozumiem tego :-)

Inna funkcja z API 4 chce filedeskryptora do pliku lub ścieżki na
"/sdcard/lol.bib"
Ponieważ jest to plik MemoryFile nie mam zielonego pojęcia jak sie do niego
dobrać Smile

Michoo
Guest

Thu Apr 21, 2011 8:35 pm   



W dniu 21.04.2011 22:34, Lelek@ pisze:
Quote:
Inna funkcja z API 4 chce filedeskryptora do pliku lub ścieżki na
"/sdcard/lol.bib"
Ponieważ jest to plik MemoryFile nie mam zielonego pojęcia jak sie do
niego dobrać :-)

MemoryFile mf = new MemoryFile("buf0", 2048);

FileDescriptor fd = mf.getFileDescriptor();
Nie działa?

--
Pozdrawiam
Michoo

Lelek@
Guest

Thu Apr 21, 2011 8:39 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq40j$6cs$1@news.onet.pl...

Quote:
Jak przybindować buf0 do fd żeby fd wskazywał na ta ten wirtualny plik?
Jak rozumiem z jakiś przyczyn nie możesz pobrać deskryptora do MemoryFile
przez metodę getFileDescriptor?

Jeszcze raz:

Jest sobie fakaś funkcja API nazwijmy ją setFoo("/scdard/lol.bin")
I pięknie zapisuje do external memory. Ale robi to bardzo wolno i boję się
że po milionach zapisów załatwię telefon.

Chcę te kilka plików zadeklarować w RAM-ie jako MemoryFile.

A temu tak chcę zrobić, bo inne funkcje chcą tworzyć pliki i nie potrafia
pisać do buforów, tablic.
Muszę te pliki buforowe zapisywać i czytać kilka razy na sekundę.

Lelek@
Guest

Thu Apr 21, 2011 8:41 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq4en$7uu$1@news.onet.pl...
Quote:
W dniu 21.04.2011 22:34, Lelek@ pisze:
Inna funkcja z API 4 chce filedeskryptora do pliku lub ścieżki na
"/sdcard/lol.bib"
Ponieważ jest to plik MemoryFile nie mam zielonego pojęcia jak sie do
niego dobrać :-)

MemoryFile mf = new MemoryFile("buf0", 2048);
FileDescriptor fd = mf.getFileDescriptor();
Nie działa?

Nie działa - podkreśla mi na czerwono to getFileDescriptor(); //
The method FileDescriptor() is undefined for the type MemoryFile

Lelek@
Guest

Thu Apr 21, 2011 8:43 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq4en$7uu$1@news.onet.pl...

Podpowiada że mam rzutować (add cast to mf0) i robi to:

((FileDescriptor) mf0).FileDescriptor();



I dalej podkreśla już całość Smile

Lelek@
Guest

Thu Apr 21, 2011 8:49 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq4en$7uu$1@news.onet.pl...

Te cztery linijki:

MemoryFile mf0 = new MemoryFile("buf0", 2048);

MemoryFile mf1 = new MemoryFile("buf1", 2048);


FileDescriptor fd0 = mf0.getFileDescriptor();

FileDescriptor fd1 = mf1.getFileDescriptor();

podkreślone na czerwono oba getFileDescriptor()

Michoo
Guest

Thu Apr 21, 2011 8:51 pm   



W dniu 21.04.2011 22:41, Lelek@ pisze:
Quote:
MemoryFile mf = new MemoryFile("buf0", 2048);
FileDescriptor fd = mf.getFileDescriptor();
Nie działa?

Nie działa - podkreśla mi na czerwono to getFileDescriptor(); //
The method FileDescriptor() is undefined for the type MemoryFile
Ki czort? Czemu nagle się zrobiło FileDescriptor()? Niestety na

androidzie się specjalnie nie znam - chyba więcej pomóc nie mogę.

--
Pozdrawiam
Michoo

Lelek@
Guest

Thu Apr 21, 2011 8:56 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq5cm$bqo$1@news.onet.pl...
Quote:
W dniu 21.04.2011 22:41, Lelek@ pisze:
MemoryFile mf = new MemoryFile("buf0", 2048);
FileDescriptor fd = mf.getFileDescriptor();
Nie działa?

Nie działa - podkreśla mi na czerwono to getFileDescriptor(); //
The method FileDescriptor() is undefined for the type MemoryFile
Ki czort? Czemu nagle się zrobiło FileDescriptor()? Niestety na androidzie
się specjalnie nie znam - chyba więcej pomóc nie mogę.

getFileDescriptor tam wyżej próbowałem czy może bez get Smile

Lelek@
Guest

Thu Apr 21, 2011 9:01 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq5cm$bqo$1@news.onet.pl...

http://developer.android.com/reference/android/os/MemoryFile.html

Nie ma tej funkcji w ogóle dla plików w Memory

Muszę mieć deskryptor do mf0 i mf1 bo nie mam co funkcji API wsadzić w mordę
Smile A nie moge pisać do sdcard bo ją zabiję i za wolno.

SDCARD to jedno z niewielu miejsc gdzie mam uprawnienia. Te głupawe funkcje
chcą działać na plikach, strumieniach i protokołach bez wnikania w
szczegóły.
Czujesz problem? Muszę mieć dwa bufory i posać do nich na zmianę żeby nie
tracic danych, bo do bajtów tam nie ma dostepu.

Lelek@
Guest

Thu Apr 21, 2011 9:04 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq5cm$bqo$1@news.onet.pl...

Prawdopodobmie MemoryFile to coś innego niż File

I do MemoryFile powinien być MemoryFileDescriptor, którego nie ma.
A my chcemy użyć FileDescriptor do Memory.
Teraz trzeba jakoś naokoło przejść z MemoryFile do FileDescriptor ale
funkcji bezpośrednio konwertujących nie ma.

Michoo
Guest

Thu Apr 21, 2011 9:21 pm   



W dniu 21.04.2011 23:04, Lelek@ pisze:
Quote:

"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq5cm$bqo$1@news.onet.pl...

Prawdopodobmie MemoryFile to coś innego niż File
Wygląda na to, że masz bardzo starego androida:

http://www.androidjavadoc.com/2.3/android/os/MemoryFile.html

--
Pozdrawiam
Michoo

Lelek@
Guest

Thu Apr 21, 2011 9:22 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq73s$hhn$1@news.onet.pl...
Quote:
W dniu 21.04.2011 23:04, Lelek@ pisze:

"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq5cm$bqo$1@news.onet.pl...

Prawdopodobmie MemoryFile to coś innego niż File
Wygląda na to, że masz bardzo starego androida:
http://www.androidjavadoc.com/2.3/android/os/MemoryFile.html

Ale nie moge pisać softu na system, którego nawet jeszcze nie ma w
telefonach. 2.3 jest sporadycznie, a sprzedanych tabletów ze starszymi
miliony

Lelek@
Guest

Thu Apr 21, 2011 9:24 pm   



"Michoo" <michoo_news@vp.pl> wrote in message
news:ioq73s$hhn$1@news.onet.pl...

Ja to widziałem ale nie wiem co zrobić żeby to obejść. Musi to działać od
Androida 1.6

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak połączyć MemoryFile z FileDescriptor w Androidzie dla efektywnego zapisu?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map