Ako vytvoriť aplikáciu pre Android pre figuríny. Vývoj a tvorba mobilných aplikácií: kde začať? Ako vytvoriť blogovú aplikáciu

Operačný systém Android sa každým rokom stáva nielen vhodným OS pre bežných používateľov, ale aj výkonnou platformou pre vývojárov. No, čo môžete robiť: Google sa vždy stretne s vývojármi na polceste a poskytne im množstvo príležitostí a výkonné nástroje obohatené o informačnú dokumentáciu.
Okrem toho by sme nemali stratiť zo zreteľa skutočnosť, že „zelený robot“ je lídrom v popularite medzi mobilnými operačnými systémami. To naznačuje, že programovaním pre Android budete mať široké publikum, ktoré môže neskôr priniesť zisk. Vo všeobecnosti je Android akousi „oázou“ pre vývojárov. Preto sme pre vás pripravili špeciálny výber programovacích jazykov, ako aj vývojových prostredí pre tento OS.
Pozor, malá rada pre začiatočníkov
: Programovanie pre Android sa môže na prvý pohľad zdať zložité alebo príliš monotónne. Tip: Skôr ako začnete, pozrite si odkazy na užitočnú dokumentáciu a programovanie v systéme Android pre vás potom nebude problém.

Java je hlavným nástrojom pre vývojárov Androidu

Vývojové prostredia: Android Studio (IntelliJ IDEA), Eclipse + doplnok ADT
Vhodné preširoké spektrum úloh
Java je hlavným jazykom pre programátorov Android, ktorý musí mať začiatočník. Hlavný zdrojový kód systému Android je napísaný v tomto jazyku, takže je ľahké pochopiť, prečo si väčšina ľudí vyberie tento jazyk. Aplikácie napísané v jazyku Java bežia na Androide pomocou virtuálneho stroja ART (alebo Dalvik v Jelly Bean a starších verziách Androidu), analógu virtuálneho stroja Java, o ktorý vedie Google vážny právny spor s Oracle.


Google v súčasnosti oficiálne podporuje pomerne výkonné vývojové prostredie Android Studio, ktoré je postavené na Intellij IDEA od JetBrains. Nezabudnite tiež na veľmi podrobnú dokumentáciu od Google, ktorá pokrýva všetko od match_parent a wrap_content až po konštruktory, konštanty a hlavné metódy triedy JavaHttpConnection – určite stojí za prečítanie.

Netreba zabúdať ani na Eclipse, veľmi obľúbené prostredie pre Java programátorov. S oficiálnym doplnkom ADT od spoločnosti Google sa táto súprava nástrojov stane vo vašich rukách výkonnou a ľahkou zbraňou. Chlapci z Mountain View však od minulého leta prestali podporovať Eclipse a dali priestor novému Android štúdiu. Odporúča sa na použitie na slabých počítačoch.

Požadovaná dokumentácia:

C++ je výkonný nástroj v rukách majstra

Hlavné vývojové prostredia: Android Studio (verzia 1.3 a vyššia), Visual Studio 2015, QtCreator
Vhodné pre herné motory a aplikácie náročné na zdroje.
C++ je programovací jazyk stredného veku, ale veľmi výkonný, ktorý minulý rok oslávil svoje tridsiate výročie. Bol vynájdený v roku 1985 vďaka úsiliu priateľa Björna Stroustrupa a dodnes obsadzuje popredné pozície najpopulárnejších programovacích jazykov. „Pros“ vám dávajú úplnú slobodu konania a obmedzujú vás len na to, čo je rozumné.




Počas celej existencie Androidu bolo vytvorených mnoho rámcov a vývojových nástrojov pre C++. Osobitne by som chcel vyzdvihnúť známe Qt a IDE QtCreator, ktoré umožňujú vyvíjať multiplatformové aplikácie pre Windows, Windows Phone, Windows RT, iOS, SailfishOS a Android (kedysi tento zoznam obsahoval aj Symbian). Okrem toho získate pohodlnú knižnicu kontajnerov, algoritmov a šablón Tulip, ktorá absorbuje to najlepšie z Javy a Androidu. A nakoniec získate mnoho rôznych QT modulov pre prácu na vysokej a nízkej úrovni so systémom. Váš skromný služobník kóduje konkrétne v C++ a Qt.

Minulý rok sa na konferencii Windows: The Next Champter venovala široká pozornosť pomerne obľúbenému vývojovému prostrediu Visual Studio 2015. Jednou z hlavných noviniek bola podpora vývoja aplikácií pre Windows Phone aj Android – Microsoft sa snažil nejakým spôsobom zvýšiť počet aplikácií pre váš OS.

Nemožno tiež nespomenúť, že oficiálne Android Studio začalo podporovať NDK. Pomocou NDK môžete pri práci s Androidom používať grafiku OpenGL. Ak potrebujete rýchlosť a efektivitu - vyberte si NDK! Tento spôsob vývoja je ideálny pre herné motory, ktoré vyžadujú vysoký výkon.

Vývoj pre Android v C alebo C++ sa môže zdať jednoduchší ako v Jave, no napriek tomu, že jazyk vám ponúka úplnú slobodu konania a neobmedzuje vás vo vašich krokoch, má niekoľko špecifických funkcií, ktorých naučenie zaberie veľa času - nie nadarmo sa C++ prirovnáva k nunchuckom (vynikajúca zbraň, ktorá si bohužiaľ vyžaduje veľkú zručnosť). Vývoj aplikácií pre Android v C a C++ však môže byť zábava.

Požadovaná dokumentácia:

Iné jazyky

Teraz je čas hovoriť o iných menej populárnych, ale pre nich aj zaujímavých jazykoch a frameworkoch. Z mnohých dôvodov však nebudete takí úspešní ako s Java a C++.

Corona (LUA Script)


Vhodné pre vytváranie hier a jednoduchých aplikácií
Ak sa z nejakého dôvodu nechcete učiť Javu alebo chápať vytváranie rozhrania cez XML, môžete si vybrať toto IDE. Corona je pomerne ľahké vývojové prostredie, kód v ktorom musí byť napísaný v pomerne ľahkom LUA (milovníci Pascalu to ocenia).

Táto sada nástrojov vám pomôže písať jednoduché 2D hry, pre ktoré existujú knižnice pre 2D objekty, zvuky, sieť a herný engine. Vytvorené hry pracujú s OpenGL, čo znamená vysokú efektivitu. Skvelé pre začiatočníkov, možno práve tu si môžete vytvoriť svoju prvú mobilnú aplikáciu pre Android!


Požadovaná dokumentácia:

Adobe PhoneGap (HTML5, JavaScript, CSS)


Vhodné pre vytváranie aplikácií nenáročných na zdroje
Ak už poznáte HTML, CSS a JavaScript, môžete ako alternatívu vyskúšať PhoneGap. Toto IDE vám umožní vytvárať plnohodnotné aplikácie vyvinuté vo vyššie uvedených programovacích a značkovacích jazykoch.

V skutočnosti sú hotové aplikácie z PhoneGap najjednoduchšie WebViews, ktoré sa oživili pomocou JavaScriptu. Pomocou rôznych rozhraní API môžete využívať rôzne funkcie zariadenia rovnako ako v natívnych aplikáciách. Zaujímavé je, že aplikácie sú kompilované na serveri a následne dostupné pre použitie v iOS, Android, Windows Phone, Web OS a BlackBerry OS. S takouto širokou funkcionalitou medzi platformami sa vývoj aplikácií môže výrazne urýchliť.


Požadovaná dokumentácia:

Poistka (JavaScript a UX)


Vhodné pre vytváranie jednoduchých aj zložitých aplikácií
Keď ľudia hovoria o vývojových nástrojoch pre Android, často si predstavia Fuse. Tento nástroj patrí k užívateľsky najprívetivejším svojho druhu a vývojárom môže poskytnúť širokú škálu možností a výhod.

Hlavná logika aplikácií Fuse je postavená na JavaScripte – jednoduchom a zrozumiteľnom jazyku s nízkym vstupným prahom. Základ rozhrania predstavuje označenie UX – intuitívne zrozumiteľné pre každého. „Buchty“ prostredia vám umožnia aplikovať zmeny priamo počas spustenia aplikácie na vašom zariadení alebo emulátore – rovnako ako v Android Studio 2.0 a novšom. S Fuse môže byť vývoj aplikácií pre Android jednoduchý a zábavný.

Požadovaná dokumentácia:

Slová "ku koncu"

Samozrejme, neukázali sme vám všetky aktuálne existujúce vývojové nástroje. Týmto článkom sme vám chceli vysvetliť, že stať sa vývojárom pre Android nie je až také ťažké, aj keď si to často vyžaduje úsilie a vytrvalosť. Svet vývoja pre mobilné platformy je vám otvorený, ale pamätajte: prvý krok je vždy na vás.

Ako a prečo vytvoriť mobilnú aplikáciu. Mobilná aplikácia nie je len nástrojom na komunikáciu, získavanie potrebných informácií či spôsob trávenia voľného času, ale je aj možnosťou zárobku, udržania si imidžu a efektívnej činnosti. S minimálnymi investíciami alebo úplne zadarmo môžete vytvárať mobilné aplikácie, ktoré uspokoja potreby spotrebiteľov a sú v podstate vaším vlastným mobilným prehliadačom, ktorý otvára iba vašu webovú stránku.

Idea

Zrod akéhokoľvek produktu začína myšlienkou jeho vytvorenia. Tvorca zakladá myšlienku na tom, čo je mu známe. Myslite na svoje záujmy a koníčky. Ak veľa cestujete alebo navštevujete rôzne verejné miesta vo vašom meste, prečo si nevytvoriť aplikáciu založenú na týchto znalostiach? Vytvorte aplikácie na počítanie kalórií a športové aplikácie, ak máte blízke skúsenosti s dietetikou alebo športom. Ak ste sa vždy zaujímali o astrológiu, môžete si vytvoriť aplikáciu hviezdnej mapy.

Mobilné aplikácie každým dňom naberajú na obrátkach a podľa niektorých prognóz môžu úplne vytlačiť internetové prehliadače a webové stránky.

Skúste myslieť mimo rámca a prísť s nápadom, ktorý nemá konkurentov, alebo naopak, analyzovať podobné nápady a vytvoriť aplikáciu, ktorá by bola pre používateľov lepšia, pohodlnejšia a užitočnejšia.

Typy aplikácií

Mobilné a webové prehliadače používa takmer každý spotrebiteľ mobilnej prevádzky. Patria sem všetky druhy máp, navigácia, hry, online služby na spracovanie fotografií, knižnice, miesta na ukladanie informácií, správy, prehrávače hudby, programy na prezeranie videa a mnoho ďalšieho. . Program vytvorený na použitie na mobilnom telefóne alebo smartfóne môže byť platený alebo bezplatný a je tiež rozdelený do typov v závislosti od riešených úloh:

  • zábavné (multimediálne) aplikácie - akékoľvek prehrávače video a audio súborov, programy na prezeranie obrázkov, na čítanie kníh, hry;
  • komunikácia - zodpovedný za komunikáciu užívateľa, jeho kontakty, sociálne siete, SMS správy;
  • navigácia - aplikácie, ktoré pracujú s geografickými súradnicami, so systémom GPS;
  • aplikované - všetky druhy kalkulačiek, organizérov, notebookov;
  • príručky - encyklopédie, slovníky;
  • obchodné aplikácie, ktoré vám umožňujú organizovať prácu, získavať zamestnancov, rozvíjať stratégie a zvyšovať zisky;
  • školiace programy.

Možnosti speňaženia

Ak nie ste Euroset alebo Megafon alebo internetový portál AliExpress, možno budete chcieť zarobiť peniaze vytvorením svojej aplikácie. Najjednoduchším spôsobom je vytvorenie platenej aplikácie. Tu si však musíte položiť niekoľko otázok:

  1. Aká je vaša ponuka a aký je prínos pre ľudí?
  2. Aké výhody má oproti svojim konkurentom?
  3. Koľko stiahnutí majú konkurenti?

Len ak si najprv správne vypočítate počet používateľov, ktorí budú mať pravdepodobne záujem o vašu aplikáciu, môžete si približne vypočítať, koľko môžete zarobiť.

Ďalšie možnosti speňaženia:

  • nákupy v aplikácii;
  • reklama v aplikácii;
  • sponzorstvo a ponuky;

rozvoj

Máte nápad, ale nemáte skúsenosti s programovaním, potom sú pre vás nasledujúce možnosti:

  • webová stránka AppBooker vám poskytne zoznam obľúbených vývojárov, berúc do úvahy váš rozpočet a potreby;
  • apps4all.ru - tu je dobrý zoznam domácich vývojárov;
  • Najlacnejšou možnosťou je ísť na freelancer burzu.
Najlacnejšie neznamená zlé, ale znamená viac riskantné: môžu vám urobiť skvelú aplikáciu, ale môžete získať aj bezohľadného zamestnanca.

Náklady na vývoj

Náklady na vývoj aplikácie závisia od jej typu, značne sa líšia od želania zákazníka a môžu sa pohybovať od 2,5 tisíc do 10 miliónov rubľov. Najdrahšie aplikácie, sú spravidla ďalšie bestsellery na dlhú dobu.

Ak chcete zistiť približné náklady na vývoj aplikácie, s ktorou ste prišli, môžete prejsť na stránku howmuchtomakeanpp.com. Nebojte sa rozdeliť výslednú cenu o 3 a zistiť náklady ruských výrobcov. Príklady vyplnených žiadostí a ich ceny nájdete na crew.co.

Ako vytvoriť aplikáciu zadarmo?

Ak máte aspoň minimálne znalosti programovania, potom vám môžu pomôcť dizajnéri online mobilných aplikácií. V nich si dávajte pozor na to, pre aký systém sa mobilná aplikácia píše, napríklad pre iPhone alebo Nokia Corporation, Android, Java. Najpopulárnejším systémom je Android. Algoritmus na vytváranie mobilnej aplikácie je podobný algoritmu na vytváranie webových stránok. Okamžite však majte na pamäti, že ak chcete vytvoriť niečo jedinečné v najvyššej miere, potom si váš vývoj bude vyžadovať peniaze alebo vážnu investíciu času.

Koľko môžete zarobiť?

Ak pristupujete k vývoju svojej aplikácie správne: preštudujte si obľúbené ponuky na trhu, vytvorte produkt, ktorý bude zaujímavý pre širokú verejnosť, používajte aplikácie pre rôzne operačné systémy – mesačne môžete zarobiť okolo 100 000 dolárov.

Štúdia vykonaná spoločnosťou Giga OM Pro ukázala, že takmer polovica opýtaných vývojárov mobilných aplikácií nezarába viac ako 200 dolárov mesačne. ? V prvom rade sa rozhodnite, čo do projektu investujete: čas alebo peniaze.

Ak sa bojíte dôverovať vývojárom, nechcete sa na nich spoliehať a platiť príliš veľa za podporu a aktualizáciu programu, vytvorte si aplikáciu sami.

Používaním online dizajnérov Je skutočne možné vytvárať funkčné a kvalitné mobilné aplikácie. V budúcnosti by mali byť propagované a zverejnené na Google Play a AppStore. Nákupy aplikácií generujú o 25 % nižší príjem ako nákupy v aplikácii, podľa výskumu spoločnosti Apple, ale o 30 % viac ako reklama v aplikácii a iné spôsoby zarábania peňazí.

S pozdravom Nastya Čechova

Článok popisuje hlavné ťažkosti pri vytváraní aplikácií pre Android.
Pokryté sú základné pojmy programovania pre Android.
Ako príklad je popísané vytvorenie hry Sudoku z knihy Hello, Android - Ed Burnette.
Buďte opatrní, existuje veľa snímok obrazovky.

1. Ťažkosti s vývojom

Android je jedinečný operačný systém. Vývojár aplikácie musí poznať jej vlastnosti a nuansy, aby dosiahol dobrý výsledok. Existujú určité výzvy, ktoré je potrebné vziať do úvahy pri navrhovaní (). Poďme si ich v krátkosti vymenovať:
1) Aplikácia vyžaduje dvakrát (alebo dokonca štyri) viac miesta na inštaláciu, než je pôvodná veľkosť aplikácie.
2) Rýchlosť práce so súbormi na vstavanom flash disku desaťkrát klesá s ubúdajúcim voľným miestom.
3) Každý proces môže využívať až 16 MB (niekedy 24 MB) pamäte RAM.

2. Princípy vývoja produktívnych aplikácií pre Android

Na fungovanie potrebujete Android SDK a Eclipse. Je napísané, ako všetko nainštalovať a začať.

Ak chcete načítať projekt do Eclipse, postupujte takto:
1) Rozbaľte projekt do samostatného priečinka v pracovnom priestore Eclipse.
2) Vyberte položku ponuky Súbor->Nový->Projekt Android.
3) V dialógovom okne Nový projekt Android vyberte možnosť Vytvoriť projekt z existujúceho zdroja.
4) V poli Umiestnenie zadajte cestu k priečinku s projektom. Kliknite na tlačidlo Ďalej.

Programové menu

Menu hry je popísané v súbore res/layout/main.xml. Popis rozhrania je možné upraviť ako XML alebo ako vykreslené rozhranie. Na prepnutie použite karty v spodnej časti oblasti zobrazenia obsahu.

Ovládacie prvky sú zvyčajne obsiahnuté v kontajneri, v našom prípade LinearLayout. Usporiada všetky prvky do jedného stĺpca.

Zdroje

Upozorňujeme, že všetky textové štítky (android:text) preberajú údaje zo zdrojov. Napríklad záznam android:text="@string/main_title" určuje, že text by sa mal hľadať v súbore res/values/string.xml v uzle s názvom main_title (Android Sudoku). Farba pozadia je tiež obsiahnutá v zdrojoch (android:background="@color/background"), ale v súbore color.xml (#3500ffff). Pri otváraní zdrojových súborov v editore sa môže vyskytnúť chyba. Vždy však môžete prepnúť na zobrazenie XML.

Ovládacie prvky, ku ktorým je potrebné pristupovať z kódu, musia mať ID. Tlačidlá majú ID (android:id="@+id/continue_button"), takže k tlačidlu je možné pripojiť obslužný nástroj kliknutia. Znamienko plus znamená, že musíte vytvoriť identifikátor pre tlačidlo v súbore /gen/org.example.sudoku/R.java (public static final int continue_button=0x7f0b000b;). Tento súbor sa generuje automaticky a neodporúča sa ho upravovať. Súbor obsahuje triedu R, prostredníctvom ktorej máte prístup k akémukoľvek prvku rozhrania a iným zdrojom.

Vytváranie systému Windows

Uvažujme o vytvorení okna s informáciami o programe. Rozloženie tohto okna je v súbore /res/layout/about.xml. Trieda Activity je popísaná v súbore /src/org.example.sudoku/About.java. Aktivita je spojená s označením v súbore AndroidManifest.xml. Tento súbor je možné zobraziť buď pomocou editora alebo ako XML. Na rôznych kartách editora môžete vybrať rôzne časti súboru. Časť Aplikácia obsahuje parametre aktivity. Všimnite si, že parameter Theme je :style/Theme.Dialog. Vďaka tomu je štýl okna viac podobný modálnemu dialógu.

Okno s informáciami o programe sa vyvolá z hodiny Sudoku kliknutím na tlačidlo O programe. Trieda Sudoku je napísaná tak, že sama spracováva udalosť Click (verejná trieda Sudoku rozširuje Activity implementuje OnClickListener). Metóda public void onClick(View v) určuje, ktoré tlačidlo spustilo udalosť, a spustí zodpovedajúci kód. Na zobrazenie okna About sa zavolá príslušný Intent.
case R.id.about_button:
Intent i = new Intent(this, About.class);
startActivity(i);
prestávka;

Obslužné programy udalostí možno nainštalovať aj na špecifické ovládacie prvky. Napríklad v triede Keypad sa pri vytváraní triedy nainštalujú handlery pre jednotlivé tlačidlá v metóde setListeners().

Jednoduchý dialóg

Používateľ by mal mať možnosť zvoliť si úroveň obtiažnosti. Toto je malý dialóg, v ktorom si musíte vybrať jednu z niekoľkých možností. Som veľmi rád, že na to nemusíte vytvárať samostatný zámer, ale stačí použiť triedu AlertDialog.
Pozrime sa na proces spustenia novej hry. Používateľ klikne na tlačidlo Nová hra. Obsluha kliknutia je metóda triedy Sudoku - onClick. Ďalej sa zavolá metóda openNewGameDialog, ktorá zobrazí dialógové okno výberu obtiažnosti a spustí hru so zvolenou úrovňou obtiažnosti. Tento dialóg je vytvorený pomocou triedy AlertDialog.

Private void openNewGameDialog() ( new AlertDialog.Builder(this).setTitle(R.string.new_game_title).setItems(R.array.difficulty, new DialogInterface.OnClickListener() ( public void onClick(DialogInterface dialoginterface startGame, int i) (i) )).zobraziť();

Upozorňujeme, že obsah dialógového okna (súbor tlačidiel) je zostavený z poľa reťazcov R.array.difficulty. Okamžite sa priradí obsluha kliknutia na dialógové tlačidlo, ktorá na základe čísla stlačeného tlačidla spustí novú hru s danou úrovňou obtiažnosti volaním metódy startGame.

Grafika

Trieda Game je zodpovedná za logiku hry. Tu sa načítajú úlohy a kontrolujú sa výherné podmienky. Trieda Game je Aktivita, ale rozhranie nie je popísané v XML, ale je vytvorené kódom. Metóda onCreate vytvorí zobrazenie:

PuzzleView = new PuzzleView(this);
setContentView(puzzleView);
puzzleView.requestFocus();

PazzleView je trieda odvodená od View, kreslí hracie pole a spracováva udalosti dotyku obrazovky (metóda onTouchEvent) a stlačenia klávesov (metóda onKeyDown).

Pozrime sa na proces kreslenia v systéme Android. Ak chcete kresliť, musíte preťažiť metódu onDraw. Metóda prijíma objekt Canvas, cez ktorý sa vykonáva kreslenie. Na nastavenie farieb sa vytvoria objekty triedy Paint. Farba je špecifikovaná vo formáte ARGB. Farbu je lepšie uložiť ako zdroje (súbor colors.xml). Farba nie je len trieda na ukladanie informácií o farbách. Napríklad pri kreslení textu obsahuje informácie o metóde tieňovania, type písma a zarovnaní textu.

Canvas obsahuje sadu metód na kreslenie grafiky (drawRect, drawLine, drawPath, drawText a iné).

Na optimalizáciu grafiky je lepšie zdržať sa vytvárania objektov a zbytočných výpočtov v metóde onDraw (uvažovaný príklad implementácie grafiky nie je optimálny).

Hudba

Trieda MediaPlayer sa používa na prehrávanie hudby. Do zdrojov bola pridaná hudba pre hru. Potrebné súbory stačí skopírovať do priečinka /res/raw (formáty WAV, AAC, MP3, WMA, AMR, OGG, MIDI).
Najprv musíte vytvoriť inštanciu triedy MediaPlayer:
mp = MediaPlayer.create(kontext, zdroj);
tu je kontext zvyčajne trieda, ktorá iniciuje spustenie hudby, zdroj je identifikátor zdroja s hudbou. Na ovládanie prehrávania použite metódy spustenia, zastavenia a uvoľnenia.

V hre sa hudba prehráva v hlavnom menu (spustené z triedy Sudoku) a v hre (spustené z triedy Game). Trieda Hudba bola vytvorená na ovládanie prehrávania. Trieda obsahuje statickú inštanciu MediaPlayer, čo eliminuje potrebu vytvárať samostatný projekt pre každé spustenie zvukového zdroja.

V triedach Sudoku a Game sú metódy onResume a onPause prepísané, v ktorých sa hudba spustí pri spustení aktivity a zastaví sa pri deaktivácii.

Závery

Príklad diskutovaný v článku nie je príliš zložitý, čo vám umožňuje pochopiť ho bez veľkého úsilia. Zároveň sa dotýka rôznych aspektov vývoja Androidu.

P.S. Veľká vďaka používateľovi

V každom biznise je najťažší začiatok. Často je ťažké dostať sa do kontextu, s čím som sa stretol, keď som sa rozhodol vyvinúť svoju prvú Android aplikáciu. Tento článok je pre tých, ktorí chcú začať, ale nevedia kde.

Článok pokryje celý cyklus vývoja aplikácie. Spoločne napíšeme jednoduchú hru Tic-Tac-Toe s jednou obrazovkou (v OS Android sa to nazýva Aktivita).

Nedostatok skúseností s vývojom v Jave by nemal byť prekážkou pre zvládnutie Androidu. V príkladoch sa teda nebudú používať konštrukty špecifické pre Javu (alebo budú čo najviac minimalizované). Ak píšete napríklad PHP a poznáte základné princípy vývoja softvéru, tento článok bude pre vás najužitočnejší. Na druhej strane, keďže nie som odborníkom na vývoj v jazyku Java, možno predpokladať, že zdrojový kód nespĺňa podmienky na označenie „najlepšie postupy pre vývoj v jazyku Java“.

Inštalácia potrebných programov a pomôcok

Uvediem zoznam potrebných nástrojov. Sú 3 z nich:

  1. IDE s podporou vývoja pre Android:
    • plugin Eclipse + ADT;
    • IntelliJ IDEA Community Edition;
    • Netbeans + plugin nbandroid;

Nástroje sa inštalujú vo vyššie uvedenom poradí. Nemá zmysel inštalovať všetky uvedené IDE (pokiaľ nemáte problém s výberom toho správneho). Používam IntelliJ IDEA Community Edition, jedno z najpokročilejších IDE pre Java, ktoré sú dnes k dispozícii.

Spustenie virtuálneho zariadenia

Po spustení AVD Manager a nainštalovaní ďalších balíkov (SDK rôznych verzií) môžete začať vytvárať virtuálne zariadenie s potrebnými parametrami. Pochopenie rozhrania by nemalo byť ťažké.

Zoznam zariadení

Vytvorenie projektu

Vždy sa rád pustím do práce, minimalizujem prípravné činnosti, ktoré zahŕňajú vytvorenie projektu v IDE, najmä ak je projekt vzdelávací a neplánuje sa vyrábať.

Takže, Súbor->Nový projekt:

Stlačením tlačidla F6 sa projekt zostaví, skompiluje a spustí na virtuálnom zariadení.

Štruktúra projektu

Predchádzajúca snímka obrazovky zobrazuje štruktúru projektu. Keďže v tomto článku sledujeme čisto praktické ciele, zameriame sa iba na tie priečinky, ktoré budeme používať v procese práce. Sú to nasledujúce adresáre: gen, res A src.

V priečinku gen existujú súbory, ktoré sa generujú automaticky pri zostavovaní projektu. Nemôžete ich zmeniť manuálne.

Priečinok res je určený na ukladanie zdrojov, ako sú obrázky, texty (vrátane prekladov), predvolené hodnoty, rozloženia.

src- toto je priečinok, v ktorom bude prebiehať hlavná časť práce, pretože tu sú uložené súbory so zdrojovým kódom nášho programu.

Prvé riadky

Hneď ako sa vytvorí Aktivita (obrazovka aplikácie), zavolá sa metóda onCreate(). IDE ho vyplnilo 2 riadkami:
super.onCreate(savedInstanceState); setContentView(R.layout.main);
Metóda setContentView (ekvivalentná tejto.setContentView) nastavuje rozloženie xml pre aktuálnu obrazovku. Ďalej budeme rozloženia xml nazývať „rozloženie“ a obrazovky „Aktivita“. Rozloženie v aplikácii bude nasledovné:

TableLayout je ideálny pre túto aplikáciu. Id môže byť priradené k akémukoľvek zdroju. V tomto prípade je TableLayout priradené id = main_l. Pomocou metódy findViewById() získate prístup k zobrazeniu:
súkromné ​​rozloženie TableLayout; // toto je vlastnosť triedy KrestikinolikiActivity public void onCreate(Bundle SavedInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = (TableLayout) findViewById(R.id.main_l); buildGameField() )

Teraz musíme implementovať metódu buildGameField(). Aby ste to dosiahli, musíte vygenerovať pole vo forme matice. Toto vykoná trieda Game. Najprv musíte vytvoriť triedu Square pre bunky a triedu Player, ktorej objekty vyplnia tieto bunky.

Square.java

balíček com.priklad; public class Square ( private Player player = null; public void fill (Player player) ( this.player = player; ) public boolean isFilled() ( if (player != null) ( return true; ) return false; ) public Player getPlayer () (vrátiť hráča; ) )

Player.java

balíček com.priklad; public class Player ( private String name; public Player (String name) ( this.name = name; ) public CharSequence getName() ( return (CharSequence) meno; ) )

Všetky triedy našej aplikácie sa nachádzajú v priečinku src.

Hra.java

balíček com.priklad; public class Hra ( /** * pole */ súkromné ​​štvorcové pole; /** * Konštruktor * */ public Game() ( pole = nový štvorec; squareCount = 0; // vyplnenie poľa pre (int i = 0, l = pole.dĺžka;

Inicializácia hry v konštruktore KrestikinolikiActivity.
public KrestikinolikiActivity() (hra = new Game(); game.start(); // bude implementované neskôr)

Metóda buildGameField() triedy KrestikinolikiActivity. Dynamicky pridáva riadky a stĺpce do tabuľky (herné pole):
private Button buttons = nové tlačidlo;
Riadok 8 vytvára objekt, ktorý implementuje rozhranie View.OnClickListener. Vytvorme vnorenú triedu Listener. Bude to viditeľné iba z KrestikinolikiActivity.
public class Listener implementuje View.OnClickListener ( private int x = 0; private int y = 0; public Listener (int x, int y) ( this.x = x; this.y = y; ) public void onClick(View view) ( Tlačidlo tlačidlo = (tlačidlo) zobrazenie; ) )
Zostáva implementovať logiku hry.
verejná trieda Hra ( /** * hráči */ hráči súkromní hráči; /** * pole */ súkromné ​​štvorcové pole; /** * začala sa hra? */ spustila sa súkromná boolovská hodnota; /** * aktuálny hráč */ súkromná Player activePlayer; /** * Počíta počet vyplnených buniek */ private int fill /** * Total cells */ private int squareCount /** * Constructor * */ public Game() ( pole = new Square; squareCount; = 0 // vyplnenie poľa pre (int i = 0, l = pole.dĺžka; i

Určenie víťaza

K.O. navrhuje, že víťazom v piškvorkách je ten, kto zoradí X alebo O do radu, ktorý sa rovná dĺžke poľa vertikálne, horizontálne alebo diagonálne. Prvá myšlienka, ktorá príde na myseľ, je napísať metódy pre každý prípad. Myslím si, že vzor reťazca zodpovednosti by v tomto prípade fungoval dobre. Poďme definovať rozhranie
balíček com.priklad; verejné rozhranie WinnerCheckerInterface ( public Player checkWinner(); )
Keďže Game má zodpovednosť určiť víťaza, implementuje toto rozhranie. Je čas vytvoriť virtuálnych „čiarových mužov“, z ktorých každý bude kontrolovať svoju stranu. Všetky implementujú rozhranie WinnerCheckerInterface.

WinnerCheckerHorizontal.java

balíček com.priklad; public class WinnerCheckerHorizontal implementuje WinnerCheckerInterface ( súkromná hra hry; verejná hra WinnerCheckerHorizontal (herná hra) ( this.game = hra; ) public Player checkWinner() ( štvorcové pole = hra.getField(); Player currPlayer; Player lastPlayer = null; for (int i = 0, len = pole.dĺžka;

WinnerCheckerVertical.java

balíček com.priklad; public class WinnerCheckerVertical implementuje WinnerCheckerInterface ( súkromná hra hry; verejná hra WinnerCheckerVertical (hra) ( this.game = hra; ) public Player checkWinner() ( štvorcové pole = hra.getField(); Player currPlayer; Player lastPlayer = null; for (int i = 0, len = pole.dĺžka;

WinnerCheckerDiagonalLeft.java

balíček com.priklad; public class WinnerCheckerDiagonalLeft implementuje WinnerCheckerInterface (privátna hra hry; verejná WinnerCheckerDiagonalLeft(herná hra) ( this.game = hra; ) public Player checkWinner() (štvorcové pole = game.getField(); Player currPlayer; Player lastPlayer = null =; int successCounter 1 pre (int i = 0, len = pole.dĺžka; i

WinnerCheckerDiagonalRight.java

balíček com.priklad; public class WinnerCheckerDiagonalRight implementuje WinnerCheckerInterface (privátna hra hry; verejná WinnerCheckerDiagonalRight(herná hra) ( this.game = hra; ) public Player checkWinner() (štvorcové pole = game.getField(); Player currPlayer; Player lastPlayer = null =; int successCounter 1 pre (int i = 0, len = pole.dĺžka; i
Poďme ich inicializovať v konštruktore hry:
//(....) /** * "Sudcovia" =). Po každom ťahu skontrolujú *, či existuje víťaz */ súkromný WinnerCheckerInterface winnerCheckers;
//(....) verejná hra() ( //(....) winnerCheckers = nový WinnerCheckerInterface; winnerCheckers = nový WinnerCheckerHorizontal(this); winnerCheckers = nový WinnerCheckerVertical(this); winnerCheckers = nový WinnerCheckerDiagonalLeft(this); winnerCheckers = new WinnerCheckerDiagonalRight(this) //(....) );
Implementácia funkcie checkWinner():
public Player checkWinner() ( for (WinnerCheckerInterface winChecker: winnerCheckers) ( Player winner = winChecker.checkWinner(); if (winner != null) ( return winner; ) ) return null; )
Po každom ťahu skontrolujeme víťaza. Pridajme kód do metódy onClick() triedy Listener
public void onClick(View view) ( Button button = (Button) view; Game g = game; Player player = g.getCurrentActivePlayer(); if (makeTurn(x, y)) ( button.setText(player.getName()) ; ) Víťaz hráča = g.checkWinner( if (winner != null) ( gameOver(winner); ) if (g.isFieldFilled()) ( // ak je pole vyplnené gameOver(); ) );
Metóda gameOver() je implementovaná v 2 variantoch:
private void gameOver(Player player) ( CharSequence text = "Hráč \"" + player.getName() + "\" vyhral!"; Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); game.reset ( ) private void gameOver() ( CharSequence text = "Draw"; Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); game.reset(); refresh(); )
private void refresh() ( Square field = game.getField(); for (int i = 0, len = field.length; i

Pripravený! Dúfam, že vám tento článok pomohol zorientovať sa vo svete vývoja Androidu. Ďakujem za pozornosť!

Video hotovej aplikácie

V skutočnosti uvedenie tohto nápadu do života nie je také ťažké a ani drahé, ako by sa na prvý pohľad mohlo zdať. Stačí mať dobrú predstavu o tom, čo presne od mobilnej aplikácie očakávate, a rozhodnúť sa, ako svoje ciele dosiahnuť.

Testovanie hypotéz: oplatí sa využívať online služby na vytváranie mobilných aplikácií?

Nie je žiadnym tajomstvom, že vytvorenie vlastnej mobilnej aplikácie si vyžaduje značné investície, čas a úsilie. Ale stojí to za to? Pri našej práci používame súbor metód na testovanie hypotéz našich klientov, aby sme sa uistili, že vyvíjaná aplikácia bude spĺňať očakávania firmy a používateľov.

V niektorých prípadoch môžete vykonať analýzu programu pred začatím vývoja systému Android alebo iOS sami bez veľkých finančných investícií.

Jedným zo spôsobov, ako skontrolovať hodnotu plánovaných úloh budúceho projektu, je krátky TTM (time to market), ktorého cieľom je v krátkom čase vydať minimálnu pracovnú verziu mobilnej aplikácie a získať zrýchlenú spätnú väzbu od používateľov.

Existuje mnoho spôsobov, ako dosiahnuť krátky TTM a rýchlo získať spätnú väzbu. Jedným z najlacnejších a umožňuje vám rýchlo skontrolovať potrebu vytvorenia programu Android pre existujúcu firmu sú online dizajnéri mobilných aplikácií.

Pre aké úlohy je toto riešenie vhodné:

  • Vytvorenie mobilnej verzie vášho webu
  • Rozšírenie predajných kanálov pre existujúci internetový obchod
  • Rozšírenie komunikačných kanálov medzi zamestnancami a klientmi
  • Zvýšte počet spravodajských kanálov pre svoj blog, webovú stránku, bulletin

Kedy takéto služby využiť?

  • Máte veľmi obmedzené finančné prostriedky
  • Váš nápad nemá technologicky zložité riešenia a je „typický“ pre trh
  • Úspech či neúspech po spustení aplikácie nebude mať výrazný vplyv na podnikanie
  • Hľadáte nový kanál na prilákanie klientov a projekt považujete za perspektívny

Výhody použitia:

  • Rýchla rýchlosť vývoja
  • Minimálna počiatočná investícia
  • Schopnosť rýchlo prijímať spätnú väzbu od klientov

nedostatky:

  • Obmedzená funkčnosť kalkulačiek
  • Limitovaný dizajn, animácia
  • Nízka kvalita práce pri vysokom zaťažení
  • Chyby v kóde, dlhý proces opravy chýb
  • Vo väčšine služieb je konečný produkt zverejnený a vlastnený službami, prostredníctvom ktorých bol vytvorený
  • Neexistuje spôsob, ako otestovať konkrétnu funkciu
  • Žiadne testovanie UX
  • Nekontrolovaná reklama

Ak potrebujete kvalitnú a multifunkčnú analýzu projektov, vývoj aplikácií pre Android alebo iOS, obráťte sa na profesionálov v InfoShell. Naši špecialisti pre vás vyvinú jedinečnú mobilnú aplikáciu, ktorá nenechá vašich zákazníkov ľahostajnými.

Ak sa rozhodnete urobiť si aplikáciu sami, vybrali sme pre vás niekoľko bezplatných/shareware služieb.

TOP-10 PROGRAMOV NA VYTVÁRANIE APLIKÁCIÍ PRE ANDROID A IOS

    Služba appsgeyser vám umožňuje previesť váš web, blog, video alebo stránku sociálnych médií na mobilnú aplikáciu pre Android s následným zverejnením v Google Play.

    – úplne zadarmo a neobmedzuje vás v počte používateľmi vytvorených aplikácií.

    Výhody platformy: pohodlné prezeranie aplikácií, programov, rýchla konverzia akéhokoľvek obsahu (video z YouTube, html dokument, web) do mobilnej aplikácie.

    V prvom rade je služba vhodná pre blogerov a spravodajské stránky. Pomocou vytvorenej aplikácie budete vedieť odhadnúť, koľko zhliadnutí sa zvýši po prvom zverejnení a podľa počtu inštalácií - aká naliehavá je potreba mobilnej verzie stránky medzi vašimi klientmi.

  1. www.theappbuilder.com

    TheAppBuilder ponúka nástroje pre obslužné aplikácie a programy. Pomocou tejto služby môžete vytvárať a konfigurovať aplikáciu potrebnú pre internú prácu vášho tímu. Pošlite všetkým oznámenie o zmene pracovného plánu reštaurácie, pripomeňte zamestnancovi zmenu pracovného plánu, zobrazte najnovšie správy spoločnosti.

    Ak plánujete interný produkt, skúste pomocou tejto služby urobiť testovaciu verziu aplikácie, čím sa presvedčíte, či zamestnanci budú takúto aplikáciu využívať a v akom prípade.

    Cena: individuálne na vyžiadanie.

  2. – služba, ktorá ponúka hotové riešenia pre biznis – aplikácie pre reštaurácie, hotely, nočné kluby, verejné organizácie. Dizajnér je určený na vytváranie mobilných programov pre Android (Android), Apple iOS, Mobile Web, Webpage. Aplikácia môže byť viacjazyčná.

    Služba umožňuje vykonávať neobmedzený počet zmien už zverejnenej aplikácie, bezpečný hosting.

    Náklady na vývoj jednej mobilnej aplikácie: 49 USD.

    je stránka pre návrhárov aplikácií v ruskom jazyku, ktorá vám umožňuje vytvárať funkčné aplikácie pomocou hotových šablón pre všetky populárne elektronické zariadenia (iPhone, Android, iPad, Android Tablet) bez akýchkoľvek znalostí programovania. Služba tiež ponúka jednoduchý spôsob umiestnenia aplikácie v obchodoch Google Play a Apple Store.

    Ceny: Vývoj mobilnej aplikácie pre Android a iOS – ZDARMA. Obchodný balík– 2 400 rubľov/mesiac (1 aplikácia, 3 000 inštalácií, zverejnenie v obchodoch, žiadna reklama). Balíček "Neobmedzený"– 3 700 rub./mesiac (1 aplikácia, neobmedzený počet inštalácií, zverejnenie v obchodoch, žiadna reklama). Balíček "Firemný"– 27 100 rubľov/mesiac (10 aplikácií, neobmedzený počet inštalácií, dodatočná ochrana obsahu, technická a poradenská podpora).

  3. www.mobileroadie.com

    – služba na vytváranie udalostí a spravodajských aplikácií. Pomocou tejto služby môžete kombinovať informácie o vašej spoločnosti na jednom mieste alebo sťahovať údaje o udalostiach zadaním kontaktov, fotografií, videí, článkov a noviniek do jednej aplikácie.

    Cena za použitie sa líši v závislosti od balíka služieb: Základný balík– 149 $ mesačne alebo 1 499 $ ročne, vám umožní vytvoriť jednoduchú aplikáciu bez zložitých technických riešení a externých služieb. Pro balíček– 799 $ mesačne alebo 7 999 $ ročne, vám umožní pripojiť externé služby a konfigurovať obsah aplikácie z administračného panela.

  4. – služba pre súkromných podnikateľov a malé podniky. Tvorcovia tvrdia, že vytvorenie aplikácie vám zaberie 20 minút. Vytvorené aplikácie vám umožnia založiť nový kanál komunikácie so zákazníkmi a zbierať spätnú väzbu, urobiť mobilnú verziu webu alebo hotovú mobilnú aplikáciu.

    Nezanedbateľnou výhodou služby je úplná absencia reklamy a možnosť vývoja aplikácií pre elektronické zariadenia na iOS, Android (Android) a Windows Phone.

    Ceny: Bezplatné a platené balíčky sú k dispozícii na webovej stránke: Základy aplikácie- 1 $ mesačne App Pro- 9 $ mesačne Neobmedzený predajca- 39 dolárov mesačne.

    Appery– platforma pre vývoj podnikových aplikácií pre iOS, Android (Android) a Windows Phone. Dizajnér je nasadený v cloude, čo eliminuje potrebu inštalácie programov na pevný disk a je určený na vytváranie funkčných podnikových aplikácií.

    Výhody: pohodlný vizuálny editor, možnosť pridania vlastných pluginov, široká škála nástrojov pre vývojárov Android a iOS, prepojenie databáz a služieb tretích strán.

    Ceny balíčkov: Základná verzia: 30 $ Štandardná verzia: 30 USD (platba na 12 mesiacov), 45 USD (mesačná platba). Verzia Pro: 57 USD (platba na 12 mesiacov); 85 USD (mesačná platba).

    – platforma pre vlastný vývoj mobilných aplikácií pre iPad, iPhone, Android, HTML5. Okrem mnohých svojich výhod vám služba umožňuje vytvárať aplikácie elektronického obchodu s povolenou monetizáciou.

    Ceny: Základné– 22,90 $ mesačne alebo 19,90 $ mesačne (ak sa platí ročne) Pokročilé– 58,90 $ mesačne alebo 49 $ mesačne (účtované ročne) Neobmedzené– 139,90 dolárov mesačne alebo 119,90 mesačne (ak sa platí ročne).

    – platforma umožňuje užívateľovi jednoducho vytvoriť funkčnú aplikáciu pre Android a iOS (iPhone, iPad) pre malé a stredné podniky. V BiznessApps vytvoríte mobilnú aplikáciu pomocou stoviek hotových šablón.

    Ceny balíčkov: Mobilná stránka- 29 dolárov mesačne Mobilná aplikácia- 59 dolárov mesačne.

  5. www.viziapps.com

    – služba umožňuje vytvárať mobilné aplikácie pre biznis pomocou funkčného vizuálneho editora. Prostredníctvom platformy je ľahké implementovať nové rozhrania pre SalesForce, QuickBooks, QuickBase, Google Spreadsheets a SQL databázy. Aplikácie vytvorené vo Viziaapps fungujú na všetkých populárnych typoch mobilných OS.

    Ceny balíčkov: Vývojár- 33 dolárov mesačne Pro- 79 dolárov mesačne Premium- 129 dolárov mesačne.

    * Vyžaduje sa ročná platba.

    Rovnako ako pri webových stránkach, aj pri vytváraní vášho produktu pomocou online dizajnérov sa na vás valia mnohé obmedzenia. Príklady obmedzení:

    • Aplikácia sa ťažko integruje s externými službami, ktoré neposkytuje dizajnér.
    • Pri používaní bezplatných online návrhárov podliehate vážnym obmedzeniam, ako je reklama vo vašom produkte, zhromažďovanie údajov o produkte a zákazníkoch a funkčné obmedzenia.
    • Vytvorený produkt sa ťažko škáluje. Ak počet používateľov narastie, vaše riešenie prestane fungovať alebo môže byť pre používateľov nedostupné. Aplikáciu tiež nebudete môcť preniesť na alternatívne platformy používania (napríklad yandex.store, ktorý je populárny v SNŠ alebo Amazon v USA).

    Aplikácie vytvorené pomocou on-line dizajnérov slúžia na testovanie hypotéz vášho projektu. Ak však dostanete negatívnu spätnú väzbu a váš projekt nie je ocenený, skôr ako ho odložíte, zistite, čo presne bolo kľúčom k neúspechu. V opačnom prípade riskujete stratu ziskového projektu v dôsledku zlej implementácie.