Annons
Välkommen till MakeUseOfs guide för att skapa din egen Android-app. I den här guiden tar vi en titt på varför du vill skapa en egen Android-applikation, några alternativ du har för att bygga den och hur du gör den tillgänglig för andra.
Introduktion till Android-utveckling
Det finns två primära sätt att utveckla en Android-app. Det första är att skriva det från början, troligen i Java. Men detta förutsätter naturligtvis att du redan känna till Java eller ha tålamod att lära sig det Så, vill du utveckla Android-appar? Så här lär du digEfter så många år skulle man kunna tro att mobilmarknaden nu är mättad med alla appar man kan tänka sig – men så är det inte. Det finns många nischer som fortfarande behöver... Läs mer innan du dyker in. Men vad händer om du längtar efter att komma igång direkt?
Det andra alternativet är en av peka-och-klicka-appbyggarna på marknaden. Många av dessa riktar sig till företagsanvändare (och kommer med en företagsprislapp). Men MIT erbjuder sin "App Inventor", ett onlineverktyg som låter dig bygga din app visuellt. Du kan åstadkomma några snygga saker med App Inventor, som kommer att hålla dig sysselsatt tills du kan gräva i Java och få tillgång till alla kraftfulla funktioner på Android-plattformen.
I avsnitten nedan kommer vi att bygga en prototypversion av en enkel "scratchpad"-applikation, som lagrar texten du skriver in i den. Vi gör detta först i App Inventor och förhandsgranskar resultaten i en Android-emulator. Sedan utökar vi den här applikationen med möjligheten att välja bland flera filer, vilket gör det mer av ett "anteckningsblock". För den här typen av förbättringar måste vi dyka in i Java och Android Studio.
Redo? Låt oss komma till det.
Varför utveckla för Android?
Det finns många anledningar till att du vill skapa din egen Android-app, inklusive:
- Nödvändighet: Det är uppfinningens moder, trots allt. Efter att ha letat efter din drömapp i Play Butik kanske du inser att det är något du kommer att göra behöver bygga själv 4 frågor att ställa dig själv innan du lär dig kodaAtt lära sig ett programmeringsspråk är populärt. Men är det för alla? Innan du förbinder dig till det, ställ dig själv följande frågor och var ärlig. Läs mer eftersom ingen annan har gjort det ännu.
- gemenskap: Att utveckla något användbart och göra det tillgängligt gratis (särskilt som öppen källkod) är ett utmärkt sätt att delta i Android- och/eller FOSS-communityt Varför bidrar människor till projekt med öppen källkod?Utveckling av öppen källkod är programvarans framtid. Det är bra för användare eftersom programvara med öppen källkod vanligtvis är tillgänglig gratis och ofta säkrare att använda. Men vad tvingar utvecklare att bidra med kod gratis? Läs mer . Utan bidrag med öppen källkod skulle det inte finnas något Linux, och utan Linux skulle det inte finnas någon Android Är Android verkligen öppen källkod? Och spelar det ens någon roll?Här undersöker vi om Android verkligen är öppen källkod eller inte. Det är trots allt baserat på Linux! Läs mer (eller åtminstone ingen Android som vi känner den). Så överväg att ge tillbaka!
- Inlärning: Det finns få bättre sätt att få en förståelse för en plattform än att utveckla för den. Det kan vara för skolan eller din egen nyfikenhet. Och hej, om du kan tjäna ett par dollar på det till slut, desto bättre.
- Intäktsgenerering: Å andra sidan, kanske du går på det här för att tjäna pengar från början. Medan Android en gång ansågs vara "låghyra" för appintäkter, har detta sakta vänt. Business Insider rapporterade i mars att Android-intäkterna förväntas gå om iOS för första gången 2017.
- Tillägg: Utvecklare skapar ofta appar i allmänhet som ett sätt att marknadsföra, komma åt eller på annat sätt komplettera en befintlig produkt eller tjänst – som medföljande konsolappar Få ut mer av din konsol med kompletterande mobilapparEn spelkontroller är inte en hemsk fjärrkontroll, men den är inte heller bra. En surfplatta eller, i vissa fall, en smartphone ger ett bättre sätt att komma åt konsolfunktioner. Läs mer och MakeUseOfs egen app.
Oavsett din anledning kommer apputveckling att utmana din design, tekniska och logiska färdigheter. Och resultatet av denna övning (en fungerande och användbar applikation för Android) är en stor prestation som kan fungera som en portfölj.
Det finns många sätt att skapa din app, inklusive olika verktygssatser, programmeringsspråk De bästa språken för mobilappsutveckling 2016Utvecklingen av mobilappar är fortfarande lika stark som någonsin. Om du vill komma igång är det inte för sent! Här är de språk du bör tänka på att lära dig. Läs mer , och förlagsställen Google Play vs. Amazon Appstore: Vilket är bättre?Google Play Butik är inte ditt enda alternativ när det gäller att ladda ner appar – ska du prova Amazon Appstore? Läs mer . På en hög nivå delas dessa in i följande två kategorier.
Peka-och-klicka på appar
Om du är en helt nybörjare inom utveckling finns det miljöer som låter dig bygga en Android-app på samma sätt som du skulle skapa en Powerpoint-presentation. Du kan välja kontroller som knappar eller textrutor, släppa dem på en skärm (som visas i bilden nedan) och ange några parametrar om hur de ska bete sig. Allt utan att skriva någon kod.
Dessa typer av applikationer har fördelen av en ytlig inlärningskurva. Du kan vanligtvis hoppa direkt in och åtminstone börja lägga ut din skärm. De tar också mycket komplexitet från applikationen, eftersom de är designade för att hantera tekniska detaljer (som objekttyper eller felhantering) bakom kulisserna. Å andra sidan betyder den enkelheten att du är utlämnad till verktygets skapare när det gäller vilka funktioner som stöds. Dessutom är många av dessa verktyg riktade till stora företag och kan vara dyra.
Ett undantag är MIT: s webbapplikation App Inventor, som är funktionell och gratis. Efter att ha loggat in med ett Google-konto kan du klicka på en app på ett par minuter och förhandsgranska den antingen på din telefon eller via en Android-emulator.
Skriv från grunden
Det andra alternativet är att skriva din ansökan från början. Detta är förmodligen annorlunda än vad du föreställer dig - det är det inte som filmerna skildrar det Hollywood Hacks: Det bästa och värsta hackandet i filmerHollywood och hacking går inte överens. Även om hacking i verkligheten är svårt, innebär filmhackning ofta att bara dunka iväg på ett tangentbord som om dina fingrar håller på att gå ur stil. Läs mer .
Det skriver kod en rad i taget i källfilerna sammanställa dem Hur man kompilerar din egen Linux-kärnaAtt kompilera din egen Linux-kärna är en av de där nördiga, tekniska sakerna, eller hur? Vi har redan tagit upp några anledningar till varför du kanske vill göra det här – nu är det dags att prova själv! Läs mer till en körbar applikation. Även om det kan låta tråkigt, spenderas mycket mer av din tid på programmering i verkligheten design, eller funderar igenom hur saker och ting ska fungera. Fråga de flesta utvecklare och de kommer att säga att de bara spenderar 10-15 % av sin tid på kodinmatning. Så du kommer att spendera det mesta av din tid med att dagdrömma (produktivt) om vad din app ska göra.
Du kan koda Android-applikationer på ett par olika sätt De bästa språken för mobilappsutveckling 2016Utvecklingen av mobilappar är fortfarande lika stark som någonsin. Om du vill komma igång är det inte för sent! Här är de språk du bör tänka på att lära dig. Läs mer . Det "standardiserade" sättet är att skriva appar i Java, genomgående ett av de mest populära språken i världen, även om Google lägger till Kotlin som ett annat alternativ. För prestandaintensiva appar som spel har du möjlighet att skriva på ett "modersmål" som C++. Dessa appar körs direkt på hårdvaran på din Android-enhet, till skillnad från "vanliga" Java-baserade appar som körs på Dalvik Virtuell maskin Vad är Java Virtual Machine och hur fungerar det?Även om det inte är strikt nödvändigt att veta att det fungerar för att programmera i Java, är det fortfarande bra att veta eftersom det kan hjälpa dig att bli en bättre programmerare. Läs mer . Slutligen finns det sätt att "sluta ihop" webbapplikationer (med hjälp av verktygssatser som Microsofts Xamarin eller Facebooks Native React De 7 bästa gratis handledningarna för att lära sig Reagera och göra webbapparGratiskurser är sällan lika omfattande och användbara -- men vi har hittat flera React-kurser som är utmärkta och som hjälper dig att komma igång på rätt fot. Läs mer ) för distribution som mobilappar som ser "native" ut.
Medan integrerade utvecklingsmiljöer (IDE) Textredigerare vs. IDE: Vilken är bättre för programmerare?Att välja mellan en avancerad IDE och en enklare textredigerare kan vara svårt. Vi erbjuder lite insikter som hjälper dig att fatta det beslutet. Läs mer hantera några av de rutinmässiga delarna av programmering, förstå att inlärningskurvan för denna metod är brant. Vilket språk du än väljer måste du vara bevandrad i dess grunder. Att investera den här tiden i förväg är en nackdel med den här metoden, i den meningen att du inte kommer att kunna komma in i utvecklingen av din app direkt. Men det är en fördel i det långa loppet, eftersom de färdigheter du lär dig kan tillämpas någon annanstans. Lär dig Java Så, vill du utveckla Android-appar? Så här lär du digEfter så många år skulle man kunna tro att mobilmarknaden nu är mättad med alla appar man kan tänka sig – men så är det inte. Det finns många nischer som fortfarande behöver... Läs mer , och du kan utveckla för stationära applikationer och applikationer på serversidan (inklusive webbaserade) förutom Android-appar.
Vilket alternativ är bäst för ditt projekt?
Så vilken väg är den "bästa?" Detta är för subjektivt för att svara på för alla, men vi kan generalisera det på följande sätt. Om du är nyfiken men bara "leker" håll dig till skaparna av peka-och-klicka-appar. De hjälper dig att skrapa den kreativa klådan utan att kräva något "kursarbete". Men om tanken på att kurserna inte skrämmer dig, överväg att ta den längre vägen och lära dig en programmering språk. Investeringen kommer att löna sig på många andra sätt längre fram.
Dessutom, överväg att använda båda! Peka-och-klicka-byggare är ett utmärkt sätt att snabbt sätta ihop en prototyp eller "proof of concept". Använd dem för att arbeta igenom några av detaljerna (som layout och skärmflöde), som de är mycket snabbare att blanda runt i en musdriven miljö. Återimplementera dem i Java om det behövs för att dra nytta av dess flexibilitet.
Vi kommer att ta exakt det tillvägagångssättet i den här guiden. Vi ska:
- Prototyp vår applikation, en "scratchpad" som lagrar lite text i en fil åt dig med hjälp av MIT: s App Inventor.
- Återimplementera detta i Java (med lite hjälp från Googles Android Studio IDE), fortsätt sedan till förlänga appen så att du kan välja bland flera filer, vilket gör den mer av en "anteckningsbok."
Okej, nog pratat. I nästa avsnitt gör vi oss redo att koda.
Gör dig redo att skapa din app
Dyk inte in direkt ännu - först behöver du lite kunskap och lite mjukvara.
Kunskap du behöver
Innan vi börjar installera någon programvara, finns det en del kunskap du bör ha innan du börjar. Först och främst är "Vad ska den göra?" Att vänta tills du har ett tydligt koncept för din app innan du börjar utveckla kan verka som en självklarhet – men du skulle bli förvånad. Så ta dig tid att arbeta igenom detta koncept, till och med anteckna några anteckningar om beteende och skissar på några skärmar Vad är en webbsida Wireframe och hur kan den hjälpa dig att utveckla din webbplats?På en teknisk nivå är en modern webbplats inte bara en sak. Det är en komplex soppa av interagerande teknologier, som HTML (markeringen du ser på sidan), JavaScript (språket som körs i din webbläsare,... Läs mer . Ha en relativt komplett bild av din app först.
Titta sedan på vad som är möjligt. Föreställ dig till exempel att den perfekta bilden av din app är något som låter dig videologga hela ditt liv för eftervärlden. Du burk skapa en app som spelar in video. Du kan inte skapa en som lagrar varje ögonblick av ditt liv på din enhet (otillräckligt lagringsutrymme). Men du burk försök att ladda ner en del av denna lagring till molnet, även om det kommer att ta tid att utveckla, och det kommer med sina egna begränsningar (vad händer när du inte har någon nätverksåtkomst?). Det är här du kommer att undersöka några av de tekniska detaljerna och kan informera beslut som om du ska koda från början eller inte.
Slutligen är det värt att veta vad som finns där ute redan. Om du bara vill lära dig eller bidra till gemenskapen, finns det ett befintligt projekt med öppen källkod som ditt? Skulle du kunna förkasta det projektet som utgångspunkt? Eller ännu bättre, utveckla din förbättring och bidra med den? Om du vill tjäna pengar, hur ser dina konkurrenter ut? Om du skriver en enkel väckarklocka-app och räknar med att tjäna en miljon dollar på den, är det bättre att ta med något speciellt till bordet.
Som diskuterats kommer vi att bygga en enkel scratchpad, som samlar in och håller lite text du lägger in i den. Och genom att göra det kommer vi att bryta mot reglerna ovan, eftersom det redan finns många Android-appar för anteckningar där ute, både öppen 5 bästa appar för anteckningar med öppen källkod för AndroidÄlskar programvara med öppen källkod och vill göra anteckningar? Vi har dig täckt. Läs mer och stängd källa Vilken är den bästa gratis anteckningsappen för Android?Vill du göra anteckningar på din Android-telefon eller surfplatta? Här är de bästa gratis anteckningsapparna för Android. Läs mer . Men låt oss låtsas att det här kommer att bli en mycket mer komplex app senare. Du måste börja någonstans.
Nu ska vi få en del av programvaran du behöver.
Förbereder för utveckling med App Inventor
Du behöver inte installera något för att använda App Inventor-verktyget. Det är en webbapplikation och du kommer åt den helt och hållet via webbläsaren. När du besöker webbplatsen ser du en knapp i det övre högra hörnet för att Skapa appar! Om du för närvarande inte är inloggad på ett Google-konto kommer du till en inloggningssida genom att klicka på detta.
Annars bör du gå direkt till App Inventor's Mina projekt sida.
Fundera nu på var du vill testa din app. Om du är äventyrlig kan du testa det på din telefon eller surfplatta genom att installera Companion-appen från Play Butik. Då är du redo för nu - du behöver ett pågående projekt för att faktiskt se vad som helst på din enhet, men vi kommer till det senare.
Alternativt kan du använda emulatorn för att testa din app på din dator. Ladda ner och installera emulatorn för ditt operativsystem från denna sida. Bilden nedan visar appen som installeras på Linux, men lämplig version bör installeras utan problem på Windows eller Mac också.
Du kan starta emulatorn genom att köra kommandot "aiStarter". Det här börjar en bakgrundsprocess Hur man kontrollerar Linux Start-Up Services och DaemonsLinux kör många applikationer "i bakgrunden" som du kanske inte ens är medveten om. Så här tar du kontroll över dem. Läs mer som ansluter din (lokala) emulator till den (molnbaserade) App Inventor. Windows-system kommer att tillhandahålla en genväg för det, medan det startar automatiskt för Mac-användare vid inloggning. Linux-användare måste köra följande i en terminal:
/usr/google/appinventor/commands-for-appinventor/aiStarter &
När den är igång kan du testa anslutningen genom att klicka på Emulator objekt i Ansluta meny. Om du ser emulatorn snurra upp (som visas i bilden nedan), är du bra att gå.
Installerar Android Studio
Om du planerar att utveckla några enkla program kan App Inventor vara allt du någonsin behöver. Men efter att ha lekt med det ett tag kan du träffa en vägg, eller så kanske du vet att du kommer att använda vissa funktioner som App Inventor inte stöder (som fakturering i appen). För detta måste du ha Android Studio installerat.
Nu den officiella utvecklingsmiljön som sanktionerats av Google, är Android Studio en version av IntelliJ IDÉ Java IDE från JetBrains. Du kan ladda ner en kopia för ditt operativsystem från Googles Android-utvecklarsida här. Windows- och Mac-användare kan starta installationsprogrammet med en EXE-fil eller DMG-avbildning Så här fungerar programvaruinstallatörer på Windows, macOS och LinuxModerna operativsystem ger dig enkla metoder för att installera nya applikationer. Men vad händer egentligen när du kör det installationsprogrammet eller utfärdar det kommandot? Läs mer , respektive.
Linux-användare kan använda ZIP-filen, packa upp den var du vill och köra Android Studio därifrån (Windows/Mac-användare kan också göra detta). Annars kan du använda Ubuntu gör för att ladda ner och installera paketet åt dig. Om du använder den senaste LTS-versionen (16.04 när detta skrivs), måste du lägga till Ubuntu gör PPA Vad är en Ubuntu PPA och varför skulle jag vilja använda en? [Teknik förklaras] Läs mer till ditt system för att få tillgång till Android Studio:
sudo add-apt-repository ppa: ubuntu-desktop/ubuntu-make
Uppdatera sedan ditt system med följande.
sudo apt uppdatering
Slutligen, installera Ubuntu Make med detta kommando:
sudo apt installera umake
När den väl har installerats kan du styra Ubuntu Make att installera Android Studio åt dig med följande kommando:
umake android android-studio
Efter att ha visat licensavtalet börjar den ladda ner och installera basapplikationen. När det är klart och du startar Android Studio, kommer en guide att leda dig genom ytterligare ett par steg.
Först får du ett val om du vill ha en "Standard" installation eller något anpassat. Välj standardinstallationen här, det låter dig komma igång snabbare.
Sedan får du ett meddelande om att du behöver ladda ner några ytterligare komponenter, och det kommer förmodligen att ta lite tid.
När allt är installerat får du en liten startskärm som låter dig skapa ett nytt projekt, öppna ett befintligt eller komma åt dina inställningar.
Jag vet att du är redo att smutsa ner händerna. Utan vidare, låt oss bygga något.
Bygga ett enkelt Android-anteckningsblock
Eftersom vi (såklart) har suttit och tänkt igenom det här innan vi bara hoppade in vet vi att vår Android-app kommer att bestå av två skärmar.
Den ena tillåter användaren att "redigera nu" eller avsluta, och den andra kommer att göra själva redigeringen. Den första skärmen kan verka värdelös, men den kan komma till användning senare när vi lägger till funktioner. Texten som fångas på "redigera"-skärmen kommer att lagras i en vanlig textfil, eftersom vanlig text regler Allt du behöver veta om filformat och deras egenskaperVi använder ordet fil omväxlande: musik, bild, kalkylblad, bildspel och så vidare. Men vad gör en fil till en "fil" egentligen? Låt oss försöka förstå denna grundläggande del av datoranvändning. Läs mer . Följande wireframes ger oss en bra referenspunkt (och tog bara 5 minuter att piska upp):
I nästa avsnitt bygger vi det med MIT: s App Inventor.
Komma igång med MIT App Inventor
Det första steget är att skapa ett nytt projekt. Logga in på App Inventor och klicka sedan på Starta nytt projekt knappen till vänster (finns även i Projekt meny).
Du får en dialogruta för att ge den ett namn.
Men nu har du hamnat i App Inventors designervy, och det finns mycket att ta in. Låt oss ta en stund att titta på varje avsnitt.
- Titelraden längst upp visar ditt projektnamn (muoScratchpad); låter dig lägga till, ta bort och växla mellan appens skärmar (t.ex. Skärm 1); och växlar mellan App Inventors Designer och Block vyer längst till höger.
- De Palett till vänster innehåller alla kontroller och widgets du kommer att använda. De är uppdelade i sektioner som Användargränssnitt och Lagring; vi kommer att använda båda dessa i vår app. Vi får se hur Palett rymmer olika föremål i Block se.
- De Visare visar dig vad du bygger på WYSIWYG-sätt.
- Komponenter är en lista över objekt som är en del av den aktuella skärmen. När du lägger till knappar, textrutor etc. kommer de att dyka upp här. Vissa "dolda" objekt, som referenser till filer, kommer att visas här också, även om de faktiskt inte är en del av användargränssnittet.
- De Media kan du ladda upp tillgångar som du kommer att använda i ditt projekt, som bilder eller ljudklipp. (Vi behöver inte den här.)
- Slutligen, den Egenskaper rutan låter dig konfigurera den för närvarande valda widgeten. Om du till exempel väljer en bildwidget kan du ändra dess höjd och bredd.
Lägga ut din första skärm: "Huvudskärm"
Låt oss sätta ihop layouten för "huvudskärmen" i Designer innan vi går vidare. När vi tittar på skissen behöver vi en etikett för appnamnet, en rad med hjälptext, en knapp för att flytta till "redigera"-skärmen och en knapp för att avsluta. Du kan se Användargränssnitt paletten har alla föremål vi behöver: två Etiketter, och två Knappar. Dra dessa till en vertikal kolumn högst upp på skärmen.
Därefter konfigurerar vi var och en. För etiketterna kan du ställa in element som vad texten ska vara, bakgrundsfärg och justering. Vi centrerar båda våra etiketter men ställer in bakgrunden för appnamnet till svart med vit text.
Det är dags att se hur det faktiskt ser ut på en enhet. När du bygger saker, gör det i små steg. Jag kan inte betona detta tillräckligt.
Bygg inte in en stor lista med saker i din app på en gång, för om något går sönder tar det en lång dags att ta reda på varför. Om du funderar på att testa på en riktig telefon kan du starta din AI2 Companion-app och ansluta till App Inventor med antingen QR-koden eller den medföljande sexteckenkoden.
För att förhandsgranska med emulatorn, se till att du har startat aiStarter-programmet som beskrivs ovan och välj sedan Emulator objekt igen från Ansluta meny. I vilket fall som helst, efter en kort paus bör du se din app upp, se ut ungefär som vad du har i Viewer (den faktiska layouten kan bero på måtten på din enhet och emulator).
Eftersom titeln ser bra ut, låt oss ändra texten på de andra också och justera dem i mitten (detta är en egenskap hos skärmen, Justera Horisontell, inte texten/knapparna). Nu kan du se en av de riktigt coola aspekterna av App Inventor - alla dina ändringar görs i realtid! Du kan se texten ändras, knapparna justerar sin justering, etc.
Gör det funktionellt
Nu när layouten är klar, låt oss lägga till lite funktionalitet. Klicka på Block knappen uppe till vänster. Du kommer att se en liknande layout som Designer-vyn, men du kommer att ha några olika alternativ ordnade i kategorier. Dessa är programmeringskoncept snarare än gränssnittskontroller, men precis som den andra vyn kommer du att använda dra-och-släpp för att sätta ihop dessa som en del av din app.
Den vänstra paletten innehåller kategorier som Kontrollera, Text, och Variabler i kategorin "Inbyggd". Blocken i denna kategori representerar funktioner som till stor del kommer att ske bakom kulisserna, som t.ex Matematik objekt som kan utföra beräkningar. Nedan finns en lista över elementen på din skärm(ar), och blocken som är tillgängliga här kommer att påverka dessa element. Om du till exempel klickar på en av våra etiketter visas block som kan ändra etikettens text, medan knapparna har block för att definiera vad som händer när du klickar på dem.
Förutom sin kategori (representerad av färg) har varje block också en form som representerar dess syfte. Dessa kan grovt delas in enligt följande:
- Du kan tänka på föremål med ett stort mellanrum i mitten, som "om-då"-blocket som visas ovan, som de som hanterar evenemang. När något äger rum i appen kommer de andra sakerna i luckan att köras.
- Platta block med kopplingar är en av två saker. De första är uttalanden, som är motsvarigheten till kommandon, objekten som passar i flödena ovan. I exemplet ovan är gör en lista block är ett uttalande, som det är stäng ansökan.
- Det andra alternativet är uttryck, som skiljer sig endast något från påståenden. Där ett uttalande kan säga "ställ in det här till '42′", skulle ett uttryck vara något i stil med "lägg till 22 till 20 och ge mig resultatet tillbaka." I ovanstående, finns i listan är ett uttryck som kommer att utvärderas till antingen sant eller falskt. Uttryck är också platta block, men de har troligen en flik på vänster sida och en skåra till höger.
- Slutligen, värden inkludera siffror ("17" och "42" ovan), textsträngar ("Thing 1" och "Thing 2") eller sant/falskt. De har vanligtvis bara en flik till vänster, eftersom de är något du tillhandahåller till ett uttalande eller uttryck.
Du kan säkert gå igenom alla guider och handledningar på App Inventor. Den är dock utformad för att du ska börja klicka runt och (bokstavligen) se vad som passar. På vår första sida har vi två saker som behöver uppmärksamhet (knapparna), så låt oss se vad vi kan hitta på. En av dessa (Button2) kommer att stänga appen när den klickas. Eftersom detta är en interaktion med knappen. Vi kan leta efter knappblock och se att det finns en som börjar med när Knapp2.klickar (eller när knapp 1 klickas). Det här är precis vad vi vill ha, så vi drar det här till Viewer.
Nu när den klickas vill vi att appen ska stängas, vilket låter som en övergripande appflödesfunktion. Tar en titt i Inbyggd > Kontroll avsnitt ser vi verkligen en stäng ansökan Blockera. Och genom att dra den till springan i det första blocket klickar den på plats. Framgång!
Nu när du klickar på knappen stängs appen. Låt oss prova det i emulatorn. Det visar oss ett fel att stänga appen inte stöds i utvecklingsmiljön, men att se detta betyder att det fungerar!
Bygga den andra skärmen: Editor Screen
Låt oss nu rikta uppmärksamheten mot Button1.
Detta är tänkt att öppna vår redigerare, så vi bör se till att redigeraren finns! Låt oss byta tillbaka till Designern och skapa en ny skärm med samma etikett som den första skärmen, a Textruta (ställ in på "fyll förälder" för Bredd, 50% för Höjd, och med Flerlinje aktiverat) för att hålla vårt innehåll och en annan knapp (märkt "<< Spara"). Kontrollera nu den layouten i emulatorn!
Innan vi går vidare vet vi att vi kommer att vilja gömma innehållet från TextBox, vilket låter som Lagring. Visst finns det ett par alternativ där.
Av dessa, Fil är det enklaste, och eftersom vi vill ha vanlig text går det bra. När du lägger detta i Viewer kommer du att märka att det inte visas. Fil är en ej synliga komponent, eftersom den fungerar i bakgrunden för att spara innehållet till en fil på enheten. Hjälptexten ger dig en uppfattning om hur detta fungerar, men om du vill att dessa objekt ska vara synliga, kolla bara i Visa dolda komponenter i Viewer kryssruta.
Växla till blockvyn nu - det är dags att programmera. Det enda beteendet vi behöver är när "<< Spara"-knappen klickas, så vi tar vår när Knapp1.klickar Blockera. Det är här App Inventor verkligen börjar lysa.
Först sparar vi innehållet i textrutan genom att ta tag i ring File1.saveFile blockera och tillhandahålla den text vi vill ha (med TextBox1s TextBox1.text, som hämtar dess innehåll) och en fil för att lagra den (ange bara en sökväg och ett filnamn med ett textblock – appen skapar filen åt dig om den inte finns).
Låt oss också ställa in skärmen för att ladda innehållet i den här filen när den öppnas (Editor > när Editor.initialize Blockera). Det borde ring File1.ReadFrom som pekar på vårt filnamn. Vi kan fånga resultatet av att läsa textfilen med hjälp av Arkiv > när File1.GotText, tilldela innehållet till textrutan med hjälp av TextBox > ställ in TextBox. Sms: a till blockera och ge den få text värde. Slutligen, efter att ha sparat, vill vi att ett klick på knapp 1 skickar oss tillbaka till huvudskärmen (a stäng skärmen Blockera).
Sista steget är att gå tillbaka till huvudskärmen och programmera den första knappen. Vi vill att den ska skicka oss till redigeringsskärmen, som är en piece of cake med Kontroll > öppna en annan skärm block och anger "Editor".
Vad kommer härnäst?
Nu när du har något som fungerar, vad kommer härnäst? För att förstärka det såklart! App Inventor ger dig tillgång till ett brett utbud av Android-funktioner. Utöver de enkla skärmarna vi just skapat kan du lägga till funktioner inklusive mediauppspelning, skicka texter eller till och med en live-webbvy till din app.
En av de första förbättringarna att tänka på är möjligheten att välja bland flera filer. Men en snabb internetsökning avslöjar att detta kräver en del överlägsen hackeri i App Inventor. Om vi vill ha den här funktionen måste vi gräva i Java och Android Studio-miljön.
Utveckling i Java med Android Studio
Avsnitten nedan kommer att beskriva - på en mycket hög nivå - utvecklingen av vår scratchpad-app i Java. Det är värt att upprepa igen: även om det kan ge stor utdelning på vägen, kräver det en betydande investering av tid att lära sig Java och Android Studio.
Så det blir inte så mycket förklaring vad koden betyder nedan, och du bör inte oroa dig särskilt mycket för det. Att undervisa i Java ligger utanför ramen för den här artikeln. Vad vi ska göra undersöker hur nära Java-koden är de saker vi redan har byggt i App Inventor.
Börja med att starta Android Studio och välj Starta ett nytt Android Studio-projekt Artikel. Du kommer att ledas genom en guide som frågar ett par saker. Den första skärmen frågar efter ett namn för din app, din domän (detta är viktigt om du skickar in till appbutiken, men inte om du bara utvecklar för dig själv) och en katalog för projektet.
På nästa skärm ställer du in versionen av Android En snabbguide till Android-versioner och uppdateringar [Android]Om någon säger till dig att de kör Android säger de inte så mycket som du tror. Till skillnad från de stora datoroperativsystemen är Android ett brett operativsystem som täcker många versioner och plattformar. Om du vill... Läs mer att rikta in sig på. Om du väljer en nyare version kan du inkludera plattformens nyare funktioner, men kan utesluta vissa användare vars enheter inte är aktuella. Detta är en enkel app, så vi kan hålla oss till Ice Cream Sandwich.
Därefter väljer vi standard Aktivitet för vår app. Aktiviteter är ett kärnbegrepp inom Android-utveckling, men för våra syften kan vi definiera dem som skärmar. Android Studio har ett nummer du kan välja mellan, men vi börjar bara med ett tomt nummer och bygger det själva. Skärmen efter det låter dig ge den ett namn.
När det nya projektet lanseras, ta en stund att bekanta dig med Android Studio.
- Det övre verktygsfältet har knappar för en mängd olika funktioner. Den som är viktigast för oss är Springa knappen, som kommer att bygga appen och starta den i emulatorn. (Fortsätt och prova det, det kommer att byggas bra.) Det finns andra som t.ex Spara och Hitta, men dessa fungerar via kortkommandon som vi alla är vana vid (Ctrl+S respektive Ctrl+F).
- Den vänstra handen Projekt rutan visar innehållet i ditt projekt. Du kan dubbelklicka på dessa för att öppna dem för redigering.
- Mittregionen är din redaktör. Beroende på exakt vad du redigerar kan detta vara textbaserat eller grafiskt, som vi kommer att se om ett ögonblick. Detta kan också visa andra rutor, till exempel en egenskapsruta till höger (igen, som App Inventor).
- De högra och nedre gränserna har ett urval av andra verktyg som dyker upp som rutor när de väljs. Det finns saker som en terminal för att köra kommandoradsprogram och versionskontroll, men de flesta av dessa är inte viktiga för ett enkelt program.
Portera huvudskärmen till Java
Vi börjar med att bygga om scratchpad i Java. När vi tittar på vår tidigare app kan vi se att för den första skärmen behöver vi en etikett och två knappar.
Tidigare var det en mödosam process att skapa ett användargränssnitt på Android som involverade handgjord XML. Numera gör man det grafiskt, precis som i App Inventor. Var och en av våra aktiviteter kommer att ha en layoutfil (gjord i XML) och en kodfil (JAVA).
Klicka på fliken "main_activity.xml", så ser du skärmen nedan (mycket designerliknande). Vi kan använda den för att dra och släppa våra kontroller: a TextView (som en etikett) och två Knappar.
Låt oss koppla upp Utgång knapp. Vi behöver skapa en knapp i kod såväl som grafiskt, till skillnad från App Inventor som sköter den bokföringen åt oss.
Men tycka om AI, Androids Java API använder konceptet "onClickListner." Den reagerar när en användare klickar på en knapp precis som vår gamla vän blocket "when Button1.click". Vi använder metoden "finish()" så att appen avslutas när användaren klickar (kom ihåg att prova detta i emulatorn när du är klar).
Lägger till redigeringsskärmen
Nu när vi kan stänga appen kommer vi att spåra våra steg igen. Innan vi kopplar upp "Redigera"-knappen, låt oss göra redigeringsaktiviteten (skärmen). Högerklicka i Projekt ruta och välj Nytt > Aktivitet > Tom aktivitet och döp den till "EditorActivity" för att skapa den nya skärmen.
Sedan skapar vi layouten för Editorn med en EditTextBox (vart texten kommer) och en knapp. Justera Egenskaper av varje efter din smak.
Byt nu till filen EditorActivity.java. Vi kommer att koda upp några liknande funktioner som vi gjorde i App Inventor.
Man kommer att skapa filen för att lagra vår text om den inte finns, eller läsa dess innehåll om den gör det. Ett par rader kommer att skapa EditTextBox och ladda vår text i den. Till sist kommer lite mer kod att skapa knappen och dess onClickListener (som sparar texten i filen och stänger sedan aktiviteten).
Nu när vi kör det i emulatorn ser vi följande:
- Innan den körs finns det ingen mapp vid "/storage/emulated/0/Android/data/[ditt domän- och projektnamn]/filer", som är standardkatalogen för appspecifik data.
- Vid första körningen kommer huvudskärmen att visas som förväntat. Fortfarande ingen katalog enligt ovan, inte heller vår scratchpad-fil.
- När du klickar på Redigera knappen skapas katalogen, liksom filen.
- På att klicka Spara, kommer all inmatad text att sparas i filen. Du kan bekräfta genom att öppna filen i en textredigerare.
- På att klicka Redigera igen, du kommer att se det tidigare innehållet. Ändra det och klicka Spara lagrar den och klickar Redigera återigen kommer ihåg det. Och så vidare.
- På att klicka Utgång, avslutas appen.
Förbättra appen: Välj din lagringsfil
Nu har vi en fungerande version av vår ursprungliga App Inventor scratchpad. Men vi porterade den till Java för att förbättra den. Låt oss inkludera möjligheten att välja bland flera filer i den standardkatalogen. När vi väl gör det här kommer vi verkligen att göra det här till mer av en anteckningsblock än bara en scratchpad, så vi skapar en kopia av det aktuella projektet med hjälp av instruktionerna här.
Vi använde en Android Intent för att anropa vår redaktörsaktivitet från den huvudsakliga, men de är också ett bekvämt sätt att anropa andra applikationer. Genom att lägga till ett par rader kod kommer vår Intent att skicka en begäran om filhanterarapplikationer De 7 bästa gratis filutforskarna för AndroidDet finns ett gäng filhanterings- och filutforskande appar för Android, men dessa är de bästa. Läs mer att svara. Detta betyder att vi kan ta bort en stor del av koden som söker efter att skapa filen, eftersom avsikten bara tillåter oss att bläddra/välja en som faktiskt existerar. I slutändan förblir vår redaktörsaktivitet exakt densamma.
Att få vår avsikt att ge oss tillbaka en sträng (Java-textobjekt) som vi kan packa in i vår avsikt var en utmaning. Lyckligtvis, när det kommer till programmeringsfrågor, är internet din vän. A snabbsökning ger oss ett par alternativ, inklusive kod som vi kan klistra in i vår app.
Och med denna lilla ändring och lite lånad kod kan vi använda en filläsare/hanterarapplikation på enheten för att välja filen för att lagra vårt innehåll. Nu när vi är i "förbättringsläge" är det lätt att komma med ett par mer användbara förbättringar:
- Vi kan välja bland befintliga filer, men för tillfället tog vi bort vår anläggning till skapa dem. Vi behöver en funktion för att användaren ska kunna ange ett filnamn och sedan skapa och välja den filen.
- Det kan vara användbart att få vår app att svara på "Dela"-förfrågningar, så att du kan dela en URL från webbläsaren och lägga till den i en av dina anteckningsfiler.
- Vi har att göra med vanlig text här, men rikare innehåll med bilder och/eller formatering är ganska standard i dessa typer av appar.
Med möjligheten att utnyttja Java är möjligheterna oändliga!
Distribuera din app
Nu när din app är klar är den första frågan du måste ställa dig själv om du vill distribuera den överhuvudtaget! Kanske har du skapat något så personligt och anpassat att det verkar som om det inte skulle vara rätt för någon annan. Men jag vill uppmana dig att inte tänka så. Du kommer förmodligen att bli förvånad över hur användbart det är för andra; om inte annat är det åtminstone en lärorik som visar vad en ny kodare kan göra.
Men även om du bestämmer dig för att behålla din nya skapelse för dig själv, behöver du fortfarande några av stegen nedan för att faktiskt installera den på din enhet. Så låt oss lära oss hur du paketerar din app för att dela i källkodsform såväl som ett installerbart paket.
Distribution av källkod
Oavsett vilken metod du har använt fram till denna punkt, har du modifierat sour code längs vägen.
Medan App Inventor gör ett bra jobb med att dölja den faktiska koden bakom kulisserna, representerar alla blocken och UI-widgetarna du har flyttat runt på kod. Och källkod är ett helt giltigt sätt att distribuera programvara, vilket öppen källkodsgemenskapen mycket väl kan intyga. Det här är också ett bra sätt att få andra involverade i din ansökan, eftersom de kan ta det du har gjort och bygga vidare på det.
Vi får källkoden från båda miljöerna i ett strukturerat format. Då kan antingen någon (inklusive vi själva) enkelt importera det tillbaka till samma program och snabbt komma igång.
Exporterar källa från App Inventor
För att exportera från App Inventor är det en enkel fråga att öppna ditt projekt och sedan från Projekt menyn, välj Exportera valt projekt (.aia) till min dator.
Detta kommer att ladda ner den tidigare nämnda .AIA-filen (förmodligen "App Inventor Archive"). Men det här är i själva verket en ZIP-fil; försök öppna den i din favoritarkivhanterare för att inspektera innehållet.
Observera att innehållet i appinventor/ai_[ditt användar-id]/[projektnamn] mappen är en SCM- och BKY-fil. Det här är inte JAVA-källan vi såg i Android Studio, så du kommer inte att kunna öppna upp dessa i någon gammal utvecklingsmiljö och kompilera dem. Däremot kan du (eller någon annan) återimportera dem till App Inventor.
Arkiveringskälla från Android Studio
Att få ut ditt Android Studio-projekt i ett arkivformat är lika enkelt som att komprimera projektets mapp. Flytta den sedan till en ny plats och öppna den från vanligt Arkiv > Öppna objekt i huvudmenyn.
Android Studio kommer att läsa ditt projekts inställningar (workspace.xml) och allt ska vara som det var innan.
Det är värt att notera att arkivering av hela mappen kommer inkludera lite cruft, speciellt filerna från ditt programs senaste build.
Dessa kommer att rensas och återskapas under nästa konstruktion, så de är inte nödvändiga för att behålla integriteten i ditt projekt. Men de skadar det inte heller, och det är lättare (särskilt för nybörjarutvecklare) att inte börja tjafsa om vilka mappar som ska följa med och vilka som inte ska. Bättre att ta det hela istället för att missa något du behöver senare.
Android-paketdistribution
Om du vill ge en kopia av din app till någon bara för att testa den, är en APK-fil det bästa alternativet. Standardpaketet för Android bör vara bekant för dem som har gått utanför Play Butik för att skaffa programvara.
Att skaffa dessa är lika enkelt som att arkivera källan i båda programmen. Sedan kan du lägga upp det på en webbplats (som F-Droid), eller lämna det till några vänliga människor för att få deras feedback. Detta ger ett bra betatest för appar som du tänker sälja senare.
Bygga en APK i App Inventor
Gå över till Bygga menyn och välj App (spara .apk på min dator) Artikel. Appen kommer att börja byggas (bevisas av en förloppsindikator), och när den är klar får du en dialogruta för att spara APK-filen. Nu kan du kopiera och skicka den till ditt hjärta.
För att kunna installera appen måste användare tillåta tredjepartsprogramvaruinstallationer i enhetens inställningar som beskrivs här Är det säkert att installera Android-appar från okända källor?Google Play Butik är inte din enda källa till appar, men är det säkert att söka någon annanstans? Läs mer .
Bygga en APK i Android Studio
Att bygga ett Android-paket är lika enkelt i Android Studio. Under Bygga menyn, välj Bygg APK. När bygget är klart kommer ett meddelande att ge dig en länk till mappen på din dator som innehåller appen.
Google Play Distribution
Att bli en Google-utvecklare är lite av en process. Även om du för all del bör överväga det när du har lite erfarenhet under bältet, är det inte något du behöver ta itu med direkt.
För det första har den en registreringsavgift på $25. Den har också ett antal tekniska detaljer som är något svåra att ändra vid ett senare tillfälle. Till exempel måste du generera en kryptografisk nyckel för att signera dina appar, och om du någonsin tappar bort den kommer du inte att kunna uppdatera appen.
Men på en hög nivå finns det tre stora processer du behöver göra för att få din app till Play Butik:
- Registrera dig som utvecklare: Du kan ställa in din utvecklarprofil (baserat på ett Google-konto) på denna sida. Guiden leder dig genom en ganska enkel registreringsprocess, som inkluderar den ovan nämnda avgiften på $25.
- Förbered appen för butiken: Emulatorversionerna av appen du har testat är också felsökning versioner. Det betyder att de har mycket extra kod relaterad till felsökning och loggning som inte är nödvändig, och de kan till och med representera ett integritetsproblem. Innan du publicerar i butiken måste du producera en släpp version genom att följa dessa steg. Detta inkluderar att signera din app med kryptonyckeln vi nämnde tidigare.
- Konfigurera din infrastruktur: Du måste också konfigurera butikssidan för din app. Google tillhandahåller en lista med råd för att skapa en lista som ger dig installationer (och försäljning!). Din infrastruktur kan även innehålla servrar som din app kommer att synkronisera med.
- Slutligen, om du vill få betalt behöver du en betalningsprofil. Det här är en av dessa en gång och gjort detaljer, så se till att du vet hur allt kommer att passa ihop innan du går vidare.
Sammanfattning och lärdomar
Vi har kommit till slutet av guiden. Förhoppningsvis har detta väckt ditt intresse för Android-utveckling och gett dig lite motivation att ta din idé och faktiskt utveckla den. Men innan du lägger ner huvudet och börjar bygga, låt oss titta tillbaka på några av de viktigaste lärdomarna vi lärde oss i avsnitten ovan.
- Vi tittade på två vägar för att göra din app: peka-och-klicka-byggare och kodning från början i Java. Den första har en lägre inlärningskurva och erbjuder ett rättvist (men fortfarande begränsat) utbud av funktioner. Den andra låter dig bygga nästan allt du kan tänka dig och erbjuder fördelar utöver Android-utveckling, men det tar längre tid att lära sig.
- Även om de har sina för- och nackdelar, du kan använda båda vägarna! Peka-och-klicka-miljöerna erbjuder en snabb vändning för att prototypa din app, medan den andra låter dig bygga om den för långsiktig förbättring.
- Även om det är frestande att börja arbeta med själva appen, kommer du att bli väldigt glad senare om du tar dig tid att designa din app, inklusive skisser av gränssnittet och/eller informell dokumentation om dess funktioner. Detta kan också hjälpa dig att avgöra om en eller båda av metoderna ovan är bra alternativ.
- Ett enkelt sätt att börja utveckla är att lägga upp användargränssnittselement och sedan "koppla upp dem" genom att programmera deras funktionalitet. Medan erfarna utvecklare kan börja koda "bakgrundskomponenter", hjälper det för nybörjare att kunna visualisera allt.
- Var inte rädd för att söka på webben efter svar när du dyker in i kod. Om du kör en Google-sökning med ett par nyckelord och "kodexempel" i slutet kommer du att få bra resultat.
- När du bygger, testa ditt arbete lite i taget. Annars kommer det att vara mycket svårt att avgöra vilka av de senaste två timmarnas åtgärder som skadade din app.
Med dessa i åtanke, gå in där och börja förverkliga dina drömmar om apputveckling. Och om du bestämmer dig för att göra händerna smutsiga, låt oss veta hur det går i kommentarerna (vi älskar länkar till skärmdumpar, förresten). Lycka till med att bygga!
Aaron har varit armbågsdjup i tekniken som affärsanalytiker och projektledare i femton år och har varit en lojal Ubuntu-användare nästan lika länge (sedan Breezy Badger). Hans intressen inkluderar öppen källkod, småföretagsapplikationer, integration av Linux och Android och datoranvändning i vanlig textläge.