MIT App Inventor – kdokoli může vytvořit mobilní aplikaci. Vývoj rozšíření pro App Inventor: úvod Stáhněte si aplikaci v app inventor

App Inventor- vizuální vývojové prostředí pro Android aplikace, které od uživatele vyžaduje minimální znalosti programování. Původně vyvinutý v Google Labs, po uzavření této laboratoře byl převeden do Massachusetts Institute of Technology. Zpočátku březen 2011 v roce Massachusetts Institute of Technology spustil veřejnou beta verzi projektu, která je dostupná na webu appinventor.mit.edu.

Toto vývojové prostředí funguje přímo z prohlížeče. Není potřeba nic stahovat ani instalovat. Výsledek lze zobrazit na zařízení Android. Hotové aplikace lze umístit na Play Market.

Od srpna 2015 podporuje App Inventor 2 ruský jazyk.

V online editoru MIT App Inventor 2 jsou aplikace stavěny na základě standardních komponent, které jsou hlavním prvkem vývoje aplikací pro Android.
App Inventor blokuje. Důležité pojmy a principy

Bloky App Inventor jsou nástroje pro manipulaci s komponentami a vypadají jako hádanky.

Bloky v tomto návrháři aplikací pro Android jsou rozděleny do dvou velkých skupin podle toho, co ovlivňují a čeho se týkají:

  • přímo souvisí s komponentami
  • související s aplikací jako celkem

Začněme s bloky, které patří ke komponentám. Lze je rozdělit do tří typů, které jsou snadno rozlišitelné podle barvy:

1. bloky popisující vlastnosti součásti. Jsou zelené a vypadají takto:

tento blok označuje aktuální vlastnost komponenty. Tento obrázek ukazuje barevný blok pozadí pro textovou komponentu TextBox1. Zahrnuje získání existující hodnoty.

a tento nastaví komponentě požadovanou hodnotu (dejte TextBox1 barvu pozadí...). "set" - sada. Tento typ bloku vlastností lze klasifikovat jako příkazy (handlery), protože ve skutečnosti dává příkaz ke změně jakékoli vlastnosti komponenty, včetně hodnot polí. Vývojáři App Inventor se však rozhodli takto - koneckonců i to jsou vlastnosti.

2. bloky událostí, tedy takové bloky, které sledují výskyt události v aplikaci, například stisknutím tlačítka a následným spuštěním příkazu bloku. Jsou natřené bronzem a vypadají takto:

tento blok například provede akci, když se klikne na tlačítko (když se klikne na Button3...)

3. příkaz block, v App Inventoru se tento blok často nazývá handler. Tento blok určuje, co je třeba udělat s komponentou, ke které blok patří:

Tento konkrétní blok volá data z časovače zařízení.

Druhá skupina bloků relevantní pro celou aplikaci, je organizován poněkud jinak.

Pro začátek zde je seznam jejich podskupin:

  • Logické bloky– logické bloky
  • Matematické bloky– matematické bloky
  • Textové bloky– textové bloky
  • Vypisuje bloky– bloky pro správu seznamů
  • Barevné bloky– bloky pro správu barev
  • Variabilní bloky– bloky pro řízení proměnných
  • Bloky procedur– bloky procedur.

Všechny, s výjimkou bloků procedur, jsou zabudovány do jiných bloků. To znamená, že nemohou sloužit jako počáteční blok, na rozdíl od bloků událostí patřících komponentám - všechny akce se provádějí, když se u komponent vyskytnou nějaké události.

Zde stojí za to mluvit více o typech „puzzlí“. Pravděpodobně jste si všimli, že existují čtyři typy hádanek.

Z jejich podoby je zcela zřejmé, že jakýkoli řetězec v mobilní aplikaci začíná prvním typem. Toto je událost a je zcela logické, že iniciuje všechny další akce. A tento typ se neliší od toho, který byl přijat v tomto návrháři aplikací pro Android.

Následující dva typy bloků však podle typologie App Inventor patří k různým typům: vlastnosti a příkazy (handlery). Ale podle tvaru hádanky a významu je lze klasifikovat jako příkazy, protože nastavují akci. řekněme druhý puzzle znázorněné na obrázku dává příkaz k přiřazení konkrétní hodnoty komponentě, A třetí hádanka - volání komponenty s konkrétní hodnotou. Kromě toho jsou tyto hádanky „střední“ a nelze je použít k dokončení řetězce.

Ale čtvrtý druh je konečnou hodnotu, existující nebo vypočítanou, a končí s ní řetězce. Například čtvrtý obrázek představuje aktuální hodnotu komponenty Clock1.

IT společnost vyhlašuje soutěž na vývoj mobilních aplikací pro OS Android, vytvořených v programovacím jazyce App Inventor.

Termíny konání soutěže
  • Příjem a registrace soutěžních prací: od 1. ledna do 15. května 2017.
  • Recenze prací soutěžní poroty - od 15. května do 30. května 2017.
  • Vyhlášení výsledků soutěže 30. května na soutěžním portálu.

Rád bych začal tím, že existuje několik článků o habrahabr a geektimes o předchozí verzi App Inventor. Tady jsou:

MIT otevírá Google App Inventor ve verzi beta
App Inventor – vytváření aplikací pro Android pro každého: Lekce 1
Čtení souboru XML pomocí aplikace App Inventor

Tato verze aplikace App Inventor (beta) fungovala v letech 2011 až 2015, ale již není podporována. Od roku 2014 běží verze App Inventor 2, která je nekompatibilní s tou předchozí. Do roku 2011 existovala verze Google App Inventor v rámci Google Labs
App Inventor je tedy vizuální vývojové prostředí pro aplikace Android, které od uživatele vyžaduje minimální znalosti programování. Vypadá to takto:

Toto vývojové prostředí funguje přímo z prohlížeče. Není potřeba nic stahovat ani instalovat. Aplikace můžete vytvářet buď z tabletu Android, nebo z iPadu. Hlavním požadavkem na hardware je dobré rozlišení obrazovky. Jako příklad uvedu screenshot z obrazovky s rozlišením FullHD. Můžete jej porovnat s předchozím, který byl vyroben z HD obrazovky.


Hotové aplikace lze umístit na Play Market, například dám vývojářský účet, ve kterém jsou všechny aplikace vytvořeny v App inventor.
Nebudu podrobně popisovat MIT App inventor 2, jelikož se od předchozí verze liší především mnoha drobnými vylepšeními, která vycházejí v průměru jednou za několik týdnů. Po přečtení výše zmíněných článků snadno zvládnete aktuální verzi.
Na VKontakte je docela hodně života společenství, ve kterém účastníci vzájemně sdílejí své zkušenosti s používáním App Inventoru.
Část 2. Projekty App Inventor+Arduino.
V poslední době se rychle rozvíjí téma „internet věcí“. Mnoho projektů na toto téma používá Arduino. Někdy v takových projektech potřebujete vytvořit aplikaci pro Android a zde možná budete potřebovat App Inventor 2. Na toto téma existuje několik článků o habrahabr a geektimes.
1. Projekty App Inventor+Arduino pomocí připojení Bluetooth. (modul bluetooth HC-05\06\07)
Robotický vysavač na Arduinu
Jednoduchý Bluetooth stroj na Arduinu
Bluetooth dálkové ovládání pro TV pomocí arduino
2. Projekt App Inventor+Arduino využívající wi-fi připojení (wi-fi modul ESP8266)
Internet věcí (IoT) a instalatérství
3. Projekt App Inventor+Arduino pomocí kabelového připojení (ethernetový modul Enc28j60)
Ovládání hlasitosti vícezónového zesilovače pomocí aplikace pro Android a Arduino
4. Projekt App Inventor+Arduino využívající připojení GPRS/GSM (GPRS/GSM shield SIM900)
Ovládání vytápění ve venkovském domě
No, rád bych skončil pozitivní zprávou, že od srpna 2015 App Inventor 2 podporuje ruský jazyk. Pokud má někdo vlastní zajímavé aplikace vytvořené v tomto vývojovém prostředí, můžete je zveřejnit v komentářích, myslím, že mnohé bude zajímat, jaké další aplikace lze pomocí App Inventoru vytvořit.
P.S. Sbírka více než 100 vzdělávacích materiálů o Arduinu pro začátečníky i profesionály
P.P.S. Online kurz Arduina na Giktimes

Vestavěnou funkčnost App Inventor můžete zvýšit pomocí webových technologií a rozšíření. Na internetu najdete placená i bezplatná rozšíření (asi 200 na puravidaapps.com), ale vyvstávají otázky: jak těžké je vytvořit si vlastní, co umí a stojí za to nad tím trávit čas nebo je lepší dělat něco jiného?

Všechny komponenty a bloky dostupné v App Inventoru jsou vestavěné (interní) a rozšíření jsou externí.

Vestavěné funkce poskytují zajímavou funkcionalitu pro začínající uživatele, uspokojivé pro zkušené a nedostatečné pro programátory. Většina uživatelů však raději stáhne hotová rozšíření, než aby je vyvíjela. Z toho plyne jednoduchý závěr, že vývoj rozšíření může zajímat hlavně zkušené uživatele a nadšence. Začátečníci budou celkem spokojeni s vestavěnými možnostmi a dostupnými rozšířeními, ale programátoři nemají zájem o práci s rozšířeními kvůli nutnosti dvojité práce. Proč trávit čas vytvářením a laděním rozšíření s omezenou funkčností a poté jej používat k vytvoření aplikace s omezenou funkčností, když můžete okamžitě psát kód v Javě a využívat všechny dostupné funkce Android Studio IDE a Android API?

Vytváření rozšíření pro AI není obtížné, pokud máte nějaké zkušenosti s programováním a rozumíte základům OOP, ale z výše uvedených důvodů se do toho vážně zabývají jen někteří. Je nepraktické psát funkční rozšíření, ale psaní jednoduchých doplňků pro rozšíření vestavěných funkcí nebo vytváření nových může být zábavné a užitečné z hlediska praxe. Zde je ale potřeba rozhodnout o přístupu. Můžete buď následovat koncept AI – vizuální programování, nebo jej rozšířit o prvky textového programování.

Zhruba řečeno, App Inventor je jako ledovec, jehož špička je pro uživatele viditelná v podobě vestavěné funkcionality a mnohem více je pod vodou a je nepřístupná. To se děje konkrétně v souladu s účelem tohoto IDE, které od uživatelů vyžaduje minimální znalosti programování. Pracovní model, který je součástí App Inventoru, není původně navržen pro větší funkčnost. Přidání nových vlastností způsobí, že počet bloků poroste exponenciálně. Například přidání vlastnosti průhlednosti bude mít za následek dva bloky pro každý widget (pro nastavení a vrácení hodnoty). Pokud je takových widgetů 5, pak se počet bloků zvýší o 10. Přidali jsme 10 vlastností a výstupem bylo 100 bloků. Kromě toho se v návrháři objeví nová pole vlastností. Za těchto okolností se zdá být přístup „jednoduché IDE + rozšíření“ rozumný, ale ne pro ty, kteří preferují dobrou funkčnost hned po vybalení, aniž by museli hledat a instalovat doplňky.

Individuální nastavení vlastností objektů a určení tuhého spojení bloků ve fázi vývoje aplikace na jedné straně zjednodušuje vývoj a zamezuje velkému množství chyb, vede však ke vzniku statických aplikací. Pokud je jeden blok připojen k jinému bloku, je to navždy. Za běhu aplikace můžete změnit vlastnost nebo vybrat jiný objekt, pouze pokud byla tato funkce původně zahrnuta ve fázi vývoje. K tomu je potřeba využít nepřímý přístup k objektům. Můžete například vytvořit seznam párů název-objekt pro všechny objekty a pak jej použít ve funkcích pro přístup k různým objektům. V tomto případě nebude přijímací blok spojen s konkrétním objektem, ale se seznamem, ze kterého lze požadovaný pomocí klíče jeho názvu získat.

Pokud k výše uvedenému přidáme potíže s implementací skupinových operací, nedostatek widgetů, metod a dalších nuancí vestavěné funkčnosti, pak bude zřejmý důvod vzhledu AppyBuilder, Thunkable, Makeroid atd. u kterých je realizováno zvýšení funkčnosti díky počtu komponent. Více komponent - více bloků. S pomocí rozšíření ale můžete funkčnost zvýšit kvalitativně, například pomocí jednoho bloku přistupovat k desítkám vlastností desítek objektů. To je opravdu zajímavé, protože doplňuje vizuální programování o textové prvky, které kompenzují řadu nedostatků vestavěné funkce AI.

Budou ti s malými znalostmi programování schopni vytvářet rozšíření? Ano, prostí lidé to zvládnou pomocí přístupu „kopíruj a změň“, ale stále je nutná určitá příprava. Bez něj nebude jasné, proč se rozšíření nezkompiluje a co je napsáno na obrazovce. Je třeba také říci, že část rozšíření, která pracuje s objekty Android, je pohodlnější vytvořit a ladit v Android Studiu.

Vývoj rozšíření je vhodný pro ty, kteří se v zásadě spokojili s App Inventorem, ale rádi by něco přidali, vylepšili a zjednodušili a zároveň se procvičili v Javě. Pokud je to váš případ, pak začněme nasazením vývojového prostředí.

Na VKontakte existuje skupina Rozšíření pro App Inventor, kde jsou ve video a textové podobě uvedeny podrobné pokyny k vytváření a konfiguraci pracovního prostředí a také jednoduchý příklad, který vrací slovo Test. Nemá smysl duplikovat tento materiál, ale podívejme se na samotný příklad jako na rychlý úvod do tématu.

balíček vlad; import com.google.appinventor.components.runtime.*; importovat com.google.appinventor.components.annotations.DesignerComponent; import com.google.appinventor.components.annotations.DesignerProperty; importovat com.google.appinventor.components.annotations.PropertyCategory; importovat com.google.appinventor.components.annotations.SimpleEvent; import com.google.appinventor.components.annotations.SimpleFunction; import com.google.appinventor.components.annotations.SimpleObject; import com.google.appinventor.components.annotations.SimpleProperty; importovat com.google.appinventor.components.common.ComponentCategory; import com.google.appinventor.components.common.PropertyTypeConstants; importovat com.google.appinventor.components.common.YaVersion; import com.google.appinventor.components.runtime.util.SdkLevel; @DesignerComponent(verze = YaVersion.NOTIFIER_COMPONENT_VERSION, category = ComponentCategory.EXTENSION, description = "Toto je testovací rozšíření", nonVisible = true, iconName = "images/notifier.png") @SimpleObject(external=true) veřejná finální třída TestExtension rozšiřuje AndroidNonvisibleComponent implementuje komponentu ( public TestExtension(ComponentContainer container) ( super(container.$form()); ) @SimpleFunction(description = "Tato funkce vrací řetězec \"Test\"") public String Test() ( return "Test ";))

Kód rozšíření obsahuje kód Java třídy a poznámky začínající symbolem @. Anotace se používají k označení, že blok kódu pod ním by měl být zpracován jednoduchým kompilátorem. Jednoduchý kompilátor se podívá na anotace a integruje rozšíření do vývojového prostředí App Inventor – vytvoří blok (funkci nebo vlastnost) pro zadanou funkci, editační pole v návrháři a provede další práci.

@DesignerComponent označuje obecné parametry komponenty a to, že je kategorizována jako rozšíření a je nevizuální (momentálně lze vytvářet pouze nevizuální komponenty rozšíření)

@SimpleObject označuje komponentu a pole external=true označuje, že komponenta je externí

@SimpleFunction sdělí kompilátoru funkci, pro kterou má vytvořit blok. Pokud funkce vrátí hodnotu, objeví se na její levé straně zářez. Pokud má funkce parametry, pak budou odpovídající zářezy na pravé straně.

Zdrojové kódy tříd lze prohlížet v adresářích odpovídajících názvům balíčků:

com/google/appinventor/components/runtime – třídy vestavěných objektů.
com/google/appinventor/components/annotations – třídy anotací
com/google/appinventor/components/common – běžné třídy
com/google/appinventor/components/runtime/util - třídy utilit

V současné době můžete pomocí rozšíření vytvořit pouze nevizuální komponentu. Pokud potřebujete vytvořit vizuální komponentu, kterou lze přetáhnout na pracovní plochu návrháře, jako jsou vestavěné widgety, budete k tomu potřebovat vlastní místní kopii App Inventor.

Zkuste změnit štítek, zkompilovat, nainstalovat a spustit blok. Pokud vše klaplo, je pracovní prostředí nastaveno a můžete přejít k vytváření praktičtějších a zajímavějších věcí.

V tomto příspěvku vám představím MIT App Inventor 2 software a já vám ukážu, co potřebujete, abyste mohli rychle začít vytvářet aplikace pro Android, které spolupracují a ovládají vaše Arduino.

Zde je obsah, který bude zahrnut v tomto příspěvku:

  • Proč je MIT App Inventor 2 dobrou volbou?
  • Přístup k MIT App Inventor 2
  • Jak ovládat Arduino pomocí MIT App Inventor (Bluetooth)
  • Přehled aplikace MIT App Inventor
  • Projekty s MIT App Inventor
  • Android aplikace pro Arduino s MIT App Inventor 2

Představujeme MIT App Inventor 2

MIT App Inventor 2 je jednoduchá a intuitivní bezplatná služba pro vytváření aplikací pro Android. Pokud chcete začít s MIT App Inventor, nemusíte do počítače stahovat ani instalovat žádný program, protože software je založen na cloudu, takže si aplikace vytváříte přímo ve svém prohlížeči (Chrome, Mozilla, Safari, Internet Explorer atd.).

Například pro vytváření aplikací potřebujete pouze připojení k internetu.

Proč je MIT App Inventor dobrou volbou?

  • MIT App Inventor 2 je intuitivní a snadno se používá.
  • Nemusíte být odborníkem na programování nebo design, abyste mohli vytvářet úžasné aplikace, které mohou dělat užitečné věci.
  • Vytvoření návrhu je stejně snadné jako výběr a umístění widgetů na obrazovku smartphonu.
  • Kód se provádí pomocí bloků puzzle typu drag and drop.

Každý se může naučit, jak vytvářet vlastní aplikace pomocí MIT App Inventor 2 s několika hodinami cvičení.

Přístup k MIT App Inventor 2

Nejběžnější moduly Bluetooth používané s Arduino jsou HC‑05 bluetooth, HC-04 a HC-06.

Další informace o modulu bluetooth naleznete v tomto příspěvku na blogu:

Modul Bluetooth pracuje se sériovými daty. To znamená, že Arduino odesílá informace a modul Bluetooth je přijímá přes sériový port (a naopak).

Následující obrázek vysvětluje, jak informace proudí z aplikace pro Android do Arduina.

Váš smartphone odesílá informace do modulu Bluetooth přes Bluetooth. Poté modul Bluetooth odešle informace prostřednictvím sériové komunikace do Arduina. Tento tok funguje i obráceně: Arduino posílá informace do Bluetooth modulu, který je posílá do smartphonu přes Bluetooth.

Přehled aplikace MIT App Inventor

Toto je kurz krok za krokem, který vám pomůže vytvářet skvělé aplikace pro Android pro Arduino, a to i bez předchozích zkušeností! Kolekce 8 + 1 projektů.

Doufám, že pro vás byl tento příspěvek užitečný.

Instalace softwaru Windows pro instalaci App Inventor má dvě části:

  1. Instalace softwarového balíčku App Inventor Setup. Tento krok je stejný pro všechna zařízení Android a stejný pro Windows XP, Vista, Windows 7, 8.1 a 10.
  2. Pokud se rozhodnete pro připojení k zařízení použít kabel USB, budete muset nainstalovat ovladače systému Windows pro svůj telefon Android.

POZNÁMKA: App Inventor 2 nefunguje s Internet Explorerem. Pro uživatele systému Windows doporučujeme použít jeden z nich Chrome nebo Firefox jako váš prohlížeč pro použití s ​​App Inventor.

Instalace softwarového balíčku App Inventor Setup

Instalaci musíte provést z účtu, který má oprávnění správce. Instalace prostřednictvím účtu, který není správcem, není v současné době podporována.

Pokud jste nainstalovali předchozí verzi instalačních nástrojů App Inventor 2, budete je muset před instalací nejnovější verze odinstalovat. Postupujte podle pokynů v části Jak aktualizovat instalační software aplikace App Inventor.

Vyhledání instalačního softwaru

Ve většině případů by měl být App Inventor schopen najít instalační software sám. Ale pokud se zeptá na umístění softwaru, cesta k zadání je C:\Program Files\Appinventor\commands-for-Appinventor. Pokud používáte 64bitový počítač ((Jak zjistit, zda používáte 64bitový systém Windows) , měli byste zadat Program Files (x86) spíše než Program Files. Pokud jste software nenainstalovali jako správce , byl nainstalován do vašeho místního adresáře, nikoli do C:\Program Files. Budete jej muset vyhledat, abyste našli správnou cestu.




Nahoru