eGospodarka.pl
eGospodarka.pl poleca

Ilość wypowiedzi w tym wątku: 53

  • 1. Data: 2011-02-07 06:11:11
    Temat: Android
    Od: "Lelek@" <n...@n...pl>

    Witam,

    Nie wnikając w szczegóły, napisałem pierwszy program ale doszedłem do
    miejsca gdzie się wszystko kompiluje ale po uruchomieniu aplikacja zamyka mi
    się przez jedną linijke kodu.
    Jest to java oczywiście.

    jest sobie zadeklarowany bufor bajtowy

    byte buf[] = new byte[256];

    I chcę sobie z niego odczytać cokolwiek robiąc casting czy tam nawet bez
    niego

    int X = (int)buf[0];

    lub bez

    byte Y = buf[2];

    i dokładnie taka linijka w kodzie wywala mi cały program. "Program przestał
    działać czy go zamknąć na siłę" takie okienko wyskakuje ale kompiluje sie
    ok.

    Nie mam pomysłu :-) Pomocy :-) Tylko ta linijka. może czegoś nie wolno mi
    robić na bajtowych buforach o czym nie wiem? Zapisuje do niego inną metodą,
    umiem z niego odczytywać przy pomocy setText(), dane są w buforze prawidłowe
    ale muszę go czasem przelecieć w pętli i czegoś poszukać i nie mogę :-)


  • 2. Data: 2011-02-07 07:26:16
    Temat: Re: Android
    Od: "Artur M. Piwko" <m...@b...pl>

    In the darkest hour on Mon, 7 Feb 2011 07:11:11 +0100,
    Lelek@ <n...@n...pl> screamed:
    > Nie wnikając w szczegóły, napisałem pierwszy program ale doszedłem do
    > miejsca gdzie się wszystko kompiluje ale po uruchomieniu aplikacja zamyka mi
    > się przez jedną linijke kodu.
    > Jest to java oczywiście.
    >
    > jest sobie zadeklarowany bufor bajtowy
    >
    > byte buf[] = new byte[256];
    >

    Tak na szybko...

    byte[] buf = ...?

    --
    [ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:222B ]
    [ 08:25:58 user up 12706 days, 20:20, 1 user, load average: 0.69, 0.01, 0.59 ]

    Baroque (adj.): When you are out of Monet.


  • 3. Data: 2011-02-07 08:45:09
    Temat: Re: Android
    Od: Shaman <s...@o...com>

    Dnia 07-02-2011 o 08:26:16 Artur M. Piwko <m...@b...pl>
    napisał(a):

    > In the darkest hour on Mon, 7 Feb 2011 07:11:11 +0100,
    > Lelek@ <n...@n...pl> screamed:
    >> Nie wnikając w szczegóły, napisałem pierwszy program ale doszedłem do
    >> miejsca gdzie się wszystko kompiluje ale po uruchomieniu aplikacja
    >> zamyka mi
    >> się przez jedną linijke kodu.
    >> Jest to java oczywiście.
    >>
    >> jest sobie zadeklarowany bufor bajtowy
    >>
    >> byte buf[] = new byte[256];
    >>
    >
    > Tak na szybko...
    >
    > byte[] buf = ...?

    Też jestem zwolennikiem takiego zapisu, ale to raczej nie może być
    przyczyną problemów.
    Proponuję:
    1. sprawdzić jak zachowuje się odczyt z tablicy deklarowanej statycznie
    jaki private.
    2. czyścić/zerować tablicę tworzoną dynamicznie przed jej odczytem
    3. używać normalnego słownictwa bo aż człowieka skręca czyta "casting"
    zamiast "rzutowanie"

    zaznaczam, że nie znam androidowego SDK ani ichniejszej maszyny
    wirtualnej, to są jedynie luźne pomysły (za wyjątkiem pkt3 :))

    --
    PZDR
    Shaman


  • 4. Data: 2011-02-07 11:39:30
    Temat: Re: Android
    Od: "Lelek@" <n...@n...pl>


    "Shaman" <s...@o...com> wrote in message news:op.vqiyljhl4limig@sioux...
    Dnia 07-02-2011 o 08:26:16 Artur M. Piwko <m...@b...pl>

    Już wiem co jest.
    Ten bufor nie istnieje jeżeli nic się tam nie wpisze i próba odczytu buf[0]
    bez wcześniejszego wpisania czegoś skutkuje totalną wywałką tak jakby
    wyskakiwał wyjątek nie wiadomo od czego. To jest java, a nie C++ co mnie
    bardzo denerwuje, szczególnie brak "unsigned" - to jest już totalna porażka.
    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.


  • 5. Data: 2011-02-07 11:47:03
    Temat: Re: Android
    Od: J.F. <j...@p...onet.pl>

    On Mon, 07 Feb 2011 09:45:09 +0100, Shaman wrote:
    >3. używać normalnego słownictwa bo aż człowieka skręca czyta "casting"
    >zamiast "rzutowanie"

    Rzutowanie to rzutowanie, wymienic odpowiedzialnych autorow ktorzy
    zastosowali do C :)

    P.S. Casting ? Odlewanie. I nie mamy na mysli egzaminu dla aktorek :-)

    J.


  • 6. Data: 2011-02-07 12:18:07
    Temat: Re: Android
    Od: Zbych <a...@o...pl>

    W dniu 2011-02-07 12:39, Lelek@ pisze:

    > Ten bufor nie istnieje jeżeli nic się tam nie wpisze i próba odczytu
    > buf[0] bez wcześniejszego wpisania czegoś skutkuje totalną wywałką tak
    > jakby wyskakiwał wyjątek nie wiadomo od czego.

    Pewnie wynika to z optymalizacji - alokacja zasobów dopiero przy
    pierwszym dostępie. W sumie niezły bat na "specjalistów" od
    niezainicjalizowanych zmiennych :-).


  • 7. Data: 2011-02-07 14:06:15
    Temat: Re: Android
    Od: Mikołaj Tutak <"mtutak[a]nixz*net"@nospam.com>

    W dniu 2011-02-07 07:11, Lelek@ pisze:

    >
    > byte buf[] = new byte[256];
    >
    > I chcę sobie z niego odczytać cokolwiek robiąc casting czy tam nawet bez
    > niego
    >
    > int X = (int)buf[0];

    int X = (int)buf;
    lub
    int X = (int)&(buf[0]);

    >
    > lub bez
    >
    > byte Y = buf[2];

    byte Y = (byte)(buf+2);

    tak lepiej?

    --
    pozdrawiam
    Mikołaj


  • 8. Data: 2011-02-07 17:28:04
    Temat: Re: Android
    Od: ohouapss <k...@g...com>

    On 7 Lut, 12:39, "Lelek@" <n...@n...pl> wrote:
    > Już wiem co jest.
    > Ten bufor nie istnieje jeżeli nic się tam nie wpisze i próba odczytu buf[0]
    > bez wcześniejszego wpisania czegoś skutkuje totalną wywałką

    Nie znam sdk Androida, ale dolary przeciw kamieniom, że błąd jest
    zupełnie gdzie indziej niż Ci się wydaje. Ta tablica powinna się
    automatycznie wypełnić zerami i jak najbardziej bufor istnieje.


  • 9. Data: 2011-02-07 22:15:57
    Temat: Re: Android
    Od: Adam Dybkowski <a...@4...pl>

    W dniu 2011-02-07 07:11 Lelek@ napisał(a):

    > Nie wnikając w szczegóły, napisałem pierwszy program ale doszedłem do
    > miejsca gdzie się wszystko kompiluje ale po uruchomieniu aplikacja
    > zamyka mi
    > się przez jedną linijke kodu.
    [...]

    Zobacz co pokazuje LogCat. Tam będzie informacja dlaczego program się
    wywalił.

    BTW: NTG?

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.


  • 10. Data: 2011-02-07 23:16:19
    Temat: Re: Android
    Od: "Lelek@" <n...@n...pl>


    "Adam Dybkowski" <a...@4...pl> wrote in message
    news:iipqur$fq$2@news.onet.pl...
    >W dniu 2011-02-07 07:11 Lelek@ napisał(a):

    > Zobacz co pokazuje LogCat. Tam będzie informacja dlaczego program się
    > wywalił.

    Nie wiem co to jest LogCat :-) Od kilku dni się tym zajmuję :-).
    Wiem jedno, że ten buf[256] zapełniam wpisując w niego null terminated
    string. I jeżeli czytam poza długością wpisanego stringa to zawsze jest ten
    efekt ale dziwi mnie czemu mimo zadeklarowania rozmiaru on tak to traktuje.
    To zachowanie ma miejsce tylko dla byte. dla int tablica istnieje.
    Obszedłem to ale weź sobie zapodaj w kodzie takie dwie linijki, jedna
    deklaracja i niżej Y = buf[10] i skompiluj i uruchom. Wywałka murowana
    gdziekolwiek nie postawisz byle się wykonało.

strony : [ 1 ] . 2 ... 6


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: