Annons
Välkommen till MakeUseOfs guide för att skapa din egen Android-app. I den här guiden tittar vi 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å huvudsakliga sätt att utveckla en Android-app. Den första är att skriva det från grunden, troligen i Java. Men detta antar naturligtvis dig 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 tro att mobilmarknaden nu är mättad med varje app som man kan tänka sig - men det är inte fallet. Det finns gott om nischer som fortfarande behöver ... Läs mer innan du dyker in. Men vad händer om du kliar för att komma igång direkt?
Det andra alternativet är en av pek-och-klick-appbyggarna på marknaden. Många av dessa riktar sig till företagets användare (och levereras med en prislapp för företaget). 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 upptagen tills du kan gräva i Java och komma åt alla de kraftfulla funktionerna i Android-plattformen.
I avsnitten nedan bygger vi en prototypversion av en enkel "skrapplatta" -applikation som lagrar texten du skriver i den. Vi gör detta först i App Inventor och förhandsgranskar resultaten i en Android-emulator. Då utvidgar vi den här applikationen med möjligheten att välja bland flera filer, vilket gör det mer till en "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 några orsaker till att du vill skapa din egen Android-app, inklusive:
- Nödvändighet: Det är ju uppfinningsmor. Kanske efter att du letat efter din drömapp i Play Store, inser du 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 hur du kodarAtt lära sig ett programmeringsspråk är populärt. Men är det för alla? Innan du förbinder dig till det, ställa dig själv följande frågor och vara ä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 open source) är ett utmärkt sätt att göra delta i Android- och / eller FOSS-communityn Varför bidrar människor till Open Source-projekt?Utveckling av öppen källkod är programvarans framtid. Det är bra för användare eftersom öppen källkodsprogram vanligtvis är tillgängligt gratis och ofta säkrare att använda. Men vad tvingar utvecklare att bidra med kod gratis? Läs mer . Utan öppen källkodbidrag skulle det inte finnas någon Linux, och utan Linux skulle det inte finnas någon Android Är Android verkligen öppen källkod? Och är det ännu viktigare?Här undersöker vi om Android verkligen är öppen källkod. När allt är baserat på Linux! Läs mer (eller åtminstone ingen Android som vi känner det). Så överväga att ge tillbaka!
- Inlärning: Det finns få bättre sätt att förstå 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 i slutändan, desto bättre.
- monetarisering: Å andra sidan kanske du kommer att tjäna pengar från början. Även om Android en gång ansågs som appenintäkter som låghyresdistrikt, har detta långsamt vänt. Business Insider rapporterade i mars att Android-intäkterna förväntas gå förbi 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änstliknande konsol följeslagare appar Få mer ut ur konsolen med Companion Mobile AppsEn spelkontroll är inte en fruktansvärd 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 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öljbit.
Det finns många sätt att skapa din app, inklusive olika verktygssatser, programmeringsspråk De bästa språken för mobilapputveckling 2016Utvecklingen av mobilappar gå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 publiceringsställen Google Play vs. Amazon Appstore: Vilket är bättre?Google Play Store är inte ditt enda alternativ när det gäller att ladda ner appar - bör du prova Amazon Appstore? Läs mer . På en hög nivå uppdelas dessa i följande två kategorier.
Peka och klicka på appar
Om du är en helt nybörjare i utvecklingen 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 på bilden nedan) och ge några parametrar för hur de ska bete sig. Allt utan att skriva någon kod.

Dessa typer av applikationer har fördelen med en grund inlärningskurva. Du kan vanligtvis hoppa till höger och åtminstone börja lägga ut skärmen. De tar också mycket komplexitet ur applikationen eftersom de är utformade för att hantera tekniska detaljer (som objekttyper eller felhantering) bakom kulisserna. Å andra sidan innebär denna enkelhet att du är tacksam för verktygets skapare när det gäller vilka funktioner som stöds. Dessutom riktas många av dessa verktyg till stora företag och kan vara dyra.
Ett undantag är MITs App Inventor-webbapplikation, som är funktionell och gratis. När du har loggat in med ett Google-konto kan du klicka ihop en app på några minuter och förhandsgranska antingen på din telefon eller via en Android-emulator.
Skriv från Scratch
Det andra alternativet är att skriva din ansökan från början. Detta skiljer sig antagligen från vad du föreställer dig - det är inte som filmerna visar det Hollywood Hacks: The Best and Worst Hacking in MoviesHollywood och hacking kommer inte överens. Även om hacking i verkligheten är svårt, innebär filmhackning ofta bara att du slår iväg på ett tangentbord som dina fingrar går ur stil. Läs mer .
Det skriver kod en rad i taget i källfiler sammanställa dem Hur man sammanställer din egen Linux-kärnaAtt sammanställa din egen Linux-kärna är en av de nördiga, tekniska sakerna, eller hur? Vi har redan täckt några skäl till varför du kanske vill göra det - nu är det dags att prova det själv! Läs mer till en körbar applikation. Det kan låta tråkigt, men i själva verket tillbringas mycket mer av din tid i programmering i design, eller tänka igenom hur saker och ting ska fungera. Fråga de flesta utvecklare, så säger de att de bara spenderar 10-15% av sin tid på kodinmatning. Så du kommer att spendera större delen av din tid på att drömma (produktivt) om vad din app ska göra.

Du kan kod Android-applikationer på ett par olika sätt De bästa språken för mobilapputveckling 2016Utvecklingen av mobilappar gå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 "vanliga" sättet är att skriva appar i Java, som konsekvent är ett av de mest populära språken i världen, även om Google lägger till Kotlin som ett annat alternativ. För prestationsintensiva appar som spel, har du möjligheten att skriva på ett "modersmål" som C ++. Dessa appar körs direkt på maskinvaran på din Android-enhet, i motsats till "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 absolut 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 "packa upp" webbapplikationer (med hjälp av verktygssatser som Microsofts Xamarin eller Facebooks Native React 7 bästa gratis handledning för att lära sig reagera och göra webbapparGratis kurser är sällan lika omfattande och hjälpsamma - men vi har hittat flera React-kurser som är utmärkta och kommer att komma igång på höger fot. Läs mer ) för distribution som mobilappar som ser "ursprungliga" ut.
Medan integrerade utvecklingsmiljöer (IDE) Text Editors 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 insikt 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 den här metoden är brant. Oavsett språk du väljer måste du ha kunskap om dess grunder. Att investera den här tiden framåt är en nackdel med den här metoden, i den meningen att du inte kommer att kunna komma in på 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 tro att mobilmarknaden nu är mättad med varje app som man kan tänka sig - men det är inte fallet. Det finns gott om nischer som fortfarande behöver ... Läs mer , och du kan utveckla för stationära och serversidan applikationer (inklusive webbaserade) förutom Android-appar.
Vilket alternativ är bäst för ditt projekt?
Så vilken aveny är den "bästa?" Detta är för subjektivt för att svara för alla, men vi kan generalisera det enligt följande. Om du är nyfiken men bara "spelar runt", håll dig fast med pek-och-klick-appskaparna. De hjälper dig att skrapa den kreativa klåda utan att behöva några "kurser". Men om idén om att kurser inte skrämmer dig, överväg att ta längre väg och lära dig en programmering språk. Investeringen kommer att betala sig på många andra sätt.
Ö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 detaljer (som layout och skärmflöde), som de är mycket snabbare att blanda sig i en musdriven miljö. Sedan implementera dem igen i Java om det behövs för att dra fördel av dess flexibilitet.
Vi kommer att ta exakt den strategin i den här guiden. Vi ska:
- Prototyp vår applikation, en "skrapplatta" som lagrar lite text i en fil åt dig, med MITs App Inventor.
- Göra om implementeringen 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 det mer till en "anteckningsblock."
Okej, nog talar. I nästa avsnitt gör vi oss redo att koda.
Gör dig redo att skapa din app
Dyk inte rätt in ännu - först behöver du lite kunskap och mjukvara.
Kunskap du behöver
Innan vi börjar installera mjukvara finns det viss kunskap du bör ha innan du börjar. Först och främst är, "Vad ska den göra?" Vänta tills du har ett tydligt koncept för din app innan du startar utvecklingen kan verka som en given - men du blir förvånad. Så ta lite tid att arbeta igenom det här konceptet, till och med jotting några anteckningar om beteende och skissar några skärmar Vad är en wireframe för en webbplats och hur kan det hjälpa dig att utveckla din webbplats?På teknisk nivå är en modern webbplats inte bara en sak. Det är en komplex soppa med interagerande tekniker, till exempel HTML (markeringen du ser på sidan), JavaScript (språket som körs i din webbläsare, ... Läs mer . Ha först en relativt komplett bild av din app.
Nästa, titta in vad ä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 eftertiden. Du kan skapa en app som kommer att fånga video. Du kan inte skapa en som lagrar varje ögonblick i ditt liv på din enhet (otillräcklig lagring). Men du kan försök att ladda ner en del av denna lagring till molnet, även om det kommer att ta tid att utvecklas, 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 kommer att koda från grunden eller inte.
Slutligen är det värt att veta vad är där ute redan. Om du bara vill lära dig eller bidra till samhället, finns det ett befintligt open source-projekt som ditt? Kan du gaffa 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 din tävling ut? Om du skriver en enkel väckarklocka-app och förväntar dig att tjäna en miljon dollar på det, skulle du bättre ta med något speciellt till bordet.
Som diskuterats kommer vi att bygga en enkel skrapplatta som samlar in och innehåller lite text du lägger i den. Och genom att göra det kommer vi att bryta reglerna ovan, eftersom det finns många Android-anteckningsappar där ute, båda öppen 5 bästa open source-anteckningsappar för AndroidÄlskar du öppen källkodsprogram och vill anteckna? Vi täcker dig. Läs mer och stängd källa Vad är den bästa gratis anteckningsappen för Android?Vill du ta 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 detta blir en mycket mer komplex app senare. Du måste börja någonstans.
Nu får vi en del av den programvara du behöver.
Förbereder sig för att utvecklas med App Inventor
Du behöver inte installera någonting för att använda App Inventor-verktyget. Det är en webbapplikation och du kommer åt den helt via webbläsaren. När du besöker webbplatsen ser du en knapp i det övre högra hörnet till Skapa appar! Om du inte är inloggad på ett Google-konto för närvarande klickar du på en inloggningssida.

Annars bör du gå direkt till App Inventor's Mina projekt sida.

Tänk 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 Store. Då är du redo för nu - du behöver ett löpande 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 rätt version bör installeras utan problem på Windows eller Mac också.

Du kan starta emulatorn genom att köra kommandot “aiStarter”. Detta börjar en bakgrundsprocess Hur man styr Linux-starttjänster 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 (molnbaserad) App Inventor. Windows-system kommer att ge 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 / kommandon för appinventor / aiStarter &
När den körs kan du testa anslutningen genom att klicka på emulator artikel i Ansluta meny. Om du ser emulatorn spinna upp (som visas på bilden nedan) är du bra att gå.

Installera Android Studio
Om du planerar att utveckla några enkla program kan App Inventor vara allt du behöver någonsin. Men efter att ha spelat med det ett tag kan du träffa en vägg, eller så kanske du vet att du kommer att använda några funktioner som App Inventor inte stöder (som fakturering i appen). För detta måste du ha Android Studio installerat.
Nu är den officiella utvecklingsmiljön som sanktionerad av Google, Android Studio en version av IntelliJ IDEA Java IDE från JetBrains. Du kan ladda ner en kopia till ditt operativsystem från Googles Android-utvecklingssida här. Windows- och Mac-användare kan starta installationsprogrammet med en EXE-fil eller DMG-bild Så här fungerar programvaruinstallatörer på Windows, macOS och LinuxModerna operativsystem ger dig enkla metoder för att ställa in nya applikationer. Men vad händer faktiskt 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 det). Annars kan du använda Ubuntu Make att ladda ner och installera paketet åt dig. Om du har den senaste LTS-versionen (16.04 från och med detta skrivande) måste du lägga till Ubuntu Gör PPA Vad är en Ubuntu PPA och varför skulle jag vilja använda en? [Teknisk förklaring] Läs mer till ditt system för att få åtkomst till Android Studio:
sudo add-apt-repository ppa: ubuntu-desktop / ubuntu-make
Uppdatera sedan ditt system med följande.
sudo apt uppdatering
Slutligen installerar Ubuntu Make med detta kommando:
sudo apt install umake
När installationen är installerad kan du leda Ubuntu Make att installera Android Studio för dig med följande kommando:
umake android android-studio

Efter att licensavtalet har visats börjar det ladda ner och installera basprogrammet. När den är klar och du startar Android Studio leder en guide dig igenom ett par steg.
Först får du val om du vill ha en "Standard" -installation eller något anpassat. Välj Standardinstallationen här, så låter du komma igång snabbare.

Då 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 stänkskä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 göra dina händer smutsiga. Utan vidare, låt oss bygga något.
Bygga en enkel Android-anteckningsblock
Eftersom vi (naturligtvis) har satt och tänkt igenom detta innan vi bara hoppat in, vet vi att vår Android-app kommer att bestå av två skärmar.
Den ena låter användaren "redigera nu" eller avsluta, och den andra gör den faktiska redigeringen. Den första skärmen kan verka värdelös, men den kan komma till nytta senare när vi lägger till funktioner. Den text som fångats på skärmen "redigera" stas i en vanlig textfil, eftersom regler för vanlig text Allt du behöver veta om filformat och deras egenskaperVi använder ordfilen omväxlande: musik, bild, kalkylblad, bildspel, och så vidare. Men vad gör en fil till en "fil" ändå? Låt oss försöka förstå denna grundläggande del av datoranvändning. Läs mer . Följande trådramar ger oss en bra referens (och det tog bara 5 minuter att piska upp):

I nästa avsnitt bygger vi det med MITs App Inventor.
Komma igång med MIT App Inventor
Det första steget är att skapa ett nytt projekt. Logga in i App Inventor och klicka sedan på Starta nytt projekt till vänster (finns också i projekt meny).

Du får en dialogruta för att ge den ett namn.

Men nu har du tappat in App Inventors Designervy, och det finns mycket att ta in. Låt oss ta en stund att titta på varje avsnitt.

- Titelfältet överst visar ditt projektnamn (muoScratchpad); låter dig lägga till, ta bort och växla mellan skärmens app (t.ex. Skärm 1); och växlar mellan App Inventors Designer och Blocks utsikt längst till höger.
- De Palett till vänster innehåller alla kontroller och widgetar du använder. De delas upp i avsnitt som Användargränssnitt och Lagring; vi kommer att använda båda dessa i vår app. Vi får se hur Palett innehåller olika artiklar i Blocks se.
- De Visare visar dig vad du bygger på WYSIWYG-mode.
- Komponenter är en lista över objekt som ingår i 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 också att visas här, även om de inte faktiskt ingår i användargränssnittet.
- De Media kan du ladda upp tillgångar som du kommer att använda i ditt projekt, till exempel bilder eller ljudklipp. (Vi behöver inte den här.)
- Slutligen, Egenskaper ruta låter dig konfigurera den nu 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 sammansätta 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 appens namn, en rad hjälptext, en knapp för att flytta till skärmen "redigera" och en knapp för att avsluta. Du kan se Användargränssnitt paletten har alla objekt vi behöver: två Etiketter, och två Knappar. Dra dessa till en vertikal kolumn längst upp på skärmen.

Nästa kommer vi att konfigurera var och en. För etiketter kan du ställa in element som texten ska vara, bakgrundsfärgen och justering. Vi kommer att centrera båda våra etiketter men ställa in appens namn på svart med vit text.

Det är dags att se hur det verkligen ser ut på en enhet. När du bygger saker gör du det i babysteg. Jag kan inte betona det här tillräckligt.

Bygg inte en stor lista över 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 vill testa på en riktig telefon kan du starta din AI2 Companion-app och ansluta till App Inventor med antingen QR-koden eller den med sex tecken.

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. Hursomhelst, efter en kort paus bör du se din apppopp upp och se ut som du har i Viewer (den faktiska layouten kan bero på dimensionerna på din enhet och emulator).

Eftersom titeln ser bra ut, låt oss också ändra texten på de andra och anpassa dem i mitten (detta är en egenskap på skärmen, AlignHorizontal, inte texten / knapparna). Nu kan du se en av de riktigt coola aspekterna av App Inventor - alla dina förändringar görs i realtid! Du kan se texten ändras, knapparna justerar justeringen etc.
Att göra det funktionellt
Nu när layouten är klar, låt oss lägga till lite funktionalitet. Klicka på Blocks knappen uppe till vänster. Du kommer att se en liknande layout som Designer-vyn, men du har några olika val ordnade i kategorier. Det här är programmeringskoncept snarare än gränssnittskontroller, men som den andra vyn använder du dra-och-släpp för att sätta ihop dem 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 hända bakom kulisserna, till exempel Matematik objekt som kan utföra beräkningar. Nedanför finns en lista över elementen på din skärm (er), och blocken som finns tillgängliga här kommer att påverka dessa element. Om du till exempel klickar på ett av våra etiketter visas block som kan ändra den etikettens text, medan knapparna har block för att definiera vad som händer när du klickar på dem.
Förutom deras kategori (representerad av färg) har varje block också en form som representerar dess syfte. Dessa kan grovt delas upp enligt följande:
- Du kan tänka på objekt med ett stort gap i mitten, till exempel om "då-då" -blocket som visas ovan, som sådana som hanterar evenemang. När något sker i appen, kommer de andra sakerna inuti detta gap att springa.
- Platta block med kontakter är en av två saker. De första är uttalanden, som motsvarar kommandon, de artiklar som passar i flöden ovan. I exemplet ovan, gör en lista block är ett uttalande stäng ansökan.
- Det andra alternativet är uttryck, som endast skiljer sig något från uttalanden. Där ett uttalande kan säga "ställa in detta på '42", skulle ett uttryck vara något som "lägg till 22 till 20 och ge mig resultatet tillbaka." I ovanstående är 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 ett skår till höger.
- Slutligen, värden inkludera siffror ("17" och "42" ovan), textsträngar ("Thing 1" och "Thing 2") eller true / false. De har vanligtvis bara en flik till vänster, eftersom de är något du ger till ett uttalande eller uttryck.
Du kan säkert gå igenom alla guider och handledning på App Inventor. Men det är utformat för att du bara börjar klicka runt och (bokstavligen) se vad som passar. På vår första sida har vi två artiklar som behöver uppmärksamhet (knapparna), så låt oss se vad vi kan komma på. En av dessa (Knapp2) stänger appen när du klickar på den. Eftersom detta är en interaktion med knappen. Vi kan leta efter knappblock och hitta en som börjar med när knappen2.klickar (eller när man klickar på knapp 1). Det här är exakt vad vi vill, så vi drar detta till Viewer.

När det klickas nu vill vi att appen stängs, vilket låter som en övergripande appflödesfunktion. Ta en titt i Inbyggd> Kontroll avsnittet ser vi verkligen en stäng ansökan Blockera. Och dra den till springan i det första blocket, klickar det på plats. Framgång!

När du klickar på knappen stängs appen. Låt oss prova det i emulatorn. Det visar oss ett fel att stängning av appen inte stöds i utvecklingsmiljön, men att se detta betyder att det fungerar!

Bygga den andra skärmen: Redigeringsskärm
Låt oss nu vända vår uppmärksamhet mot Button1.
Detta är tänkt att öppna vår redaktör, så vi borde se till att redaktören finns! Låt oss byta tillbaka till Designer och skapa en ny skärm med samma etikett som den första skärmen, a Textruta (ställ in på "fylla förälder" för Bredd, 50% för Höjd, och med Multi 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 vill stasha innehållet från TextBox, vilket låter som Lagring. Visst nog, det finns ett par alternativ där inne.
Av dessa, Fil är det mest enkla, och eftersom vi vill ha vanlig text kommer det att vara bra. När du lägger detta i visaren kommer du att märka att det inte visas. Fil är en icke-synliga komponent, eftersom det fungerar i bakgrunden för att spara innehållet i en fil på enheten. Hjälptexten ger dig en uppfattning om hur detta fungerar, men om du vill att dessa objekt är synliga, kolla bara i Visa dolda komponenter i Viewer kryssruta.

Byt till Blocks-vyn nu - det är dags att programmera. Det enda beteende vi behöver är när man klickar på knappen "<< Spara" så vi tar tag i vårt när knappen1.klickar Blockera. Här börjar App Inventor verkligen lysa.
Först sparar vi innehållet i TextBox genom att ta tag i ring File1.saveFile blockera och ge den texten vi vill ha (med TextBox1: er) TextBox1.text, som hämtar innehållet) och en fil för att lagra den (ange bara en sökväg och 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.initialiserar Blockera). Det borde ring File1.ReadFrom vilket pekar på vårt filnamn. Vi kan fånga resultatet av att läsa textfilen med Fil> när File1.GotText, tilldela innehållet till TextBox med hjälp av TextBox> Ställ in TextBox. Text till blockera och lämna det få text värde. Slutligen, efter att vi har sparat, vill vi att ett klick på knappen1 skickar oss tillbaka till huvudskärmen (a stäng skärmen Blockera).

Det sista steget är att gå tillbaka till huvudskärmen och programmera den första knappen. Vi vill att den ska skicka oss till Editor-skärmen, som är en tårta med Kontroll> öppna en annan skärm blockera, ange "Editor."

Vad kommer härnäst?
Nu när du har något som fungerar, vad kommer nu? För att förbättra det naturligtvis! App Inventor ger dig tillgång till ett brett utbud av Android-funktioner. Utöver de enkla skärmarna som vi just har 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 som kommer att tänka på är förmågan att välja bland flera filer. Men en snabb internetsökning avslöjar att detta kräver högsta hackery 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
Nedanstående avsnitt beskriver - på en mycket hög nivå - utvecklingen av vår skrapplatta-app i Java. Det är värt att upprepa igen: även om det kan betala stora utdelningar på vägen, kräver det en betydande tid att lära sig Java och Android Studio.
Så det kommer inte att finnas så mycket förklaring till vad koden betyder nedan, och du bör inte heller oroa dig för det. Att lära Java ligger utanför denna artikel. 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 upp Android Studio och välj Starta nya Android Studio Project Artikel. Du leds genom en guide som frågar ett par saker. Den första skärmen ber om ett namn på din app, din domän (detta är viktigt om du skickar till app store, men inte om du bara utvecklar för dig själv) och en katalog för projektet.

På nästa skärm kommer du att ställa in versionen av Android En snabbguide till Android-versioner och -uppdateringar [Android]Om någon säger 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 flera versioner och plattformar. Om du vill... Läs mer att rikta in sig. Om du väljer en nyare version låter du inkludera plattformens nyare funktioner, men det kan hända att vissa användare som har enheter inte är aktuella kan uteslutas. Det här är en enkel app, så vi kan hålla oss med Ice Cream Sandwich.

Nästa kommer vi att välja standard Aktivitet för vår app. Aktiviteter är ett kärnbegrepp i Android-utvecklingen, 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älv. Skärmen efter det låter dig ge den ett namn.


När det nya projektet har startat, ta dig en stund för att bekanta dig med Android Studio.

- Det översta 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. (Gå igång och prova det, det kommer att bygga helt fint.) Det finns andra som Spara och Hitta, men dessa fungerar via kortkommandona som vi alla är vana vid (Ctrl + S respektive Ctrl + F).
- Den vänstra Projekt ruta 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å vad du redigerar exakt kan det vara textbaserat eller grafiskt, som vi kommer att se om ett ögonblick. Detta kan också visa andra rutor, till exempel en högeregenskapsfönster (igen, som App Inventor).
- Höger och nedre gränserna har ett urval av andra verktyg som dyker upp som rutor när du väljer. 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.
Portar huvudskärmen till Java
Vi börjar med att bygga igen skrapplattan 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 år var att skapa ett användargränssnitt på Android en noggrann process som involverade handgjorda XML. Numera gör du det grafiskt, precis som i App Inventor. Var och en av våra aktiviteter kommer att ha en layoutfil (gjort i XML) och en kodfil (JAVA).
Klicka på fliken “main_activity.xml” så ser du nedanstående (mycket designliknande) skärm. 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 måste skapa en knapp i kod såväl som grafiskt, till skillnad från App Inventor som hanterar bokföringen för oss.
Men tycka om AI, Android: s Java API använder konceptet "onClickListner." Det reagerar när en användare klickar på en knapp precis som vår gamla vän blocket “när Button1.click”. Vi kommer att använda metoden "finish ()" så att användaren klickar, appen kommer att lämna (kom ihåg, prova detta i emulatorn när du är klar).

Lägga till redigeringsskärmen
Nu när vi kan stänga appen kommer vi att spåra våra steg igen. Innan du kopplar upp "Redigera" -knappen, låt oss skapa redigeringsaktiviteten (skärmen). Högerklicka i Projekt ruta och välj Ny> Aktivitet> Tom aktivitet och namnge det "EditorActivity" för att skapa den nya skärmen.

Sedan skapar vi redigeringslayouten med en EditTextBox (där texten kommer att gå) och en knapp. Justera Egenskaper av var och en till din smak.

Byt nu till filen EditorActivity.java. Vi kodar upp några liknande funktioner som vad vi gjorde i App Inventor.
Man skapar 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 skapar EditTextBox och ladda vår text i den. Slutligen kommer lite mer kod att skapa knappen och dess onClickListener (som kommer att spara texten i filen och sedan stänga aktiviteten).


När vi kör den i emulatorn ser vi följande:
- Innan det körs finns det ingen mapp på “/ lagring / emulerad / 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 som ovan, inte heller vår skrappadfil.
- När du klickar på Redigera -knappen skapas, liksom filen.
- När du klickar Spara, all text som anges sparas i filen. Du kan bekräfta genom att öppna filen i en textredigerare.
- När du klickar Redigera igen ser du föregående innehåll. Ändra det och klicka Spara lagrar det och klickar Redigera igen kommer att minnas det. Och så vidare.
- När du klickar Utgångkommer appen att slutföras.
Förbättra appen: Välj din lagringsfil
Nu har vi en fungerande version av vår ursprungliga App Inventor skrapplatta. Men vi skickade 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 gör detta kommer vi verkligen att göra detta till en anteckningsblock än bara en skrapplatta, så vi skapar en kopia av det aktuella projektet använder instruktionerna här.
Vi använde en Android-avsikt för att ringa vår redaktörsaktivitet från den huvudsakliga, men de är också ett bekvämt sätt att ringa andra applikationer. Genom att lägga till ett par kodrader skickar vår avsikt en begäran om filhanteringsapplikationer De 7 bästa gratis filutforskarna för AndroidDet finns ett gäng filhantering och filutforska appar där ute för Android, men det här är bäst. Läs mer att svara. Detta innebär att vi kan ta bort en bra del av kodkontrollen för att skapa filen, eftersom avsikten bara låter oss bläddra / välja en som faktiskt finns. I slutändan förblir vår redaktörsaktivitet exakt densamma.

Att få vår avsikt att ge oss tillbaka ett sträng (Java-textobjekt) som vi kan packa in i vårt avsikt var en utmaning. Lyckligtvis när det gäller programmeringsfrågor är internet din vän. EN snabbsökning ger oss ett par alternativ, inklusive kod vi kan klistra in i vår app.


Och med denna lilla förändring och lite lånad kod kan vi använda en filwebbläsare / hanterarapplikation på enheten för att välja filen för att lagra vårt innehåll. Nu när vi befinner oss i "förbättringsläge" är det enkelt att komma med ett par 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 ange ett filnamn och sedan skapa och välja den filen.
- Det kan vara användbart att låta vår app 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 behöver ställa dig själv om du vill distribuera den alls! 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 uppmanar dig att inte tänka så. Du kommer sannolikt att bli förvånad över hur användbart det är för andra; om inget annat är det åtminstone en inlärningsupplevelse som visar vad en ny kodare kan göra.
Men även om du bestämmer dig för att hå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 dig hur du paketerar din app så att den kan delas i källkodsform och ett installerbart paket.
Distribution av källkod
Oavsett vilken metod du har använt fram till denna tidpunkt har du ändrat uppringningskod på vägen.
Medan App Inventor gör ett bra jobb med att dölja den faktiska koden bakom kulisserna, representerar alla block och UI-widgetar du har rört dig om alla. Och källkoden är ett helt giltigt sätt att distribuera programvara, vilket öppen källkodssamhälle väl kan intyga. Detta är också ett utmärkt sätt att engagera andra i din ansökan, eftersom de kan ta vad 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 (oss själva inkluderad) enkelt importera det tillbaka till samma program och komma igång snabbt.
Exportera 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 välj menyn Exportera valt projekt (.aia) till min dator.

Detta kommer att hämta den ovannämnda .AIA-filen (förmodligen “App Inventor Archive”). Men detta är faktiskt en ZIP-fil; försök öppna den i din favoritarkivhanterare för att inspektera innehållet.

Lägg märke till att innehållet i appinventor / ai_ [ditt användar-id] / [projektnamn] mappen är en SCM- och BKY-fil. Detta är inte JAVA-källan som vi såg i Android Studio, så du kommer inte att kunna öppna dessa i någon gammal utvecklingsmiljö och sammanställa dem. Men du (eller någon annan) kan importera 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 sedan den till en ny plats och öppna den från det vanliga Arkiv> Öppna i huvudmenyn.
Android Studio läser projektets inställningar (workspace.xml) och allt borde vara som det var tidigare.

Det är värt att notera att arkivera hela mappen kommer inkludera lite cruft, specifikt filerna från ditt program senaste byggnad.
Dessa kommer att rensas och regenereras under nästa byggnad, så de är inte nödvändiga för att behålla projektets integritet. Men de skadar det inte heller, och det är lättare (speciellt för att börja utvecklare) att inte börja krossa med vilka mappar som ska följa med och vilka som inte bör göra det. Bättre att ta hela saken snarare än 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 pröva den, är en APK-fil det bästa alternativet. Det vanliga Android-paketformatet bör vara bekant för dem som har gått utanför Play Store för att få programvara.
Att få dessa är lika enkelt som att arkivera källan i båda programmen. Sedan kan du lägga upp den på en webbplats (som F-Droid) eller dela den till några vänliga människor för att få feedback. Detta skapar ett fantastiskt betatest för appar du tänker sälja senare.
Bygga en APK i App Inventor
Gå över till Bygga och välj App (spara .apk på min dator) Artikel. Appen kommer att börja byggas (bevisas av en framstegsfält), och när den är klar får du en dialogruta som sparar APK-filen. Nu kan du kopiera och skicka det 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 Store ä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 byggandet är klart ger ett meddelande meddelande en länk till mappen på din dator som innehåller appen.

Google Play-distribution
Att bli konfigurerad som en Google-utvecklare är lite av en process. Du bör överväga det när du väl har erfarenhet under bältet, men det är inte något du behöver ta itu med direkt.
Först och främst har det en registreringsavgift på $ 25. Det har också ett antal tekniska detaljer som är något svåra att ändra vid ett senare tillfälle. Till exempel måste du skapa en kryptografisk nyckel för att signera dina appar, och om du någonsin tappar den kommer du inte att kunna uppdatera appen.
Men på en hög nivå finns det tre stora processer som du behöver göra för att få din app till Play Store:
- 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 nämnda 25 $ -avgift.
- Förbered appen för butiken: Emulatorversionerna av appen som du testat är också felsökning versioner. Detta innebär att de har mycket extra kod relaterad till felsökning och loggning som inte är nödvändig, och att de till och med kan utgöra 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 den krypto-nyckel vi nämnde tidigare.
- Ställ in din infrastruktur: Du måste också ställa in butikssidan för din app. Google tillhandahåller en lista med råd för att ställa in en lista som får dig installationer (och försäljning!). Din infrastruktur kan också innehålla servrar som din app synkroniseras med.
- Slutligen, Om du vill få betalt behöver du en betalningsprofil. Detta är en av dem en gång-och gjort detaljer, så se till att du vet hur allt passar 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 se tillbaka på några av de viktigaste lärdomarna vi lärde oss i ovanstående avsnitt.
- Vi tittade på två vägar för att göra din app: pek-och-klicka-byggare och kodning från grunden i Java. Den första har en lägre inlärningskurva och erbjuder ett rättvist (men ändå begränsat) sortiment av funktionalitet. Den andra låter dig bygga nästan allt du kan tänka på och erbjuder fördelar utöver Android-utvecklingen, men det tar längre tid att lära sig.
- Medan de alla har sina för- och nackdelar, du kan använda båda vägarna! Peka-och-klickmiljö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 hoppa till att arbeta med själva appen, kommer du att bli mycket glad senare om du tar lite tid till det designa din appinklusive 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 metoderna ovan är bra alternativ.
- Ett enkelt sätt att börja utveckla är att lägga upp användargränssnittselement och sedan "leda upp dem" genom att programmera deras funktionalitet. Medan erfarna utvecklare kan börja koda "bakgrund" -komponenter, för nybörjare, hjälper det att kunna visualisera allt.
- När du dyker in i kod, var inte rädd för att söka på webben efter svar. Om du kör en Google-sökning med ett par sökord och "kodexempel" i slutet får du några bra resultat.
- Testa ditt arbete lite åt gången när du bygger. Annars blir det mycket svårt att avgöra vilka av de senaste två timmars åtgärderna som bröt din app.
Med dessa i åtanke, komma dit och börja göra dina app-utvecklingsdrömmar till verklighet. Och om du bestämmer dig för att få dina händer smutsiga, låt oss veta hur det går i kommentarerna (vi älskar länkar till skärmdumpar, förresten). Lycklig byggnad!
Aaron har varit armbågsdjup inom teknik som affärsanalytiker och projektledare under 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 datorisering i vanlig textläge.