Hubert Masiak

Hubert Masiak Programista Java /
J2EE

Temat: Jaki telefon do testowania tworzonych aplikacji?

Witam.
Obecnie jestem posiadaczem telefonu Samsung i5700 z Androidem 2.2.1. Był stosunkowo tani, ale mimo procka 800Mhz nie ma sterowników 3D, więc gry czy cokolwiek wykorzystujące OpenGLES strasznie zamulają.

Czy moglibyście polecić telefon w cenie do powiedzmy 700zł, który najbardziej nadaje się do testowania aplikacji, gier w szczególności. Chodzi mi o telefon, który byłby najbardziej uniwersalny, tzn. obsługiwał wszystkie standardowe bajery (akcelerometr, gps, HSDPA itd), miał ekran z najbardziej popularną rozdzielczością (są gdzieś jakieś badania tego?), w miarę dobry procek, dobrą obsługę 2D i 3D, oraz sporą społeczność, żeby wychodziły często mody na nowych wersjach Androida. Chodzi o to, że z racji ograniczonego budżetu byłby to jedyny sprzęt, na którym testowałbym aplikację i fajnie by było, gdyby działały u jak największej liczby userów Androida.

Jeżeli jest jakiś tel, który jest nieco droższy, ale pasujący do moich wymagań również wezmę go pod uwagę. Z góry dzięki ;)
Michał Kąkol

Michał Kąkol Rozwiązuję problemy,
przenoszę firmy do
internetu.

Temat: Jaki telefon do testowania tworzonych aplikacji?

do tej pory najbardziej popularna byla 800x480 (rodzina galaxy s, galaxy s2 = 30mln; rodzina htc desire; i jeszcze pare modeli), obecnie jest problem, na salony wchodzi 960x540, ostatnio 1280x720, dosc duzo jest budzetowek 320x240 (x10mini, wildfire)

sgs ma potezny SGX540 a desire (z, hd) ma adreno 205

z drugiej strony wrzucanie apki na sgs'a trwa niemilosiernie dlugo i niewyobrazalnie dluzej od wrzucania na desire (chociaz w pracy system na desire byl swiezy bez aplikacji)

moze nexus? - ten sam hardware co sgs plus nfc plus wsparcie spolecznosci plus update'y od google'a - dzieki temu bedzie mozna na bierzaco przystosowywac aplikacje do nowych systemow co jest bardzo wazne

btw poczekaj az wyjdzie info, ktore telefony dostana ICS bo od tego zalezy czy bedzie sie oplacalo dany model kupic czy nie
Łukasz Warzywoda

Łukasz Warzywoda C/C++ DSP Programmer
Developer

Temat: Jaki telefon do testowania tworzonych aplikacji?

Odradzam Samsung i5700. Telefon wolny, są problemy z debugowaniem natywnego kodu w C++. Egzemplarz na którym pracowałem nie miał multitoucha'a. Dołóż 200zł i kup używanego Nexus S.
Michał Tuszyński

Michał Tuszyński iOS/Android
Developer

Temat: Jaki telefon do testowania tworzonych aplikacji?

Polecam Nexusa S plus jeszcze jakiś inny telefon budżetowy do benchmark'ów, np Wildfire albo Wildfire S.
Michał Kąkol

Michał Kąkol Rozwiązuję problemy,
przenoszę firmy do
internetu.

Temat: Jaki telefon do testowania tworzonych aplikacji?

Wildfire s o ile sie nie myle posiada nowy typ arm'a z xegarem 600mhz, wraz z lepsza rozdzialka 480-320 wiec jak juz budzetowki to ten model odpada
Michał Tuszyński

Michał Tuszyński iOS/Android
Developer

Temat: Jaki telefon do testowania tworzonych aplikacji?

Michał Kąkol:
Wildfire s o ile sie nie myle posiada nowy typ arm'a z xegarem 600mhz, wraz z lepsza rozdzialka 480-320 wiec jak juz budzetowki to ten model odpada

Rozdziałka 320x480 jest bardzo mała w porównaniu do innych modeli. A ten procesor jest po prostu zbyt wolny dla gingerbread'a i blado wypada w benchmarkach, tak więc dla mnie jak najbardziej należy do budżetówek.
Michał Kąkol

Michał Kąkol Rozwiązuję problemy,
przenoszę firmy do
internetu.

Temat: Jaki telefon do testowania tworzonych aplikacji?

tzn ja wiem, ze to jest budzetowka, ale to jest juz wyzsza klasa w telefonach za 1zł (1.22 :P)

jak chcesz prawdziwego wymiatacza na polskim rynku to polecam htc wildfire

a tutaj powód ->


Obrazek
Michał Tuszyński

Michał Tuszyński iOS/Android
Developer

Temat: Jaki telefon do testowania tworzonych aplikacji?

Klasa niewiele wyższa niż poprzednik:). Ja polecam wildfire jedynie w celach sprawdzenia wydajności aplikacji.
Co do statystyk które podałeś, to niestety w znacznej mierze dotyczą one polskiego rynku, który jest w tyle za zachodem.
Wracając do tematu, nadal uważam że obecnie dobrą inwestycją będzie Nexus S (zwłaszcza że otrzyma ICS) i wildfire.

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

Zdecydowanie jedank pomyśl o Nexusie, najgorzse co może być dla developera w brandowanych telefonach to śmieći w logach.
Nexus jest czysty jak łza :)Grzegorz Szycha edytował(a) ten post dnia 23.10.11 o godzinie 11:13
Michał Kąkol

Michał Kąkol Rozwiązuję problemy,
przenoszę firmy do
internetu.

Temat: Jaki telefon do testowania tworzonych aplikacji?

Grzegorz Szycha:
Zdecydowanie jedank pomyśl o Nexusie, najgorzse co może być dla developera w brandowanych telefonach to śmieći w logach.
Nexus jest czysty jak łza :)

Przeciez jest cos takiego jak "Filter" :P

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

Michał Kąkol:
Grzegorz Szycha:
Zdecydowanie jedank pomyśl o Nexusie, najgorzse co może być dla developera w brandowanych telefonach to śmieći w logach.
Nexus jest czysty jak łza :)

Przeciez jest cos takiego jak "Filter" :P

Jak piszesz coś złożonego i muszisz oglądać logi systemowe to ci filter ale do kawy :)Grzegorz Szycha edytował(a) ten post dnia 23.10.11 o godzinie 20:40

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

Zanim kupisz telefon i wydasz jakąś kasę, proponuję Ci zrobić apkę najpierw i ją potestować w Emulatorze. Jest sporo dostępnych rozdzielczości.
Osobiście nie widziałem różnicy pomiędzy wyświetlaniem mojej apki na emulatorze z tym co widziałem na fizycznym telefonie.

Jeżeli od początku będziesz w zamiarze miał skalowanie grafiki/przycisków pod kątem różnych rozdzielczości to testowanie na telefonie będzie tylko formalnością. Przy okazji wkleję Ci kod, który u mnie się rewelacyjnie spisuje jeżeli chodzi o dopasowywanie do różnych telefonów (testowane na emu jak i na fizycznych komach):

// zczytanie szer. wys. ekranu
final int height = dm.heightPixels;
final int width = dm.widthPixels;
// ustawienie grafiki
findViewById(R.id.logo_img).setBackgroundResource(R.drawable.logo);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width/12, height/10); //ustawienie rozmiaru
layoutParams.leftMargin = (width/2+width/4)-width/24;
layoutParams.topMargin = height/48;
findViewById(R.id.logo_img).setLayoutParams(layoutParams);

Powyższe zmienia mi rozmiar loga zależnie od rozdzielczości i super działa.

Ja tak zrobiłem, że dopiero jak miałem apkę skończoną w 80-90% to zakupiłem sobie samsunga galaxy i9000.Tomasz B. edytował(a) ten post dnia 23.10.11 o godzinie 19:21

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

Tomasz B.:
Zanim kupisz telefon i wydasz jakąś kasę, proponuję Ci zrobić apkę najpierw i ją potestować w Emulatorze. Jest sporo dostępnych rozdzielczości.
Osobiście nie widziałem różnicy pomiędzy wyświetlaniem mojej apki na emulatorze z tym co widziałem na fizycznym telefonie.

Jeżeli od początku będziesz w zamiarze miał skalowanie grafiki/przycisków pod kątem różnych rozdzielczości to testowanie na telefonie będzie tylko formalnością. Przy okazji wkleję Ci kod, który u mnie się rewelacyjnie spisuje jeżeli chodzi o dopasowywanie do różnych telefonów (testowane na emu jak i na fizycznych komach):

// zczytanie szer. wys. ekranu
final int height = dm.heightPixels;
final int width = dm.widthPixels;
// ustawienie grafiki
findViewById(R.id.logo_img).setBackgroundResource(R.drawable.logo);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width/12, height/10); //ustawienie rozmiaru
layoutParams.leftMargin = (width/2+width/4)-width/24;
layoutParams.topMargin = height/48;
findViewById(R.id.logo_img).setLayoutParams(layoutParams);

Powyższe zmienia mi rozmiar loga zależnie od rozdzielczości i super działa.

Ja tak zrobiłem, że dopiero jak miałem apkę skończoną w 80-90% to zakupiłem sobie samsunga galaxy i9000.

Pod warunkiem że :

a) nie robisz aplikacji z smsami, no prawie się nie da
b) nie robisz aplikacji GPS, no prawie się nie da
c,d itd ...

Emulator nie pomoże poprostu nie potestujesz.Grzegorz Szycha edytował(a) ten post dnia 23.10.11 o godzinie 22:21

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

Grzegorz Szycha:

Pod warunkiem że :

a) nie robisz aplikacji z smsami
b) nie robisz aplikacji GPS
c,d itd ...

Emulator nie pomoże poprostu nie potestujesz.

racja ;) ale ty piszesz już o jakiś tam wypasach w apce.
no i źle założyłem, że chłopak będzie zaczynał od prostych aplikacji.

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

Tomasz B.:
Grzegorz Szycha:

Pod warunkiem że :

a) nie robisz aplikacji z smsami
b) nie robisz aplikacji GPS
c,d itd ...

Emulator nie pomoże poprostu nie potestujesz.

racja ;) ale ty piszesz już o jakiś tam wypasach w apce.
no i źle założyłem, że chłopak będzie zaczynał od prostych aplikacji.

W sumie to i racja jak proste "Hello cos tam " to emulator podoła.

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

@Tomasz Bagłaj
Emulatory są OK ale moim zdaniem tylko żeby sprawdzić proste/standardowe aplikacje (proste gierki, aplikacje klienckie komunikujące się przez neta, itd.) albo wygląd GUI/layoutów.

Do tworzenia bardziej zaawansowanych aplikacji (wykorzystujących np. kamery, sensory, GPS, NFC, itd.) - polecam (tak jak Grzegorz Szycha) fizyczny telefon. Na emulatorze czasem czegoś nie da się zrobić albo jest to męczarnia.

Teraz siedzę hobbystycznie nad kilkoma tematami związanymi z sensorami (sensor fusion, noise filtering, signal processing, phone movement/tracking) i nawet nie przyszło mi na myśl żeby z tego typu projektami użerać się na emulatorach. Ostatnie AVD na moim kompie poleciało "do piachu" na poczatku roku... :D

Do prostych aplikacji chyba też lepiej jest mieć 1 jakikolwiek telefon niż męczyć się na wolnym emulatorze i w czasie instalowania się aplikacji "parzyć kawę"...

>> (...)
>> Przy okazji wkleję Ci kod, który u mnie się rewelacyjnie spisuje jeżeli chodzi
>> o dopasowywanie do różnych telefonów (testowane na emu jak i na fizycznych komach)

Kod jest elastyczny ale jak to wygląda na tabletach? Czy dla orientacji landscape w telefonach i przede wszystkim dużych ekranów w tabletach (portrait/landscape) elementy ekranu skalowane w ten sposób nie są za duże? Czy tak skalowane ekrany na tabletach nadal wyglądają na estetyczne, czy może taka aplikacja sprawia wrażenie jakby była przygotowana dla osób "niedowidzących"?

Pytam z ciekawości - jestem zwolennikiem XML. Tylko kilka razy stosowałem coś takiego ale nie dla całych ekranów, a tylko np. w ListView gdzie dla list items generowałem dynamicznie różne pod-layouty i widgety.

Można w kodzie rozgraniczyć generowanie layoutów dla róznych konfiguracji ale zastanawiam się jak w praktyce sprawuje się taki uniwersalny kod skalowania widgetów...Mateusz Wolf edytował(a) ten post dnia 24.10.11 o godzinie 00:21

konto usunięte

Temat: Jaki telefon do testowania tworzonych aplikacji?

@Hubert Masiak

Tak jak niektórzy na forum, polecam jednak Nexus S albo np. Nexus One.

Wydaje mi się, że lepiej jest mieć lepszy telefon do developerki (i prywatnego użycia) niż oszczędzać i kupować coś słabszego żeby później wkurzać się na procesor, ekran albo brak jakiś sensorów, itd.
Kupisz Nexus One/S i będziesz miał spokój na długi czas, chyba że od razu pomyślisz o tablecie, bo tego typu sprzęty zaczynają się ostro popularyzować...

Sam pracuję od ponad 1,5 roku na Nexus One i do czasu premiery Nexus S była to chyba najlepsza alternatywa na rynku: aktualizowany na bieżąco przez Google system, dobre parametry techniczne, itd.
Pracuję też na tablecie Acer Iconia A501 (duży ekran, Android 3.2 i w końcu bawię się żyroskopem, którego nie mam w Nexus One, a jest już w Nexus S).

Trochę bardziej skłaniam się do Nexusów niż innych telefonów z tej półki, ponieważ:
- masz czystego i szybkiego Androida

- regularne update systemu. Tylko raz wgrywałem ręcznie nową wersję systemu (nie mogłem doczekać się chyba Androida 2.2), a 2-3 tygodnie później telefon sam zainstalował (ponownie) oficjalny update od Google (ostatni prezent od Google to aktualizacja do 2.3.6).

- w tych telefonach masz pełne (lub prawie pełne) pokrycie możliwości sprzętu z API Androida.
Chcesz użyć NFC? No problem. Piszesz aplikację dla Andka 1.6, a może dla 2.3.3? No problem. Chcesz użyć czegoś z najnowszego API (i telefon ma świeży system)? No problem. Chcesz użyć USB? No problem - osobna biblioteka do Andka 2.3 lub Andek 3.x (chyba 3.1.x).

Google udostępni nowe klasy w API? No problem - Nexusy powinny od razu lub po aktualizacji systemu udostępnić obsługę nowych rzeczy (jeżeli będą to czysto programowe zmiany i nie będą wymagały jakiś elementów elektronicznych w telefonie).
Pamiętam, że bawiłem się sensorem przyspieszenia liniowego w Androidzie 2.3 w czasach gdy tylko co niektórzy mieli ten system (po ręcznym wgraniu) - po prostu bajka, zero problemów.

Chcesz się bawić grami i grafiką 3D? No problem. Nie wiem jak inne telefony, ale już Nexus One od samego początku ma sprzętowe wsparcie dla grafiki OpenGL ES w wersji 2.0.
Na Nexusie One AngryBirds albo Pocket Legends (i inne podobne gry) śmigają płynnie, a na HTC Wildfire te gry trochę mi się cięły...

Nexusy są sztandarowymi produktami Google. Google stara się oferować dobre telefony i aktualne systemy. Nexusem S nie bawiłem się ale praca na GNO jest po prostu bajką...

---
Do testowania aplikacji używam telefonów... rodziny i znajomych. Na co dzień nie potrzebuję stada telefonów i nawet nie planuję kupowania jakichkolwiek budżetówek. Uniwersalnego telefonu do Androida chyba nie ma, a na stado telefonów testowych jakoś żal mi kasy... :]
Zapytaj dziewczynę, znajomych... Może chociaż w ich obecności będziesz mógł kabelkiem albo z marketu wgrać appkę i przeklikać ją na wszystkie możliwe sposoby?

Zainwestuj lepiej w dobry sprzęt. Moda na budżetówki się zmienia w takim tempie jakim Web Niejadek i inne takie twory opróżniają magazyny operatorów telekomunkacyjnych. Niektóre budżetówki są nawet OK, inne nie.
Lepszy sprzęt wystarczy na dłużej i jeżeli nawet będzie trochę "na wyrost", to i tak prędzej czy później użyjesz wielu jego możliwości...

>> Chodzi mi o telefon, który byłby najbardziej uniwersalny,
>> tzn. obsługiwał wszystkie standardowe bajery (akcelerometr,
>> gps, HSDPA itd), miał ekran z najbardziej popularną
>> rozdzielczością (są gdzieś jakieś badania tego?)

Korzystam z badań pt. "specyfikacje techniczne telefonów" :P
Chyba musisz pogrzebać w specyfikacjach i wybrać ten model, który najbardziej Cię interesuje. Nazwa telefonu nic nie mówi, specyfikacja - tak.

GPS, HSDPA, ekran HVGA/WVGA, akcelerometr - to jest chyba w standardzie i większość obecnych telefonów powinno to mieć.

Lepiej rzuć okiem na specyfikacje, bo niektóre telefony w twoim budżecie lub nieco większym będą miały lepsze parametry (np. większa rozdziałka ekranu) albo dodatkową elektronikę na pokładzie (np. więcej sensorów). Nigdy nie wiadomo co się będzie pisało i co nagle będzie potrzebne w telefonie...
Jeżeli koniecznie chcesz mieć jakiś "uniwersalny" telefon, zobacz co aktualnie wciskają operatorzy GSM i wybierz sobie jeden z nich.

Poza tym, ostro zaczął rozwijać się segment tabletów (Android 3.x. Być może niedługo pojawi się w PL coś z Andkiem 4 bo SDK już jest) - za jakiś czas pomyśl też o tym.Mateusz Wolf edytował(a) ten post dnia 24.10.11 o godzinie 01:56



Wyślij zaproszenie do