-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
STED!not-for-mail
From: Adam Dybkowski <a...@4...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Android
Date: Wed, 09 Feb 2011 23:15:25 +0100
Organization: http://onet.pl
Lines: 71
Message-ID: <iiv3lq$tqt$1@news.onet.pl>
References: <iio2dt$58r$1@opal.futuro.pl> <iipqur$fq$2@news.onet.pl>
<iipufp$bf3$1@opal.futuro.pl> <iisd8q$6td$1@news.onet.pl>
<iish8c$8um$1@opal.futuro.pl>
<o...@4...com>
<s...@b...pl>
<1...@v...googlegroups.com>
<iiuo70$cpv$1@opal.futuro.pl>
NNTP-Posting-Host: aele226.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1297289722 30557 79.191.30.226 (9 Feb 2011 22:15:22 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Wed, 9 Feb 2011 22:15:22 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.23) Gecko/20090812
Thunderbird/2.0.0.23 Mnenhy/0.7.6.666
In-Reply-To: <iiuo70$cpv$1@opal.futuro.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:604544
[ ukryj nagłówki ]W dniu 2011-02-09 19:59 Lelek@ napisał(a):
>> Skoro ta dyskusja trwa dalej, to zanim się wytoczy takie armaty, można
>> byłoby poprosić autora wątku o kompilowalny kawałek kodu który ma
>> sprawiać takie problemy? Z opisu, z pierwszej wiadomości, można
>
> public void dupa() {
[...]
> Jeżeli w polu EditText nic nie wpiszę, będzie puste to próba odczytania
> buf[0] skończy się wywałką.
Hmmm, coś chyba ściemniasz. Skopiowałem twój przykładowy kod i odpaliłem
w emulatorze 2.2. Na głównej aktywności mam kontrolkę edycyjną o nazwie
"editText1". Tak wygląda cała metoda (podpiąłem jej wywołanie pod
naciśnięcie dodatkowego przycisku):
public void test() {
EditText editText = (EditText) findViewById(R.id.editText1);
String fromEditText = editText.getText().toString();
byte buf[] = new byte[256];
int bfx[] = new int[256];
int i, len;
try {
buf = fromEditText.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
len = buf.length;
for (i = 0; i < len; i++) {
bfx[i] = ((int)buf[i] & 0xFF);
Log.d("TEST", "BYTE: " + bfx[i]);
}
}
Znajduje się tu wszystko, co przytoczyłeś plus dodatkowy kod na początku
do odczytania ciągu znaków z kontrolki edycyjnej. Początkowe
zaalokowanie bufora buf nie ma znaczenia bo metoda getBytes() i tak
zwraca tablicę bajtów i zmienna buf zostanie nadpisana. Prościej jest
nie deklarować tej zmiennej na początku tylko dopiero gdy jest
potrzebna, np:
byte buf[] = fromEditText.getBytes("UTF-8");
W każdym razie uruchomienie daje spodziewane rezultaty. Gdy kontrolka
jest pusta to nic się nie wywala, metoda getBytes() zwraca pustą tablicę
a nie null, w zmiennej len mamy wartość 0 i nic się nie wypisuje.
Natomiast gdy do kontrolki edycyjnej wpiszę jakiś tekst to także
powyższy kod działa zgodnie z oczekiwaniami. Na debugu (to ten magiczny
LogCat, w Eclipse możesz go pokazać wybierając z menu: Window/Show
view/Other/Android/LogCat albo prościej naciskając Ctrl+3 i wpisując
"logcat") jest to pokazywane:
02-09 22:04:03.585: DEBUG/TEST(336): BYTE: 97
02-09 22:04:03.585: DEBUG/TEST(336): BYTE: 100
02-09 22:04:03.585: DEBUG/TEST(336): BYTE: 97
02-09 22:04:03.585: DEBUG/TEST(336): BYTE: 109
Chyba nie unikniesz pokazania większego kawałka kodu aby ustalić co się
wywala właściwie. Możesz spakować cały projekt i wrzucić gdzieś na sieć?
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Następne wpisy z tego wątku
- 09.02.11 22:50 Lelek@
- 10.02.11 01:08 Jacek Radzikowski
- 10.02.11 02:13 Lelek@
- 10.02.11 03:40 Jacek Radzikowski
- 10.02.11 06:59 Lelek@
- 10.02.11 07:45 Jacek Radzikowski
- 10.02.11 13:41 Pszemol
- 11.02.11 13:01 Shaman
- 11.02.11 13:06 J.F.
- 11.02.11 13:27 Shaman
- 11.02.11 13:39 J.F.
- 11.02.11 14:04 Shaman
- 11.02.11 14:22 MoonWolf
- 11.02.11 14:32 J.F.
- 11.02.11 14:33 Michoo
Najnowsze wątki z tej grupy
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
Najnowsze wątki
- 2025-03-12 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-12 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-12 Warszawa => Programista C <=
- 2025-03-12 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-03-12 64 proc. kierowców zrobi dodatkowo maks. 500 m, aby przy okazji zatankować pojazd
- 2025-03-12 Warszawa => Generative AI Engineer <=
- 2025-03-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-03-12 Warszawa => Gen AI Engineer <=
- 2025-03-12 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-12 Gdańsk => PHP Developer <=
- 2025-03-12 China-Kraków => Production Coordinator / Representant Product Dev <=
- 2025-03-12 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-03-12 China-Kraków => Key Account Manager IT <=
- 2025-03-12 Warszawa => Java Developer <=
- 2025-03-12 Warszawa => Junior Digital Product Manager <=