-
41. Data: 2011-02-11 13:27:13
Temat: Re: Android
Od: Shaman <s...@o...com>
Dnia 11-02-2011 o 14:06:52 J.F. <j...@p...onet.pl> napisał(a):
> On Fri, 11 Feb 2011 14:01:29 +0100, Shaman wrote:
>> Dnia 07-02-2011 o 12:39:30 Lelek@ <n...@n...pl> napisał(a):
>>> Ta java to takie C++ dla półgłówków, którzy mieli
>>> problem ze zrozumieniem wskaźników, struktur i wykonywania kodu :-)
>>> Tragedia ale nie ma wyjścia.
>>
>> Wszystko jest totalną porażką jeśli się nie ma odpowiedniej wiedzy :)
>> Jedyne do czego można się przyczepić to, że kompilator Cie nie ostrzegł
>> przed użyciem niezainicjowanej zmiennej.
>
> Alez byla zainicjowana i to nawet dwa razy.
hmm.. jeszcze raz przejrzałem posty Lelka i nie widzę, żeby gdzieś ją
inicjował.
Zwykła Java z tego co kojarzę inicjuje takie pola jedynie w wypadku gdy są
to prywatne pola klasy. Pól deklarowanych w metodach Java nie inicjuje - w
sensie "zeruje obszaru pamięci zajmowanej przez to pole". Tak jest w
"zwykłej" javie.. nie wiem natomiast jakie cuda z tym kodem źródłowym
czynią narzędzia dla AVR. Możemy się wymądrzać a okaże się, że całe to
zamieszanie jest efektem niezamierzonym :)
--
PZDR
Shaman
-
42. Data: 2011-02-11 13:39:08
Temat: Re: Android
Od: J.F. <j...@p...onet.pl>
On Fri, 11 Feb 2011 14:27:13 +0100, Shaman wrote:
>Dnia 11-02-2011 o 14:06:52 J.F. <j...@p...onet.pl> napisał(a):
>> Alez byla zainicjowana i to nawet dwa razy.
>
>hmm.. jeszcze raz przejrzałem posty Lelka i nie widzę, żeby gdzieś ją
>inicjował.
byte buf[] = new byte[256];
buf = FromEditText.getBytes("UTF-8");
>Zwykła Java z tego co kojarzę inicjuje takie pola jedynie w wypadku gdy są
>to prywatne pola klasy. Pól deklarowanych w metodach Java nie inicjuje - w
>sensie "zeruje obszaru pamięci zajmowanej przez to pole". Tak jest w
>"zwykłej" javie.. nie wiem natomiast jakie cuda z tym kodem źródłowym
>czynią narzędzia dla AVR.
AVR ?
No dobra - buf zainicjowal dwa razy, zawartosc tablicy tylko raz.
Akurat niezainicjowana zawartosc tablicy nie powinna tu bruzdzic ..
chyba ze jakas kontrola przed nieuprawnionym czytaniem pamieci.
J.
-
43. Data: 2011-02-11 14:04:03
Temat: Re: Android
Od: Shaman <s...@o...com>
Dnia 11-02-2011 o 14:39:08 J.F. <j...@p...onet.pl> napisał(a):
> On Fri, 11 Feb 2011 14:27:13 +0100, Shaman wrote:
>> Dnia 11-02-2011 o 14:06:52 J.F. <j...@p...onet.pl>
>> napisał(a):
>>> Alez byla zainicjowana i to nawet dwa razy.
>>
>> hmm.. jeszcze raz przejrzałem posty Lelka i nie widzę, żeby gdzieś ją
>> inicjował.
>
> byte buf[] = new byte[256];
> buf = FromEditText.getBytes("UTF-8");
>
>> Zwykła Java z tego co kojarzę inicjuje takie pola jedynie w wypadku gdy
>> są
>> to prywatne pola klasy. Pól deklarowanych w metodach Java nie inicjuje
>> - w
>> sensie "zeruje obszaru pamięci zajmowanej przez to pole". Tak jest w
>> "zwykłej" javie.. nie wiem natomiast jakie cuda z tym kodem źródłowym
>> czynią narzędzia dla AVR.
>
> AVR ?
haha.. ostatnio dużo czytam o AVR i zamiast Android zobaczyłem Arduino :)
> No dobra - buf zainicjowal dwa razy, zawartosc tablicy tylko raz.
>
> Akurat niezainicjowana zawartosc tablicy nie powinna tu bruzdzic ..
> chyba ze jakas kontrola przed nieuprawnionym czytaniem pamieci.
Sięgnąłem po książkę "Thinking in Java" - a nie robiłem tego od wielu
miesięcy :)
Kurcze sprawa wydaje się jeszcze dziwniejsza, bo faktycznie wywołanie
byte buf[] = new byte[256]; powinno zainicjować i wyzerować tablicę.
No ale książka traktuje o referencyjnej Javie Sun'a. Widać Google dla
swojej maszyny wirtualnej po swojemu optymalizuje bajtkod. To jest dla
mnie jedyne wytłumaczenie.
--
PZDR
Shaman
-
44. Data: 2011-02-11 14:22:40
Temat: Re: Android
Od: MoonWolf <m...@p...com>
Shaman denied rebel lies:
>> Akurat niezainicjowana zawartosc tablicy nie powinna tu bruzdzic ..
>> chyba ze jakas kontrola przed nieuprawnionym czytaniem pamieci.
> Sięgnąłem po książkę "Thinking in Java" - a nie robiłem tego od wielu
> miesięcy :)
> Kurcze sprawa wydaje się jeszcze dziwniejsza, bo faktycznie wywołanie
> byte buf[] = new byte[256]; powinno zainicjować i wyzerować tablicę.
> No ale książka traktuje o referencyjnej Javie Sun'a. Widać Google dla
> swojej maszyny wirtualnej po swojemu optymalizuje bajtkod. To jest
> dla mnie jedyne wytłumaczenie.
Czekaj bo się już zgubiłem w tym wątku. Wydaewało mi się że tutaj:
<iiup2o$em2$1@opal.futuro.pl> Lelek sobie sam odpowiedział na swoje
pytanie dlaczego mu się wywala?
--
<:> Roger, MoonWolf Out <:>|Don't you leave me Father Time
(::) (::)|
(:) JID:m...@j...org(:)| http://karakkhaz.prv.pl
-
45. Data: 2011-02-11 14:32:31
Temat: Re: Android
Od: J.F. <j...@p...onet.pl>
On Fri, 11 Feb 2011 15:04:03 +0100, Shaman wrote:
>Dnia 11-02-2011 o 14:39:08 J.F. <j...@p...onet.pl> napisał(a):
>> byte buf[] = new byte[256];
>> buf = FromEditText.getBytes("UTF-8");
>
>Sięgnąłem po książkę "Thinking in Java" - a nie robiłem tego od wielu
>miesięcy :)
>Kurcze sprawa wydaje się jeszcze dziwniejsza, bo faktycznie wywołanie
>byte buf[] = new byte[256]; powinno zainicjować i wyzerować tablicę.
>No ale książka traktuje o referencyjnej Javie Sun'a. Widać Google dla
>swojej maszyny wirtualnej po swojemu optymalizuje bajtkod. To jest dla
>mnie jedyne wytłumaczenie.
Nie widziales tlumaczenia ?
Druga linia wywala pierwsza inicjacje, a wstawia do obiektu
zaalokowanego i zwroconego przez metode.
W tym przypadku pewnie zwrocilo null i stad caly jest ambaras.
A tak swoja droga - to co potem zwraca .length od null ?
zero czy juz wyjatek ?
J.
-
46. Data: 2011-02-11 14:33:58
Temat: Re: Android
Od: Michoo <m...@v...pl>
W dniu 11.02.2011 15:32, J.F. pisze:
> A tak swoja droga - to co potem zwraca .length od null ?
> zero czy juz wyjatek ?
Wyjątek.
--
Pozdrawiam
Michoo
-
47. Data: 2011-02-11 18:48:05
Temat: Re: Android
Od: "Lelek@" <n...@n...pl>
"J.F." <j...@p...onet.pl> wrote in message
news:ithal69u9q9cg7mrlag1eklp9qg7sun7b5@4ax.com...
> Nie widziales tlumaczenia ?
> Druga linia wywala pierwsza inicjacje, a wstawia do obiektu
> zaalokowanego i zwroconego przez metode.
> W tym przypadku pewnie zwrocilo null i stad caly jest ambaras.
>
> A tak swoja droga - to co potem zwraca .length od null ?
> zero czy juz wyjatek ?
Trudno powiedzieć. Mnie się wydawało od samego początku, że problem jest w
tym, że podmieniły mu sie bufory po wykryciu braku stringa w ogóle.
Jeżeli referencja w Javie to coś jak wskaźnik w C to co za różnica czy sobie
odczytam kilka bajtów po wskaźniku dalej.
Chyba, że to wyjątek ale try{} nie sypie wyjątkiem.Program się zamyka w
trakcie działania i już.
-
48. Data: 2011-02-11 19:10:37
Temat: Re: Android
Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>
On 02/11/2011 01:48 PM, Lelek@ wrote:
> Jeżeli referencja w Javie to coś jak wskaźnik w C to co za różnica czy
> sobie odczytam kilka bajtów po wskaźniku dalej.
Przenoszenie złych nawyków z C do Javy to bardzo złe podejście. Java
jest bardzo restrykcyjna jeśli chodzi o niedozwolone operacje. Dobrze
napisanym programom to nie przeszkadza, a znakomicie ułatwia znalezienie
błędów.
> Chyba, że to wyjątek ale try{} nie sypie wyjątkiem.Program się zamyka w
> trakcie działania i już.
Sprawdziłeś co się pojawia w logach? Wrzuć na grupę kawałek kody z try
(i po nim), to może ktoś będzie w stanie Ci pomóc.
pzdr.
j.
-
49. Data: 2011-02-11 19:10:56
Temat: Re: Android
Od: J.F. <j...@p...onet.pl>
On Fri, 11 Feb 2011 19:48:05 +0100, Lelek@ wrote:
>"J.F." <j...@p...onet.pl> wrote in message
>> A tak swoja droga - to co potem zwraca .length od null ?
>> zero czy juz wyjatek ?
>
>Jeżeli referencja w Javie to coś jak wskaźnik w C to co za różnica czy sobie
>odczytam kilka bajtów po wskaźniku dalej.
wskaznik, wskaznik, ale na Obiekt, i to juz moze bardzo roznie
dzialac.
J.
-
50. Data: 2011-02-11 22:52:15
Temat: Re: Android
Od: "Lelek@" <n...@n...pl>
"Jacek Radzikowski" <j...@s...die.die.die.piranet.org> wrote in message
news:ij41jd$jdm$1@inews.gazeta.pl...
> On 02/11/2011 01:48 PM, Lelek@ wrote:
>> Jeżeli referencja w Javie to coś jak wskaźnik w C to co za różnica czy
>> sobie odczytam kilka bajtów po wskaźniku dalej.
>
> Przenoszenie złych nawyków z C do Javy to bardzo złe podejście. Java jest
> bardzo restrykcyjna jeśli chodzi o niedozwolone operacje. Dobrze napisanym
> programom to nie przeszkadza, a znakomicie ułatwia znalezienie błędów.
>
No ale nic to :-) Program napisany w 2/3 -cich :-) nawet dobrze działa. W
sumie to dzięki znajomości C++ tak szybko udało ni się przejść ale tych klas
Javy unikam. gdzie się da to nie buduje obiektów tak jak w wielu przykładach
:-)
Ale działa i ważne, ze będzie z tego jakaś kaska :-)