Hur man skapar en Android -app: Allt du behöver veta

Hur man skapar en Android -app: Allt du behöver veta
Den här guiden finns att ladda ner som en gratis PDF. Ladda ner den här filen nu . Kopiera gärna och dela detta med dina vänner och familj.

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. Den första är att skriva den från grunden, troligen i Java. Men detta antar naturligtvis dig redan känna till Java eller ha tålamod att lära dig det innan du dyker in. Men tänk om du kliar att komma igång direkt?





Det andra alternativet är en av pek-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 utföra några snygga saker med App Inventor, som kommer att hålla dig upptagen tills du kan gräva i Java och få tillgång till alla de kraftfulla funktionerna i Android -plattformen.





I avsnitten nedan bygger vi 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 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 ta det.



Varför utvecklas för Android?

Det finns många anledningar till att du vill skapa din egen Android -app, inklusive:

  • Nödvändighet : Det är trots allt uppfinningens moder. Kanske efter att ha letat efter din drömapp i Play Store, inser du att det är något du måste bygga själv eftersom ingen annan har ä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 -gemenskapen. Utan bidrag från öppen källkod skulle det inte finnas något Linux, och utan Linux skulle det inte finnas någon Android (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 utvecklas för den. Det kan vara för skolan eller din egen nyfikenhet. Och hej, om du kan tjäna ett par kronor på det i slutändan, 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. Även om Android en gång betraktades som apportintäkterna för 'låg hyra', har detta långsamt vänt. Business Insider rapporterade i mars att Android -intäkterna förväntas komma över 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 konsolkomponenter och MakeUseOfs egen app (inte längre tillgänglig).

Oavsett din anledning kommer apputveckling att utmana dina 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 och förlag . 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 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 av en grund inlärningskurva. Du kan vanligtvis hoppa direkt in och åtminstone börja lägga upp 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 betyder den enkelheten att du är prisgiven av verktygets skapare om 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 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 den antingen på din telefon eller via en Android -emulator.

Skriv från Scratch

Det andra alternativet är att skriva din ansökan från grunden. Det här är förmodligen annorlunda än vad du föreställer dig - det är inte som filmerna skildrar det.

Det skriver kod en rad i taget i källfiler och kompilerar dem sedan till ett körbart program. Även om det kan låta tråkigt, spenderas mycket mer av din tid i programmering i verkligheten design , eller tänka igenom hur saker ska fungera. Fråga de flesta utvecklare, så säger de att de bara lägger 10-15% av sin tid på kodinmatning. Så du kommer att spendera större delen av din tid med att drömma (produktivt) om vad din app ska göra.

Du kan koda Android -applikationer på ett par olika sätt. Det 'vanliga' sättet är att skriva appar i Java, konsekvent 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ö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 Virtual Machine. Slutligen finns det sätt att 'packa upp' webbapplikationer (med hjälp av verktygssatser som Microsofts Xamarin eller Facebooks Native React) för distribution som mobilappar som ser 'inbyggda' ut.

Medan integrerade utvecklingsmiljöer (IDE: er) hanterar några av de rutinmässiga elementen i programmering, förstå att inlärningskurvan för denna metod är brant. Oavsett vilket språk du väljer måste du vara insatt i grunderna. 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 längden, eftersom de färdigheter du lär dig kan tillämpas någon annanstans. Lär dig Java, och du kan utveckla för stationära och serversida applikationer (inklusive webbaserade) utöver 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 för alla, men vi kan generalisera det enligt följande. Om du är nyfiken men bara 'leker', håll dig till pek-och-klicka-appskaparna. De hjälper dig att klia den kreativa kliande utan att behöva några kurser. Men om tanken på kurserna inte skrämmer dig, överväg att ta den längre vägen och lära dig ett programmeringsspråk. Investeringen kommer att ge resultat på många andra sätt.

Dessutom kan du överväga att använda båda! Pek-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 vissa detaljer (som layout och skärmflöde), som de är mycket snabbare att blanda runt i en musdriven miljö. Implementera dem sedan i Java om det behövs för att dra nytta av dess flexibilitet.

Vi tar exakt det tillvägagångssättet i den här guiden. Vi ska:

  1. Prototyp vår applikation, en 'scratchpad' som kommer att lagra lite text i en fil åt dig, med MITs App Inventor.
  2. Å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 det mer till en 'anteckningsblock'.

Okej, nog att prata. I nästa avsnitt gör vi oss redo att koda.

Gör dig redo att skapa din app

Dyk inte in direkt - först behöver du lite kunskap och lite programvara.

Kunskap du behöver

Innan vi börjar installera 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 given - men du skulle bli förvånad. Så ta lite tid att arbeta igenom detta koncept, till och med skriva några anteckningar om beteende och skissa några skärmar. Ha en relativt komplett bild av din app först.

Titta sedan in vad är möjligt. Tänk dig till exempel att den perfekta bilden av din app är något som låter dig video-logga 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äcklig lagring). Men du burk försök att ladda ner en del av denna lagring till molnet, även om det kommer att ta tid att utvecklas, och det har 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 kodar från början eller inte.

Slutligen är det värt att veta vad finns där ute redan. Om du bara vill lära dig eller bidra till gemenskapen, finns det ett befintligt open source -projekt som ditt? Kan du gaffla 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 är din tävling? Om du skriver en enkel väckarklocka -app och förväntar dig att tjäna en miljon dollar på det, är det bättre att ta med något speciellt till bordet.

Som diskuterat kommer vi att bygga en enkel skraplatta som samlar in och innehåller lite text du lägger i den. Och därigenom bryter vi mot reglerna ovan, eftersom det redan finns många Android-anteckningsappar där ute, både öppna och sluten källa . Men låt oss låtsas att detta kommer att bli 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 att utvecklas med App Inventor

Du behöver inte installera något för att använda App Inventor -verktyget. Det är en webbapplikation, och du får tillgång till 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 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.

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 klar för nu - du behöver ett projekt som körs 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 också installeras utan problem på Windows eller Mac.

Du kan starta emulatorn genom att köra kommandot 'aiStarter'. Detta börjar en bakgrundsprocess som ansluter din (lokala) emulator till den (molnbaserade) App Inventor. Windows -system ger en genväg till den, medan den startar automatiskt för Mac -användare vid inloggning. Linux -användare måste köra följande i en terminal:

hur man frigör utrymme i Windows 10
/usr/google/appinventor/commands-for-appinventor/aiStarter &

När den har körts kan du testa anslutningen genom att klicka på Emulator objekt i Ansluta meny. Om du ser emulatorn snurra upp (som visas på bilden nedan) är du klar att gå.

Installera Android Studio

Om du planerar att utveckla några enkla program kan App Inventor vara allt du behöver. Men efter att ha lekt med det ett tag kan du träffa en vägg, eller du kanske 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 enligt Google, Android Studio en version av IntelliJ IDEA Java IDE från JetBrains. Du kan ladda ner en kopia för ditt operativsystem från Googles sida för Android -utvecklare här . Windows- och Mac -användare kan starta installationsprogrammet med hjälp av en EXE -fil eller DMG -bild.

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 Make för att ladda ner och installera paketet åt dig. Om du har den senaste LTS -versionen (16.04 i skrivande stund) måste du lägga till Ubuntu Make PPA i 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 update

Slutligen installerar du Ubuntu Make med det här kommandot:

sudo apt install umake

När det är installerat kan du instruera Ubuntu Make att installera Android Studio åt dig med följande kommando:

umake android android-studio

Efter att ha visat licensavtalet börjar det ladda ner och installera basprogrammet. När den är klar och du startar Android Studio leder en guide 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.

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 få tillgång till dina inställningar.

Jag vet att du är redo att smutsiga dina händer. Utan vidare, låt oss bygga något.

Bygga en enkel Android -anteckningsblock

Eftersom vi (naturligtvis) har suttit och tänkt igenom detta 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 nytta senare när vi lägger till funktioner. Texten som fångas på 'redigera' -skärmen kommer att lagras i en vanlig textfil, eftersom ren text reglerar. Följande wireframes ger oss en bra referenspunkt (och 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 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 släpps du in i App Inventors Designer -vy, och det finns mycket att ta in. Låt oss ta en stund att titta på varje avsnitt.

  1. Titelfältet högst 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 Inventor's Designer och Block åsikter längst till höger.
  2. 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 har olika föremål i Block se.
  3. De Visare visar vad du bygger på WYSIWYG -sätt.
  4. Komponenter är en lista över objekt som ingår i den aktuella skärmen. När du lägger till knappar, textrutor etc. visas de här. Vissa 'dolda' objekt, som referenser till filer, kommer också att visas här, även om de faktiskt inte är en del av användargränssnittet.
  5. De Halv avsnitt 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.)
  6. Slutligen, Egenskaper i panelen kan du konfigurera den valda widgeten. Om du till exempel väljer en bildwidget kan du ändra dess höjd och bredd.

Lägga upp din första skärm: 'Huvudskärm'

Låt oss lägga layouten för huvudskärmen tillsammans i Designer innan vi går vidare. Om vi ​​tittar på skissen behöver vi en etikett för appnamnet, en rad med 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 föremål vi behöver: två Etiketter , och två Knappar . Dra dem 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 texten ska vara, bakgrundsfärgen och justeringen. Vi kommer att centrera båda våra etiketter men ställa 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 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 vill testa på en riktig telefon kan du starta din AI2 Companion-app och ansluta till App Inventor med antingen QR-koden eller sexkodskoden.

För att förhandsgranska med hjälp av emulatorn, se till att du har startat aiStarter -programmet som beskrivs ovan och välj sedan Emulator objektet igen från Ansluta meny. Hur som helst, efter en kort paus, bör du se din appvalp upp och se ut ungefär 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 på skärmen, Justera Horisontell , inte texten/knapparna). Nu kan du se en av de riktigt häftiga aspekterna av App Inventor - alla dina ändringar görs i realtid! Du kan se hur texten ändras, knapparna justerar deras inriktning 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 har några olika val ordnade i kategorier. Det här är programmeringskoncept snarare än gränssnittskontroller, men i likhet med 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. Nedan 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å 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 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 dig föremål med ett stort gap i mitten, till exempel blocket 'om-då' som visas ovan, som de som hanterar evenemang . När något äger rum i appen kommer de andra sakerna i det gapet att köras.
  • Platta block med kontakter är en av två saker. De första är uttalanden , som motsvarar kommandon, de objekt som passar in i flödena ovan. I exemplet ovan, gör en lista block är ett uttalande, som det är stäng ansökan .
  • Det andra alternativet är uttryck , som endast skiljer sig något från påståenden. När ett uttalande kan säga 'sätt detta till' 42 ', skulle ett uttryck vara ungefär' 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 sannolikt en flik på vänster sida och ett snäpp till höger.
  • Slutligen, värden inkludera siffror ('17' och '42' ovan), textsträngar ('sak 1' och 'sak 2') eller sant/falskt. 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. Det är dock utformat för att du bara ska börja klicka runt och (bokstavligen) se vad som passar. På vår första sida har vi två objekt som behöver uppmärksamhet (knapparna), så låt oss se vad vi kan hitta på. En av dessa (Button2) stänger appen när den klickas. Eftersom detta är en interaktion med knappen. Vi kan leta efter knappblock och hitta det som börjar med när Button2.click (eller när du klickar på knapp 1). Detta är precis vad vi vill, så vi drar detta till Viewer.

Nu när det är klickat 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 a stäng ansökan Blockera. Och drar det till luckan i det första blocket, det klickar på plats. Framgång!

När du nu 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: Editor Screen

Låt oss nu rikta vår uppmärksamhet mot Button1.

Detta är tänkt att öppna vår redaktör, så det är bättre att se till att redigeraren finns! Låt oss gå tillbaka till Designer 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 Multiline aktiverat) för att hålla vårt innehåll och en annan knapp (märkt '<< Save'). Now check that layout in the emulator!

hur kan jag ladda ner video från youtube till min iphone

Innan vi går vidare vet vi att vi vill lagra innehållet från TextBox, vilket låter som Lagring . Visst, det finns ett par alternativ där.

Av dessa, Fil är det mest okomplicerade, och eftersom vi vill ha ren text blir det bra. När du lägger detta i Viewer kommer du att märka att det inte visas. Fil är en icke synlig 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 ska vara synliga, kontrollera bara Visa dolda komponenter i Viewer kryssruta.

Byt till blockvyn nu - det är dags att programmera. Det enda beteendet vi behöver är när '<< Save' button is clicked, so we'll grab our när Button1.click 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 den text vi vill ha (med TextBox1 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.initialize Blockera). Det borde ring File1.ReadFrom vilket pekar på vårt filnamn. Vi kan fånga resultatet av att läsa textfilen med Arkiv> när File1.GotText , tilldela innehållet till textboxen med TextBox> ställ in TextBox.Text till blockera och lämna den få text värde. Slutligen, efter att ha sparat, vill vi att ett klick på Button1 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 Editor -skärmen, som är en kaka med Kontroll> öppna en annan skärm block, specificera 'Editor'.

Vad kommer härnäst?

Nu när du har något som fungerar, vad kommer sedan? För att förstärka det förstås! 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 jag tänker på är möjligheten att välja bland flera filer. Men en snabb internetsökning avslöjar att detta kräver en högsta hackare 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 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 stora utdelningar på vägen, kräver att lära sig Java och Android Studio en betydande investering av tid.

Så det blir inte så mycket förklaring till vad koden betyder nedan, och du bör inte oroa dig så mycket för det. Att undervisa i Java ligger utanför tillämpningsområdet för denna artikel. Vad vi ska göra undersöker hur nära Java -koden är för de saker som 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 leds genom en trollkarl 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 till appbutiken, men inte om du bara utvecklar själv) och en katalog för projektet.

På nästa skärm ställer du in versionen av Android för att rikta in dig. Genom att välja en nyare version kan du inkludera plattformens nyare funktioner, men det 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 i 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 och bygger det själva. Skärmen efter det låter dig ge den ett namn.

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

  1. Det övre verktygsfältet har knappar för en mängd olika funktioner. Den som är viktigast för oss är Springa -knappen, som bygger appen och startar den i emulatorn. (Fortsätt och prova det, det kommer att bygga 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).
  2. Den vänstra Projekt rutan visar innehållet i ditt projekt. Du kan dubbelklicka på dessa för att öppna dem för redigering.
  3. Mittregionen är din redaktör. Beroende på vad du redigerar kan det vara textbaserat eller grafiskt, som vi ser om en stund. Detta kan också visa andra rutor, till exempel en högeregenskapsruta (igen, som App Inventor).
  4. De högra och nedre kanterna 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.

Porta huvudskärmen till Java

Vi börjar med att bygga om skraplattan i Java. Om 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 handgjord XML. Numera gör du 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 ihop Utgång knapp. Vi måste skapa en knapp i såväl kod som grafiskt, till skillnad från App Inventor som hanterar bokföringen åt oss.

Men tycka om AI, Androids Java API använder begreppet en 'onClickListner'. Den reagerar när en användare klickar på en knapp precis som vår gamla vän blocket 'när knapp1. Klick'. Vi använder metoden 'finish ()' så att när användaren klickar kommer appen att avslutas (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 spårar vi om våra steg. Innan vi kopplar upp 'Redigera' -knappen, låt oss göra redigeringsaktivitet (skärm). Högerklicka i Projekt i rutan och välj Ny> Aktivitet> Tom aktivitet och namnge den 'EditorActivity' för att skapa den nya skärmen.

Sedan skapar vi layouten för Editor med en EditTextBox (där texten kommer att gå) och en knapp. Justera Egenskaper av var och en efter eget tycke.

Byt nu till EditorActivity.java -filen. Vi kommer att koda upp några liknande funktioner som vi gjorde i App Inventor.

En 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 skapar EditTextBox och ladda in vår text i den. Slutligen skapar lite mer kod 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:

  1. Innan körningen finns det ingen mapp på '/storage/emulated/0/Android/data/[din domän och projektnamn]/filer', som är standardkatalogen för appspecifika data.
  2. Vid första körningen visas huvudskärmen som förväntat. Fortfarande ingen katalog som ovan, inte heller vår scratchpad -fil.
  3. När du klickar på Redigera -knappen skapas katalogen, liksom filen.
  4. Vid att klicka Spara , kommer all text som sparas att sparas i filen. Du kan bekräfta genom att öppna filen i en textredigerare.
  5. Vid att klicka Redigera igen ser du det tidigare innehållet. Ändra det och klicka Spara kommer att lagra den och klicka Redigera åter kommer att komma ihåg det. Och så vidare.
  6. Vid att klicka Utgång , kommer appen att slutföras.

Förbättra appen: Välj din lagringsfil

Nu har vi en fungerande version av vår ursprungliga App Inventor scratchpad. Men vi överförde 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 har gjort det här kommer vi verkligen att göra detta mer av en anteckningsblock än bara en skrapa, så vi skapar en kopia av det aktuella projektet med instruktionerna här .

Vi använde en Android Intent för att ringa till vår Editor Activity från den huvudsakliga, men de är också ett bekvämt sätt att ringa andra applikationer. Genom att lägga till ett par rader kod skickar vår avsikt en begäran om filhanteringsprogram att svara. Det betyder att vi kan ta bort en stor del av kodkontrollen för 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årt avsikt att ge oss tillbaka en 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. A snabbsökning ger oss ett par alternativ, inklusive kod som vi kan klistra in i vår app.

Koden med tillstånd av StackOverflow

Och med denna lilla förändring och lite lånad kod kan vi använda en filbläddrare/hanteringsprogram på enheten för att välja filen för lagring av vårt innehåll. Nu när vi är i 'förbättringsläge' är det lätt att komma med några fler 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, 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 använda 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 uppmanar er att inte tänka så. Du kommer sannolikt att bli förvånad över hur användbart det är för andra; om inte 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 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ällkodform samt ett installerbart paket.

Distribution av källkod

Oavsett vilken metod du har använt hittills har du ändrat soure -kod längs vägen.

Medan App Inventor gör ett bra jobb med att dölja den faktiska koden bakom kulisserna, representerar de block och UI -widgets du har flyttat runt alla kod. Och källkoden är ett perfekt giltigt sätt att distribuera programvara, vilket öppen källkodssamhälle kan bevisa. Detta ä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 (vi själva inkluderade) enkelt importera tillbaka det 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 enkelt att öppna ditt projekt och sedan från Projekt -menyn, välj Exportera valt projekt (.aia) till min dator .

Detta hämtar den ovan nämnda .AIA -filen (förmodligen 'App Inventor Archive'). Men det här är faktiskt en ZIP -fil; försök öppna den i din favoritarkivhanterare för att inspektera dess innehåll.

varför slås min xbox på slumpmässigt

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 den JAVA -källa som vi såg i Android Studio, så du kommer inte att kunna öppna dessa i någon gammal utvecklingsmiljö och kompilera dem. Du (eller någon annan) kan dock importera dem till App Inventor igen.

Arkiverar kä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 det vanliga Arkiv> Öppna i huvudmenyn.

Android Studio läser projektets inställningar ( workspace.xml ) och allt ska vara som det var förut.

Det är värt att notera att arkiveringen av hela mappen kommer inkludera lite cruft, särskilt filerna från programmets senaste build.

Dessa kommer att rensas och återskapas under nästa build, 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örjare) att inte börja tjata om vilka mappar som ska följa med och vilka som inte ska. Bättre att ta det hela snarare än att missa något du behöver senare.

Paketdistribution för Android

Om du vill ge en kopia av din app till någon bara för att prova den, är en APK -fil din bästa insats. Standardpaketformatet för Android 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 lämna den till några vänliga människor för att få deras feedback. Detta ger ett bra betatest för appar som du vill sälja senare.

Bygga en APK i App Inventor

Gå till Bygga -menyn och välj App (spara .apk till min dator) Artikel. Appen börjar bygga (framgår 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 det till ditt hjärta.

För att kunna installera appen måste användarna tillåta installationer från tredje part i enhetens inställningar som beskrivs här .

Bygga en APK i Android Studio

Att bygga ett Android -paket är lika enkelt i Android Studio. Under Bygga välj Skapa APK . När bygget är klart kommer ett aviseringsmeddelande att ge dig en länk till mappen på din dator som innehåller appen.

Distribution av Google Play

Att sätta upp som en Google -utvecklare är lite av en process. Medan du för all del borde överväga det när du har lite erfarenhet under ditt bälte, ä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 lite 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 förlorar den kommer du inte att kunna uppdatera appen.

Men på en hög nivå finns det tre stora processer du måste göra för att få din app till Play Store:

  1. Registrera dig som utvecklare: Du kan konfigurera din utvecklarprofil (baserat på ett Google -konto) på denna sida . Guiden leder dig genom en ganska enkel registreringsprocess, som inkluderar den ovan nämnda $ 25 avgiften.
  2. 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ändigt, och de kan till och med representera ett integritetsproblem. Innan du publicerar till Store måste du ta fram en releaseversion genom att följa dessa steg . Detta inkluderar att signera din app med den kryptonyckel som vi nämnde tidigare.
  3. Konfigurera din infrastruktur: Du måste också konfigurera butiksidan för din app. Google tillhandahåller en lista med råd för att skapa en lista som får dig att installera (och försäljning!). Din infrastruktur kan också innehålla servrar som din app kommer att synkronisera med.
  4. 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 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ärt 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 fortfarande begränsat) sortiment 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.
  • Medan de alla har sina fördelar 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 hoppa direkt till själva appen, kommer du att bli mycket glad senare om du tar dig tid 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 metoderna ovan är bra alternativ.
  • Ett enkelt sätt att börja utveckla är att lägga ut element i användargränssnittet och sedan 'koppla upp dem' genom att programmera deras funktionalitet. Även om erfarna utvecklare kan börja koda 'bakgrund' -komponenter, för nybörjare, hjälper det att kunna visualisera allt.
  • När du dyker ner i kod, var inte rädd för att söka på nätet efter svar. Genom att köra en Google -sökning med ett par nyckelord och 'kodexempel' i slutet får du 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å timmars åtgärder som bröt din app.

Med dessa i åtanke, kom in där och börja göra dina apputvecklingsdrömmar 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). Lyckligt att bygga!

Dela med sig Dela med sig Tweet E-post Så här får du tillgång till Googles inbyggda bubblanivå på Android

Om du någonsin har behövt se till att något är i nivå med en nypa kan du nu få en bubbla på din telefon på några sekunder.

Läs Nästa
Relaterade ämnen
  • Android
  • Java
  • Programmering
  • Apputveckling
  • Lång form
  • Longform Guide
  • Android
Om författaren Aaron Peters(31 artiklar publicerade)

Aaron har varit armbågsdjupad 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, applikationer för småföretag, integration av Linux och Android och datorer i klartextläge.

Mer från Aaron Peters

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera