Článek

Řešení „fragmentace“: Vývojáři znějí na podporu více obrazovek

Android běží různé zařízení, což znamená, že také běží na různých velikostech a rozlišeních obrazovky. Spousta lidí tomu říká „fragmentace“. Nezáleží na tom, že už roky používají produkty navržené a vyvíjené stejným způsobem na svém počítači. Zdá se, že pokud vše není úplně stejné, získá štítek „fragmentace“.

Existují různé způsoby, jak řešit problémy, které vznikají při používání obrazovek s různými velikostmi a hustotami. Jablko má samostatné výpisy pro aplikace určené pro iPhone a iPad. Microsoft vytváří nový ekosystém pro zařízení s velkou obrazovkou. Android poskytuje vývojářům způsob, jak zajistit, aby stejná aplikace fungovala odlišně pro různé obrazovky. Každá metoda má dobré i špatné, ale my se zde zaměříme na Android.

Verizon nabízí Pixel 4a za pouhých 10 $ / měsíc na nových linkách Unlimited

V systému Android mohou aplikace upravit rozložení pro obrazovky různých velikostí i rozlišení. To vše je integrováno, ale existuje několik věcí, které vývojáři musí deklarovat ve svém kódu, aby aplikace vypadala dobře. Je třeba mít na paměti, jak velikost a hustota obrazovky změní vzhled aplikace. The

DNA droidů má obrazovku s vyšším rozlišením než Motorola XOOM tabletu, ale nechceme vidět rozložení tabletu pro aplikace na obrazovce velikosti telefonu.

Vývojář musí poskytnout prostředky (obrázky), které jsou dostatečně vysoké kvality, aby vypadaly ostře při vysokém rozlišení (nevadí šíleně vysoké rozlišení) a při navrhování jejich rozložení nezapomeňte použít pixelové jednotky nezávislé na hustotě. To je to, co brání tomu, aby věci jako tlačítka a další ovládací prvky byly opravdu velké na obrazovkách s nízkou hustotou, jako je Galaxy S2, nebo aby byly opravdu malé na obrazovkách s vysokou hustotou, jako je DNA.

Zní to komplikovaně, ale většina těchto věcí je pro vás připravena při kódování aplikace. Vše, co vývojář potřebuje, je vydat správná deklarace a poskytnout správná aktiva na podporu jakékoli velikosti (fyzické i rozlišení) nebo rozvržení. Dokonce i více aplikací s rozložením, jako je aplikace Google+, používá stejný kód k pokrytí všech myslitelných obrazovek.

Nesnažíme se zde soudit vývojáře. Psaní aplikací je těžké. Vývojáři Androidu to kázali od vydání Perníku, ale jak je to praktické? Zeptali jsme se na to několika vývojářů, abychom zjistili, co řekli po přestávce.

Více: Web pro vývojáře Android pro Google.

Zeptali jsme se několika vývojářů (velkých i malých) na pár základních otázek na toto téma.

  • Jak obtížné je dodržovat pokyny?
  • Na papíře to vypadá snadno, ale existují nějaké speciální problémy, které jste viděli, nebo části, které Google nepokryl?
  • Jak to ovlivnilo čas a náklady na vývoj, pokud vůbec?
  • Něco dalšího k tématu, o které se chcete podělit?

Snažil jsem se, aby otázky byly co nejneutrálnější, abychom do toho nešli s nějakou zaujatostí. V případě pochybností se ptáte lidí, kteří to vědí, že? Udělal jsem svůj spravedlivý podíl na programování, ale programování v Javě a vytváření aplikací pro Android se velmi liší od psaní kódu v C nebo strojovém kódu, nebo dokonce v Perlu. Existují nuance, kterým nerozumím, i když dostanu obecné metody vytváření aplikace.

Představuji si, že spousta z vás je jako já a nezná složitost vytváření aplikací pro Android. Vidíme jen to, co říkají vývojáři systému Android, a díky tomu to zní jednoduše. Pravděpodobně pro ně je - psali tyto věci od základů od roku 2007. Uvidíme, co na to řeknou lidé, kteří je mohli sledovat.

Joe Simpson (@kennydude) - Boid

BoidSpeaker Pro

Joe je členem Team Boid a také sám publikuje aplikace. On (a zbytek jeho týmu) jsou skvělým příkladem nezávislých vývojářů s vášní pro Android, kteří vytvořili úžasné aplikace.

Dodržování pokynů je poměrně obtížné, zvláště pokud chcete štíhlou aplikaci, ale lidé chtějí zpětnou kompatibilitu. Jednou z nejotravnějších věcí je vidět, jak něco vypadá na d.android.com/design [web pro vývojáře Android pro Google], ale nic o tom, jak to vlastně udělat.

Slabá stránka je osvěžující, když fyzicky nemůžete používat GCM [Google Cloud Messaging] kvůli Twitteru a nechcete používat PtR [Pull to Refresh]. Aplikace Google také vytvářejí vlastní pokyny. Vezměte například výsuvný panel, Google+ to dělá jinak než YouTube (i když vím, že knihovna podpory to snad vyřeší).

Také se můžete dostat k bodu a k něčemu není dokumentace (například EdgeEffect).

Jsem student, takže náklady jsou něco, co mi nevypadá, a ano, vyžaduje to čas, ale vaši uživatelé vás budou milovat. V zásadě jsou živé show (ADiA, klinika aplikací, ordinační hodiny) nutností (bohužel), i když nemohou poskytovat zpětnou vazbu o aplikacích Google.

Boid je brzy přejde na open-source (yay!), A můžete vyhledejte samotnou aplikaci na Google Play. Najdete také všechny Joeovy aplikace (jsou tam nějaké šperky) právě tady.

Christophe Versieux - BeTrains - SNCB Belgie; HoloEverywhere

BeTransHoloEverywhere

Christophe vytvořil řadu aplikací pro Android, včetně BeTrains - SNCB Belguim - aplikace s nádherným rozvržením, které ukazuje, co lze dělat s dobře sestavenou aplikací. Zatímco většina v USA ji nikdy nepoužije (je to aplikace pro jízdní řády pro belgické železnice), stojí za to si ji nainstalovat, jen abyste zjistili, jak dobře to jde. Lidé v západní Evropě o tom určitě vědí.

Kromě toho společně vyvinul knihovnu HoloEverywhere, kterou mohou ostatní vývojáři použít k vytváření aplikací ve stylu Holo pro Android 2.1 a vyšší. Vzhledem k tomu, že mnoho telefonů stále používá Gingerbread, je to opravdový zážitek pro vývojáře, kteří chtějí, aby jejich aplikace vypadaly aktuální.

Není to vůbec těžké. Vážně. Složitá část přijde, když zákazník požádá, aby se od těchto pokynů dostal!

Vzpomínám si na zákazníka, který chtěl, abych umístil karty na spodní část obrazovky, tlačítka iPhone všude, Přepínání ve stylu iPhone a tohoto projektu bylo opravdu těžké dosáhnout a opravdu jsem ztratil spoustu času a peněz to.

Byl jsem na něj opravdu naštvaný, když se zeptal na všechny ty hlouposti, a on si jen myslel, že jsem líný vývojář.

Nyní s ním mám spoustu kontaktů a jeho aplikaci přepisujeme úplně, vytvoříme úžasný kód odstraněním všech těchto zbytečných funkcí a vytvořením „čisté“ aplikace pro Android. Pevně ​​věřím, že zákazníci a společnosti si musí být těchto pokynů vědomi.

Knihovny jako ActionBarSherlock, HoloEverywhere (moje tvorba), UnifiedPreferences, a Posuvná nabídka jsou opravdu snadno použitelné a poskytují v několika řádcích kódu úžasný uživatelský zážitek.

Čas a náklady, jak jsem řekl, jsou minimalizovány dodržováním pokynů Google. Fragmenty a složky s rozložením se opravdu snadno používají (a co je důležitější znovu použít): aplikace pro tablety stačí popadnout část kódu z rozložení telefonu a nic se nesmí přepsat. Malé změny v aplikaci pro telefon se okamžitě projeví v aplikaci pro tablety, protože se používá stejný fragment.

Některé úžasné projekty vytváří komunita, ne vždy Google. Někteří lidé, kteří jsou na Google+ velmi aktivní, jako jsou Roman Nurik (Google), Reto Meier (Google) Juhani Lehtimäki, Jake Wharton, Taylor Ling,.. (Vždy se bojím zapomenout na důležité lidi) jsou velmi poučné. Vývojářům stačí vědět, kde hledat, a vývoj pro Android bude pro ně snadný!

Můžeš najít BeTrains na Google Play, a pokud se zajímáte o vývoj systému Android, budete se chtít podívat na HoloEverywhere.

Matthew Runo - Zappos

Na rozdíl od některých menších nezávislých vývojářů, se kterými jsme mluvili, jsme také slyšeli od Matthewa ze Zapposu. Zappos je webová maloobchodní společnost a pravděpodobně má vyhrazený rozpočet na design jak na svých webových stránkách, tak na svých aplikacích. Je to také společnost, od které pravidelně nakupuji, ale to nemělo žádný vliv a Matthew si nebyl vědom toho, že jsem častým zákazníkem, když se přihlásil.

Ve společnosti Zappos, protože jsme maloobchodní prodejci, se musíme především držet své vlastní značky. Šílený, zábavný a trochu mimo zeď. To znamená, že oba pevně věříme v pokyny pro design systému Android - a vše, co děláme v uživatelském rozhraní, je převzato z ducha těchto pravidel. Před rokem byla naše aplikace většinou portem iOS, jak vypadala a fungovala. Dnes je to (myslím) klenot toho, co můžete dělat v Androidu. Řídíme se pokyny, kdykoli je to možné - a naši návrháři z nich vycházejí jako s výchozím bodem.

Pokyny pro design nejsou všechny a končí - nakonec jsou jen tam, aby se pokusily prosadit design aplikací pro Android, aby byly konzistentnější. Zjistili jsme, že většina běžných „nových“ knihoven open source, které jsme používali, skončila jako součást pokynů (posuvné menu, kruton).

Pokyny by nikdy neměly být brzdou. Určité věci - celková navigace - musí být konzistentní, aby vaše aplikace „prostě fungovala“. Všechno ostatní - začněte pokyny a postupujte podle svého návrhu. Chceme, aby naše aplikace byla NAŠE APP - nemůžeme tedy dělat jen základní holo téma.

Letos jsme v podstatě začali od základního přepsání naší aplikace, abychom pracovali s fragmenty. Za posledních 6 měsíců jsme tvrdě pracovali na přidání podpory 7 "tabletů a v současné době pracujeme na podpoře 10". Nejtěžší věcí je testování na zařízeních, ale máme skvělý tým QA, který s tím pomáhá. Od srpna jsme měli na naší aplikaci 2 lidi na plný úvazek, předtím to byl 1 člověk na plný úvazek.

Sečteno a podtrženo, myslím, že pokyny pro design systému Android nám pomáhají zefektivnit náš proces - a tím snížit náklady. Přiznejme si to, většina návrhářů z iOS - takže mít skvělý zdroj, jako je design.android.com, je skvělá pomoc, jak je spustit v ekosystému Android.

Mohu říci, že Zapposovy možnosti designu fungují dobře a moje žena má skříň plnou šatů, peněženek a bot, které posilují mé tvrzení. Podívejte se na jejich Aplikace pro Android z Google Play.

Josh Burton - jRemote

Josh je autorem mnoha malých aplikací pro Android a jeho aplikace jRemote (je to ovladač pro populární jDownloader PC program) je dokonalým příkladem toho, jak pomocí rozvržení vytvořit aplikaci, která vypadá skvěle na telefonu i tabletu. Maximalizuje využití obrazovky zařízení a poskytuje vám hledané informace přesně tak, jak byste to očekávali.

Dodržování návrhových pokynů je docela jednoduché, pokud se jich budete držet hned od začátku. Vývoj celé aplikace a pak na konci návrat zpět a pokus o implementaci fragmentů / rozložení tablet atd. Bude ztrátou času, úsilí a frustrace. Pokud však plánujete svou aplikaci, vyvíjejte od začátku fragmenty a vytvářejte zdroje pro správné rozlišení kbelíky, je z toho hračka, a opravdu nemusíte trávit mnoho času přemýšlením o pokynech v Všechno. A pokud se zaseknete, jsou dokumenty o designu vzdálené jen jedno kliknutí. Jsou skvělým zdrojem.

Opravdu mě frustruje, že tolik zařízení nemá rozložení tabletů. Pokud je vaše aplikace vytvořena pomocí fragmentů, přidání rozložení tabletu lze provést za 30 minut. Upřímně, je to tak snadné.

Myslím, že pro mnoho vývojářů nemají tablety, které by mohli testovat, a používání emulátoru může být bolest. Ale právě vydané nové nástroje ADT to mnohem usnadňují. Zobrazení více konfigurací v editoru rozložení znamená, že můžete vidět, jak vypadá vaše rozložení na 5–6 různých velikostech obrazovky najednou. A je to rychlé. Samozřejmě budete muset nakonec otestovat emulátor / zařízení, ale rozhodně to urychlí pracovní postup.

jDownloader je užitečný program, který lze použít na ploše, a jRemote vypadá jako skvělý způsob jeho ovládání. Pokud nic jiného, stáhnout z Google Play a podívejte se, abyste viděli, jak může být aplikace jednoduchá a krásná zároveň.

Slyšeli jsme od spousty dalších vývojářů, kteří do značné míry říkají stejné věci. Právě nám není místo, abychom je všechny vypsali. Podstatou všeho je, že pokud plánujete dopředu, pokyny pro vývojáře Android ve většině případů opravdu fungují. Jsme rádi, že to slyšíme, a budeme si i nadále užívat skvělé aplikace a podporovat tvrdě pracující vývojáře.

Jedná se o nejlepší bezdrátová sluchátka, která si můžete koupit za každou cenu!
Je čas přestřihnout šňůru!

Jedná se o nejlepší bezdrátová sluchátka, která si můžete koupit za každou cenu!

Nejlepší bezdrátová sluchátka jsou pohodlná, skvěle znějí, nestojí příliš mnoho a snadno se vejdou do kapsy.

Vše, co potřebujete o PS5 vědět: Datum vydání, cena a další
Další generace

Vše, co potřebujete o PS5 vědět: Datum vydání, cena a další.

Společnost Sony oficiálně potvrdila, že pracuje na PlayStation 5. Tady je vše, co o tom zatím víme.

Nokia uvádí na trh dva nové levné telefony Android One s cenou do 200 $
Nové Nokie

Nokia uvádí na trh dva nové levné telefony Android One s cenou do 200 $.

Nokia 2.4 a Nokia 3.4 jsou nejnovější přírůstky do řady levných smartphonů HMD Global. Jelikož jsou obě zařízení Android One, je zaručeno, že budou dostávat dvě hlavní aktualizace operačního systému a pravidelné aktualizace zabezpečení až na tři roky.

Nejlepší přenosné okamžité fotografické tiskárny pro zařízení Android
Tiskněte na cestách!

Nejlepší přenosné okamžité fotografické tiskárny pro zařízení Android.

Jste v pohybu a vytváříte vzpomínky na svém mobilním telefonu. I když je digitální technologie skvělá, proč nezkusit tyto vzpomínky trochu zkrátit pomocí hmatatelné fotografie?

instagram story viewer