Android jeszcze raz :-) - Page 2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
Re: Android jeszcze raz :-)


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


Re: Android jeszcze raz :-)


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

((FileDescriptor) mf0).FileDescriptor();



I dalej podkreśla już całość :-)


Re: Android jeszcze raz :-)


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()


Re: Android jeszcze raz :-)


Quoted text here. Click to load it

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ę.


Re: Android jeszcze raz :-)
W dniu 2011-04-21 22:39, Lelek@ pisze:
Quoted text here. Click to load it

Obawiam sie ze jesli piszesz do NAND'a to zalatwisz ja po kilku
tysiacach zapisow.
A android to przeciez LINUX

Re: Android jeszcze raz :-)
On Thu, 21 Apr 2011 22:39:06 +0200,  Lelek@ wrote:
Quoted text here. Click to load it

Zyczenie jest rozsadne .. ale jak znam zycie nic z tego nie wyjdzie w
ten sposob.
Zadeklarujesz sobie .. i co ? nadal /scdard/lol.bin bedzie na karcie.
Funcja plik otworzy, zapisze, zamknie a twoj memoryfile w ogole nie
bedzie uzyty.

Tak jak pisalem - moze ci sie uda ramdysk zalozyc i zamontowac,
podasz pliki "/sdcard/rd/xx.bin" czy "/tmp/rd/xx.bin" i zadziala.
no wlasnie - moze nie trzeba nic zakladac, tylko podac /tmp ?

Mozesz poszukac ambitnych ustawien systemowych, moze sie da jakos
opoznic zapis do pliku, i usunac go zanim zostanie zapisany.

Mozesz sprawdzic czy funkcja dopusci uzycie named pipes - o ile
Android je posiada.
http://en.wikipedia.org/wiki/Named_pipe

http://stackoverflow.com/questions/2740321/how-to-create-named-pipe-mkfifo-in-android
http://forum.4programmers.net/Java/168866-named_pipes_miedzy_java_a_cc++delphi_etc

Uwazaj - normalnie to ma ok 4kB, wiec trzeba odbierac dane rownolegle
z zapisywaniem ich przez funkcje jesli jest ich wieksza ilosc.



Jesli natomiast ta funkcja dopuszcza podanie FileDescriptor zamiast
nazwy pliku ... no, moze i owiera sie pare nowych mozliwosci.
Jesli ta funkcja korzysta z mmap, chocby posrednio
http://linux.die.net/man/2/mmap

to jest podobienstwo do ashmem
http://www.androidenea.com/2010/03/share-memory-using-ashmem-and-binder-in.html

Jako ze ten fd jest tu dana podstawowa - mysle ze jest dostepny z
Memoryfile.

Ale czy to zadziala - sporo tu "jesli" .
Ale jesli pozwala podac fd, to moze zwykly pipe uda sie wykorzystac ?


J.


Re: Android jeszcze raz :-)
Quoted text here. Click to load it

Czyli to ma byc taki tymczasowy plik do uzycia przez niektore
funkcje/programy ?
I one tam sobie cos zapisza, wkrotce potem odczytaja, a potem znow
zapisza i na koncu to nikomu nie bedzie potrzebne ?

Ja sie tam na Androidzie nie znam - ale czy nie da rady
skonfigurowac jakiegos malego ramdysku ?

J.


Re: Android jeszcze raz :-)


Quoted text here. Click to load it

Właśnie usiłuję sie tego dowiedzieć :-)
Mam tylko do dyspozycji Javę. Mogę niby pisac niskopozopmowo w C++ ale to
rodzi wiele problemów z kompatybilnością między urządzeniami, procesorami w
środku. Nie ma mowy żeby używać czegoś innego niż Java.
Tylko w tej Javie jest tak głupio zrobione że korzystanie ze sprzetu nie
zawsze ma wszystkie funkcje jakie chcę.

Np  mogę sobie pisać czy czytać do aparatu fotograficznego ale wszystkie
funkcje akceptują wyłącznie pliki. Nie mogę sobie pisać i czytać do bufora
buf[] i juĹź.
Jak można czytać i pisać do bufora "buf[]" to znowu nie ma kontroli nad
innymi funkcjami kamery.

Niektóre funkcje - "metody" chcą za parametry tylko odniesienia do plików.
Jako programista nie mam uprawnień aby zapisywac pliki w innym miejscu niż
/SDCARD i błędne koło sie zamyka.

A mnie potrzeba kawałków tych plików do dalszej obróbki w locie.


Site Timeline