Sådan opretter du en Android -app: Alt hvad du behøver at vide

Sådan opretter du en Android -app: Alt hvad du behøver at vide
Denne vejledning kan downloades som en gratis PDF. Download denne fil nu . Du er velkommen til at kopiere og dele dette med dine venner og familie.

Velkommen til MakeUseOfs guide til oprettelse af din egen Android -app. I denne vejledning tager vi et kig på, hvorfor du vil oprette en egen Android -applikation, nogle muligheder for at bygge den og hvordan du gør den tilgængelig for andre.





Introduktion til Android -udvikling

Der er to primære måder at udvikle en Android -app på. Den første er at skrive det fra bunden, sandsynligvis i Java. Men dette forudsætter naturligvis dig allerede ved godt Java eller have tålmodighed til at lære det, før du dykker i. Men hvad nu hvis du klør for at komme i gang med det samme?





Den anden mulighed er en af ​​peg-og-klik-app-builderne på markedet. Mange af disse er målrettet mod virksomhedsbrugere (og kommer med en virksomhedspris). Men MIT tilbyder sin 'App Inventor', et online værktøj, der giver dig mulighed for at bygge din app visuelt. Du kan udføre nogle pæne ting med App Inventor, som holder dig optaget, indtil du kan grave ind i Java og få adgang til alle de kraftfulde funktioner på Android -platformen.





I afsnittene herunder opbygger vi en prototypeversion af en simpel 'scratchpad' -applikation, som gemmer den tekst, du skriver i den. Vi gør dette først i App Inventor og får vist resultaterne i en Android -emulator. Derefter udvider vi denne applikation med muligheden for at vælge blandt flere filer, hvilket gør den mere til en 'notesblok'. For denne type forbedringer skal vi dykke ned i Java og Android Studio.

Parat? Lad os komme til det.



Hvorfor udvikle til Android?

Der er en række grunde til, at du vil oprette din egen Android -app, herunder:

  • Nødvendighed : Det er jo opfindelsens moder. Måske efter at have kigget efter din drømme -app i Play Butik, indser du, at det er noget, du skal bygge selv, fordi ingen andre har endnu.
  • Fællesskab : At udvikle noget nyttigt og gøre det tilgængeligt gratis (især som open source) er en glimrende måde at deltage i Android- og/eller FOSS -fællesskabet. Uden open source -bidrag ville der ikke være Linux, og uden Linux ville der ikke være nogen Android (eller i det mindste ingen Android, som vi kender det). Så overvej at give tilbage!
  • Læring : Der er få bedre måder at få en forståelse af en platform på end at udvikle sig til den. Det kan være for skolen eller din egen nysgerrighed. Og hej, hvis du i sidste ende kan tjene et par kroner fra det, desto bedre.
  • Indtægtsgenerering : På den anden side, måske går du på dette for at tjene penge fra starten. Selvom Android engang blev betragtet som 'lav-leje' -området for appindtægter, har dette langsomt vendt. Business Insider rapporteret i marts at Android -indtægter forventes at overhale iOS for første gang i 2017.
  • Tilføjelse : Udviklere opretter ofte apps generelt som en måde at promovere, få adgang til eller på anden måde supplere et eksisterende produkt eller en service - f.eks. Konsol -ledsagende apps og MakeUseOfs egen app (ikke længere tilgængelig).

Uanset din grund vil appudvikling udfordre dine design, tekniske og logiske færdigheder. Og resultatet af denne øvelse (en fungerende og nyttig applikation til Android) er en stor bedrift, der kan tjene som en portefølje.





Der er mange muligheder for at oprette din app, herunder forskellige værktøjskasser, programmeringssprog og forlag . På et højt niveau opdeles disse i følgende to kategorier.

Peg og klik på Apps

Hvis du er helt ny i udviklingen, er der miljøer, der lader dig bygge en Android -app på samme måde, som du ville oprette en Powerpoint -præsentation. Du kan vælge knapper eller knapper eller tekstbokse, slippe dem på en skærm (som vist på billedet herunder) og angive nogle parametre for, hvordan de skal opføre sig. Alt sammen uden at skrive nogen kode.





Disse typer applikationer har fordelen af ​​en lav indlæringskurve. Du kan typisk springe lige ind og i det mindste begynde at lægge din skærm ud. De tager også meget kompleksitet ud af applikationen, da de er designet til at håndtere tekniske detaljer (som objekttyper eller fejlhåndtering) bag kulisserne. På den anden side betyder denne enkelhed, at du er prisgivet værktøjets skaber om, hvilke funktioner der understøttes. Derudover er mange af disse værktøjer målrettet mod store virksomheder og kan være dyre.

En undtagelse er MIT's App Inventor webapplikation, som er funktionel og gratis. Efter at have logget ind med en Google -konto, kan du klikke sammen på en app om et par minutter og få vist en forhåndsvisning af den enten på din telefon eller via en Android -emulator.

Skriv fra bunden

Den anden mulighed er at skrive din ansøgning fra bunden. Dette er sandsynligvis anderledes end hvad du forestiller dig - det er ikke sådan, at filmene skildrer det.

Det skriver kode én linje ad gangen i kildefiler og kompilerer dem derefter til et eksekverbart program. Selvom det kan lyde kedeligt, bruges der i virkeligheden meget mere af din tid til programmering i design eller tænke igennem, hvordan tingene skal fungere. Spørg de fleste udviklere, og de vil sige, at de kun bruger 10-15% af deres tid på kodeindtastning. Så du vil bruge det meste af din tid på at dagdrømme (produktivt) om, hvad din app skal gøre.

Du kan kode Android -applikationer på et par forskellige måder. Den 'standard' måde er at skrive apps i Java, konsekvent et af de mest populære sprog i verden, selvom Google tilføjer Kotlin som en anden mulighed. For præstationskrævende apps som spil har du mulighed for at skrive på et 'modersmål' sprog som C ++. Disse apps kører direkte på hardwaren på din Android-enhed i modsætning til 'almindelige' Java-baserede apps, der kører på Dalvik Virtual Machine. Endelig er der måder at 'pakke op' webapplikationer (ved hjælp af værktøjssæt som Microsofts Xamarin eller Facebooks Native React) til distribution som mobilapps, der ser 'native' ud.

Mens integrerede udviklingsmiljøer (IDE'er) håndterer nogle af de rutinemæssige elementer i programmering, skal du forstå, at indlæringskurven for denne metode er stejl. Uanset hvilket sprog du vælger, skal du kende til det grundlæggende. At investere denne tid på forhånd er en ulempe ved denne metode, i den forstand at du ikke vil være i stand til at komme ind i udviklingen af ​​din app med det samme. Men det er en fordel i det lange løb, da de færdigheder, du lærer, kan anvendes andre steder. Lær Java, og du kan udvikle til desktop- og server-side applikationer (herunder web-baserede) ud over Android-apps.

Hvilken mulighed er bedst for dit projekt?

Så hvilken allé er den 'bedste?' Dette er for subjektivt til at svare for alle, men vi kan generalisere det som følger. Hvis du er nysgerrig, men bare 'leger rundt', skal du holde dig til peg-og-klik-appskaberne. De hjælper dig med at ridse den kreative kløe uden at kræve noget 'kursusarbejde'. Men hvis ideen om dette kursus ikke skræmmer dig, kan du overveje at tage den længere vej og lære et programmeringssprog. Investeringen vil betale sig på mange andre måder.

Overvej desuden at bruge begge! Peg-og-klik-buildere er en glimrende måde at hurtigt sammensætte en prototype eller 'proof of concept'. Brug dem til at gennemgå nogle af detaljerne (som layout og skærmflow), som de er meget hurtigere at blande rundt i et musedrevet miljø. Geninstaller dem derefter i Java, hvis det er nødvendigt for at drage fordel af dets fleksibilitet.

Vi tager præcis den tilgang i denne vejledning. Vi vil:

  1. Prototype vores applikation, en 'scratchpad', der gemmer noget tekst i en fil til dig ved hjælp af MIT's App Inventor.
  2. Genopfør dette i Java (med lidt hjælp fra Googles Android Studio IDE), og fortsæt derefter til forlænge appen, så du kan vælge blandt flere filer, hvilket gør den mere til en 'notesblok'.

Okay, nok snak. I det næste afsnit gør vi os klar til at kode.

Gør dig klar til at oprette din app

Dyk ikke lige ind endnu - først har du brug for lidt viden og noget software.

Viden du skal bruge

Inden vi begynder at installere noget software, er der noget viden, du skal have, før du starter. Først og fremmest er, 'Hvad skal den gøre?' At vente, indtil du har et klart koncept for din app, før du starter udviklingen, kan virke som en given - men du vil blive overrasket. Så brug lidt tid på at gennemgå dette koncept, og skriv endda nogle noter om adfærd og skitser nogle skærme. Få et relativt komplet billede af din app først.

Se derefter på hvad er muligt. Forestil dig for eksempel, at det ideelle billede af din app er noget, der lader dig video-logge hele dit liv for eftertiden. Du kan oprette en app, der vil optage video. Du kan ikke opret en, der gemmer hvert øjeblik i dit liv på din enhed (utilstrækkelig opbevaring). Dog dig kan Prøv at aflade noget af dette lager til skyen, selvom det vil tage tid at udvikle det, og det har sine egne begrænsninger (hvad sker der, når du ikke har netværksadgang?). Det er her, du vil undersøge nogle af de tekniske detaljer og kan informere beslutninger som om du vil kode fra bunden eller ej.

Endelig er det værd at vide hvad er derude allerede. Hvis du bare ønsker at lære eller bidrage til fællesskabet, er der et eksisterende open source -projekt som dit? Kunne du udgive det projekt som udgangspunkt? Eller endnu bedre, udvikle din forbedring og bidrage med den? Hvis du ønsker at tjene penge, hvordan er din konkurrence? Hvis du skriver en simpel vækkeur -app og forventer at tjene en million dollars på det, må du hellere bringe noget særligt til bordet.

Som diskuteret bygger vi en simpel scratchpad, som samler og gemmer noget tekst, du lægger i den. Og på den måde bryder vi ovenstående regler, da der allerede er mange Android-notat-apps derude, både åbne og lukket kilde . Men lad os lade som om, at dette senere bliver en meget mere kompleks app. Du er nødt til at starte et sted.

Nu får vi noget af den software, du skal bruge.

Forbereder at udvikle med App Inventor

Du behøver ikke installere noget for at bruge App Inventor -værktøjet. Det er en webapplikation, og du får adgang til den helt via browseren. Når du besøger webstedet, ser du en knap i øverste højre hjørne til Opret apps! Hvis du ikke i øjeblikket er logget ind på en Google-konto, vil et klik på dette dirigere dig til en login-side.

Ellers skal du gå direkte til App Inventor's Mine projekter side.

Overvej på dette tidspunkt, hvor du vil teste din app. Hvis du er eventyrlysten, kan du teste det på din telefon eller tablet ved at installere Companion -appen fra Play Butik . Så er du klar til nu - du skal bruge et igangværende projekt for faktisk at se alt på din enhed, men det kommer vi til senere.

Alternativt kan du bruge emulatoren til at teste din app på din computer. Download og installer emulatoren til dit operativsystem fra denne side . Nedenstående billede viser appen, der installeres på Linux, men den relevante version skal også installeres uden problemer på Windows eller Mac.

Du kan starte emulatoren ved at køre kommandoen 'aiStarter'. Dette starter en baggrundsproces der forbinder din (lokale) emulator med den (skybaserede) App Inventor. Windows -systemer giver en genvej til det, mens det starter automatisk for Mac -brugere ved login. Linux -brugere skal køre følgende i en terminal:

hvordan ved jeg, om nogen blokerede mig på snapchat
/usr/google/appinventor/commands-for-appinventor/aiStarter &

Når den kører, kan du teste forbindelsen ved at klikke på Emulator element i Forbinde menu. Hvis du ser emulatoren dreje op (som vist på billedet herunder), er du klar til at gå.

Installation af Android Studio

Hvis du planlægger at udvikle nogle enkle programmer, kan App Inventor være alt, hvad du nogensinde har brug for. Men efter at have leget med det et stykke tid kan du ramme en væg, eller du ved måske, at du vil bruge nogle funktioner, som App Inventor ikke understøtter (f.eks. Fakturering i appen). Til dette skal du have Android Studio installeret.

Nu er det officielle udviklingsmiljø som godkendt af Google, Android Studio en version af IntelliJ IDEA Java IDE fra JetBrains. Du kan downloade en kopi til dit operativsystem fra Googles side for Android -udviklere her . Windows- og Mac -brugere kan starte installationsprogrammet ved hjælp af henholdsvis en EXE -fil eller et DMG -billede.

Linux -brugere kan bruge ZIP -filen, pakke den ud, hvor du vil, og køre Android Studio derfra (Windows/Mac -brugere kan også gøre dette). Ellers kan du bruge Ubuntu Make for at downloade og installere pakken for dig. Hvis du er på den seneste LTS -version (16.04 i skrivende stund), skal du tilføje Ubuntu Make PPA til dit system for at få adgang til Android Studio:

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make

Opdater derefter dit system med følgende.

sudo apt update

Til sidst skal du installere Ubuntu Make med denne kommando:

sudo apt install umake

Når den er installeret, kan du dirigere Ubuntu Make til at installere Android Studio for dig med følgende kommando:

umake android android-studio

Efter visning af licensaftalen begynder den at downloade og installere basisprogrammet. Når det er færdigt, og du starter Android Studio, leder en guide dig gennem endnu et par trin.

Først får du et valg om du vil have en 'Standard' installation eller noget tilpasset. Vælg standardinstallationen her, det lader dig komme hurtigere i gang.

Så får du en besked om, at du skal downloade nogle ekstra komponenter, og det vil sandsynligvis tage noget tid.

Når alt er installeret, får du en lille stænkskærm, der lader dig oprette et nyt projekt, åbne et eksisterende eller få adgang til dine indstillinger.

Jeg ved, at du er klar til at gøre dine hænder beskidte. Uden videre skal vi bygge noget.

Bygger en simpel Android Notesblok

Fordi vi (naturligvis) har siddet og tænkt over dette, inden vi bare hoppede ind, ved vi, at vores Android -app vil bestå af to skærme.

Den ene giver brugeren mulighed for at 'redigere nu' eller afslutte, og den anden vil foretage selve redigeringen. Den første skærm kan virke ubrugelig, men den kan være praktisk senere, når vi tilføjer funktioner. Teksten, der er fanget på 'redigeringsskærmen', gemmes i en almindelig tekstfil, fordi almindelig tekst reglerer. Følgende wireframes giver os et godt referencepunkt (og det tog kun 5 minutter at piske op):

I det næste afsnit bygger vi det med MITs App Inventor.

Kom godt i gang med MIT App Inventor

Det første trin er at oprette et nyt projekt. Log på App Inventor, og klik derefter på Start nyt projekt knappen til venstre (findes også i Projekter menu).

Du får en dialogboks for at give det et navn.

Men nu er du faldet ind i App Inventors Designer -visning, og der er meget at tage i. Lad os tage et øjeblik for at se på hvert afsnit.

  1. Titellinjen øverst viser dit projektnavn ( muoScratchpad ); lader dig tilføje, fjerne og skifte mellem din apps skærme (f.eks. Skærm 1 ); og skifter mellem App Inventor's Designer og Blokke synspunkter yderst til højre.
  2. Det Palet til venstre indeholder alle de kontroller og widgets, du vil bruge. De er opdelt i sektioner som Brugergrænseflade og Opbevaring ; vi bruger begge disse i vores app. Vi får se, hvordan Palet har forskellige genstande i Blokke udsigt.
  3. Det Seer viser dig, hvad du bygger på WYSIWYG -måde.
  4. Komponenter er en liste over elementer, der er en del af den aktuelle skærm. Når du tilføjer knapper, tekstbokse osv., Vises de her. Nogle 'skjulte' elementer, f.eks. Referencer til filer, vises også her, selvom de faktisk ikke er en del af brugergrænsefladen.
  5. Det Halvt sektion kan du uploade aktiver, som du vil bruge i dit projekt, f.eks. billeder eller lydklip. (Vi har ikke brug for denne.)
  6. Endelig er Ejendomme rude lader dig konfigurere den aktuelt valgte widget. Hvis du f.eks. Vælger en billedwidget, kan du ændre dens højde og bredde.

Opsætning af din første skærm: 'Hovedskærm'

Lad os lægge layoutet til hovedskærmen sammen i Designer, inden vi går videre. Når vi ser på skitsen, skal vi bruge en etiket til appnavnet, en linje med hjælpetekst, en knap til at flytte til 'rediger' -skærmen og en knap for at afslutte. Du kan se Brugergrænseflade paletten har alle de ting, vi har brug for: to Etiketter , og to Knapper . Træk disse ind i en lodret kolonne øverst på skærmen.

Dernæst konfigurerer vi hver enkelt. For etiketterne kan du indstille elementer som hvad teksten skal være, baggrundsfarven og justering. Vi vil centrere begge vores etiketter, men indstiller baggrunden for appnavnet til sort med hvid tekst.

Det er på tide at se, hvordan det rent faktisk ser ud på en enhed. Når du bygger ting, skal du gøre det i små trin. Jeg kan ikke understrege dette nok.

Byg ikke en stor liste over ting i din app på én gang, for hvis noget går i stykker, tager det en lang tid til at finde ud af hvorfor. Hvis du ønsker at teste på en rigtig telefon, kan du starte din AI2 Companion-app og oprette forbindelse til App Inventor med enten QR-koden eller den medfølgende seks tegn.

For at få vist en forhåndsvisning ved hjælp af emulatoren skal du kontrollere, at du har startet aiStarter -programmet beskrevet ovenfor, og derefter vælge Emulator genstand igen fra Forbinde menu. Uanset hvad, efter en kort pause, skulle du se din app hvalp op og se sådan ud, hvad du har i Viewer (det faktiske layout kan afhænge af dimensionerne på din enhed og emulator).

Da titlen ser godt ud, lad os også ændre teksten på de andre og justere dem i midten (dette er en egenskab på skærmen, Juster Horisontalt , ikke teksten/knapperne). Nu kan du se et af de virkelig fede aspekter af App Inventor - alle dine ændringer foretages i realtid! Du kan se teksten ændre sig, knapperne justerer deres justering osv.

Gør det funktionelt

Nu hvor layoutet er gjort, lad os tilføje nogle funktioner. Klik på Blokke knappen øverst til venstre. Du ser et lignende layout som Designer -visningen, men du har nogle forskellige valg arrangeret i kategorier. Disse er programmeringskoncepter frem for grænsefladekontroller, men ligesom den anden visning bruger du træk-og-slip til at sammensætte disse som en del af din app.

Paletten til venstre indeholder kategorier som f.eks Styring , Tekst , og Variabler i kategorien 'Indbygget'. Blokkene i denne kategori repræsenterer funktioner, der stort set vil ske bag kulisserne, f.eks Matematik elementer, der kan udføre beregninger. Nedenfor er en liste over elementerne på din skærm (er), og de blokke, der er tilgængelige her, vil påvirke disse elementer. For eksempel viser et klik på en af ​​vores etiketter blokke, der kan ændre etikettens tekst, mens knapperne har blokke til at definere, hvad der sker, når du klikker på dem.

Ud over deres kategori (repræsenteret med farve) har hver blok også en form, der repræsenterer dens formål. Disse kan groft opdeles som følger:

  • Du kan tænke på genstande med et stort hul i midten, f.eks. 'Hvis-så'-blokken vist ovenfor, som dem, der håndterer begivenheder . Når noget finder sted i appen, kører de andre ting inden i dette hul.
  • Flade blokke med stik er en af ​​to ting. De første er udsagn , der svarer til kommandoer, de elementer, der passer ind i ovenstående strømme. I eksemplet ovenfor er lav en liste blok er en erklæring, som den er luk ansøgning .
  • Den anden mulighed er udtryk , som kun adskiller sig lidt fra udsagn. Hvor en erklæring kan sige 'indstil dette til' 42 ', ville et udtryk være noget i retning af' tilføj 22 til 20 og giv mig resultatet tilbage '. I ovenstående, er på listen er et udtryk, der vurderes til enten sandt eller falsk. Udtryk er også flade blokke, men de har sandsynligvis en fane i venstre side og et hak til højre.
  • Til sidst, værdier omfatte tal ('17' og '42' ovenfor), tekststrenge ('Thing 1' og 'Thing 2') eller true/false. De har typisk kun en fane til venstre, da de er noget, du giver til et udsagn eller udtryk.

Du kan helt sikkert gå igennem alt guider og vejledninger på App Inventor. Det er dog designet til, at du bare kan begynde at klikke rundt og (bogstaveligt talt) se, hvad der passer. På vores første side har vi to emner, der har brug for opmærksomhed (knapperne), så lad os se, hvad vi kan finde på. En af disse (Button2) lukker appen, når der klikkes på den. Da dette er en interaktion med knappen. Vi kan kontrollere for knapblokke og finde, at der er en, der starter med når Button2.click (eller når der klikkes på knap 1). Det er præcis det, vi ønsker, så vi trækker dette ind i Viewer.

Når det nu er klikket, vil vi have, at appen lukkes, hvilket lyder som en samlet appflow -funktion. Tager et kig i Indbygget> Kontrol afsnit, ser vi faktisk a luk ansøgning Blok. Og trækker den til hullet i den første blok, klikker den på plads. Succes!

Når du nu klikker på knappen, lukker appen. Lad os prøve det i emulatoren. Det viser os en fejl, at lukning af appen ikke understøttes i udviklingsmiljøet, men at se dette betyder, at det virker!

Opbygning af den anden skærm: Editor -skærm

Lad os nu rette vores opmærksomhed mod Knap1.

Dette formodes at åbne vores editor, så vi må hellere sikre os, at editoren findes! Lad os skifte tilbage til Designer og oprette en ny skærm med samme etiket som den første skærm, a TextBox (indstillet til 'udfyld forælder' for Bredde, 50% for Højde , og med Multiline aktiveret) for at beholde vores indhold og en anden knap (mærket '<< Save'). Now check that layout in the emulator!

hvad er en quad core processor

Inden vi går videre, ved vi, at vi vil gemme indholdet fra TextBox, hvilket lyder som Opbevaring . Nok er der et par muligheder derinde.

Af disse, Fil er den mest ligetil, og da vi vil have ren tekst, vil det være fint. Når du lægger dette i Viewer, vil du bemærke, at det ikke vises. Fil er en ikke synlig komponent, da det fungerer i baggrunden for at gemme indholdet i en fil på enheden. Hjælpteksten giver dig en idé om, hvordan dette fungerer, men hvis du vil have disse elementer synlige, skal du bare kontrollere Vis skjulte komponenter i Viewer afkrydsningsfelt.

Skift til visningen Blokke nu - det er tid til at programmere. Den eneste adfærd, vi har brug for, er, når '<< Save' button is clicked, so we'll grab our når Button1.click Blok. Her begynder App Inventor virkelig at skinne.

Først gemmer vi indholdet i TextBox ved at få fat i ring til File1.saveFile blokere og give den den tekst, vi ønsker (ved hjælp af TextBox1's TextBox1.text , som henter dets indhold) og en fil til at gemme den (angiv bare en sti og filnavn med en tekstblok - appen opretter filen til dig, hvis den ikke findes).

Lad os også konfigurere skærmen til at indlæse indholdet af denne fil, når den åbnes ( Editor> når Editor.initialize Blok). Det burde ring til File1.ReadFrom hvilket peger på vores filnavn. Vi kan fange resultatet af at læse tekstfilen vha Fil> når File1.GotText , tildele dette indhold til TextBox ved hjælp af TextBox> indstil TextBox.Text til blok, og aflever den få tekst værdi. Endelig efter at have gemt, ønsker vi et klik på knap1 for at sende os tilbage til hovedskærmen (a luk skærmen Blok).

Det sidste trin er at gå tilbage til hovedskærmen og programmere den første knap. Vi vil have det til at sende os til Editor -skærmen, som er et stykke kage med Kontrol> åbn en anden skærm blok, med angivelse af 'Editor'.

Hvad kommer derefter?

Nu hvor du har noget, der virker, hvad kommer så? For at forstærke det selvfølgelig! App Inventor giver dig adgang til en lang række Android -funktioner. Ud over de enkle skærme, vi lige har oprettet, kan du tilføje funktioner, herunder medieafspilning, afsendelse af tekster eller endda en live webvisning til din app.

En af de første forbedringer, der kommer til at tænke på, er muligheden for at vælge blandt flere filer. Men en hurtig internetsøgning afslører, at dette kræver noget suverænt hackering i App Inventor. Hvis vi vil have denne funktion, skal vi grave ind i Java og Android Studio -miljøet.

Udvikling i Java med Android Studio

Nedenstående afsnit vil beskrive-på et meget højt niveau-udviklingen af ​​vores scratchpad-app i Java. Det er værd at gentage igen: Selvom det kan betale sig store gevinster undervejs, kræver det en betydelig investering af tid at lære Java og Android Studio.

Så der vil ikke være så meget forklaring på hvad koden betyder nedenfor, og du skal heller ikke bekymre dig meget om det. Undervisning i Java er uden for denne artikels anvendelsesområde. Hvad vi vil gøre undersøger, hvor tæt Java -koden er på de ting, vi allerede har bygget i App Inventor.

Start med at starte Android Studio, og vælg Start nyt Android Studio -projekt vare. Du bliver ledet gennem en troldmand, der spørger et par ting. Det første skærmbillede beder om et navn til din app, dit domæne (dette er vigtigt, hvis du sender til appbutikken, men ikke hvis du bare udvikler dig selv) og en mappe til projektet.

På den næste skærm indstiller du versionen af ​​Android til målretning. Hvis du vælger en nyere version, kan du inkludere platformens nyere funktioner, men kan udelukke nogle brugere, hvis enheder ikke er aktuelle. Dette er en simpel app, så vi kan blive ved med Ice Cream Sandwich.

Dernæst vælger vi standarden Aktivitet til vores app. Aktiviteter er et kernekoncept i Android -udvikling, men til vores formål kan vi definere dem som skærme. Android Studio har et nummer, du kan vælge fra, men vi starter bare med et tomt og bygger det selv. Skærmen efter det giver dig mulighed for at give det et navn.

Når det nye projekt lanceres, skal du tage et øjeblik til at stifte bekendtskab med Android Studio.

  1. Den øverste værktøjslinje har knapper til en lang række funktioner. Den, der er vigtigst for os, er Løb knappen, som vil bygge appen og starte den i emulatoren. (Fortsæt og prøv det, det vil bygge fint.) Der er andre som f.eks Gemme og Find , men disse fungerer via tastaturgenveje, vi alle er vant til (henholdsvis Ctrl+S og Ctrl+F).
  2. Den venstre hånd Projekt rude viser dit projekts indhold. Du kan dobbeltklikke på disse for at åbne dem til redigering.
  3. Centerregionen er din redaktør. Afhængigt af hvad du redigerer, kan dette være tekstbaseret eller grafisk, som vi ser om et øjeblik. Dette kan også vise andre ruder, f.eks. En højre egenskabsrude (igen, f.eks. App Inventor).
  4. Højre og nederste kant har et udvalg af andre værktøjer, der dukker op som ruder, når de vælges. Der er ting som en terminal til at køre kommandolinjeprogrammer og versionskontrol, men de fleste af disse er ikke vigtige for et enkelt program.

Portning af hovedskærmen til Java

Vi starter med at genopbygge scratchpad'en i Java. Når vi ser på vores tidligere app, kan vi se, at vi på den første skærm har brug for en etiket og to knapper.

I flere år var oprettelse af en brugergrænseflade på Android en omhyggelig proces, der involverede håndlavet XML. I dag gør du det grafisk, ligesom i App Inventor. Hver af vores aktiviteter vil have en layoutfil (udført i XML) og en kodefil (JAVA).

Klik på fanen 'main_activity.xml', og du vil se nedenstående (meget Designer-lignende) skærm. Vi kan bruge den til at trække og slippe vores kontroller: a TextView (som en etiket) og to Knapper .

Lad os forbinde Afslut knap. Vi skal oprette en knap i kode såvel som grafisk, i modsætning til App Inventor, der håndterer den bogføring for os.

Men synes godt om AI, Android's Java API bruger begrebet en 'onClickListner'. Det reagerer, når en bruger klikker på en knap ligesom vores gamle ven, når 'knap1.klik' -blokken. Vi bruger metoden 'finish ()', så når brugeren klikker, afslutter appen (husk, prøv dette i emulatoren, når du er færdig).

Tilføjelse af Editor -skærmen

Nu hvor vi kan lukke appen, sporer vi vores trin igen. Før vi tilslutter 'Rediger' -knappen, lad os lave Editor -aktivitet (skærm). Højreklik i Projekt rude og vælg Ny> Aktivitet> Tom aktivitet og navngiv det 'EditorActivity' for at oprette den nye skærm.

Derefter opretter vi layoutet af Editoren med en EditTextBox (hvor teksten vil gå) og en knap. Juster Ejendomme af hver til din smag.

Skift nu til EditorActivity.java -filen. Vi koder nogle funktioner, der ligner dem, vi gjorde i App Inventor.

Man vil oprette filen for at gemme vores tekst, hvis den ikke findes, eller læse dens indhold, hvis den gør det. Et par linjer vil skabe EditTextBox og indlæse vores tekst i den. Endelig vil lidt mere kode oprette knappen og dens onClickListener (som gemmer teksten i filen og derefter lukker aktiviteten).

Når vi nu kører det i emulatoren, ser vi følgende:

  1. Inden kørsel er der ingen mappe på '/storage/emulated/0/Android/data/[dit domæne og projektnavn]/filer', som er standardmappen for appspecifikke data.
  2. Ved første løb vises hovedskærmen som forventet. Stadig ingen mappe som ovenfor, og heller ikke vores scratchpad -fil.
  3. Ved at klikke på Redigere knappen, oprettes biblioteket, ligesom filen.
  4. Ved klik Gemme , vil enhver indtastet tekst blive gemt i filen. Du kan bekræfte ved at åbne filen i et tekstredigeringsprogram.
  5. Ved klik Redigere igen ser du det forrige indhold. Ændrer det og klikker Gemme gemmer den og klikker Redigere igen vil huske det. Og så videre.
  6. Ved klik Afslut , slutter appen.

Forbedring af appen: Vælg din lagerfil

Nu har vi en fungerende version af vores originale App Inventor scratchpad. Men vi overførte det til Java for at forbedre det. Lad os inkludere muligheden for at vælge blandt flere filer i denne standardmappe. Når vi gør dette, vil vi virkelig gøre dette mere til en notesblok end bare en skraberplade, så vi opretter en kopi af det aktuelle projekt ved hjælp af instruktionerne her .

Vi brugte en Android Intent til at kalde vores Editor -aktivitet fra den primære, men de er også en bekvem måde at ringe til andre applikationer på. Ved at tilføje et par linjer kode sender vores Intent en anmodning om filhåndteringsprogrammer At svare. Dette betyder, at vi kan fjerne en god del af kodekontrollen efter oprettelse af filen, da hensigten kun tillader os at gennemse/vælge en, der faktisk eksisterer. I sidste ende forbliver vores redaktøraktivitet nøjagtig den samme.

At få vores hensigt til at give os en streng tilbage (Java -tekstobjekt), som vi kan pakke ind i vores hensigt, var en udfordring. Heldigvis, når det kommer til programmeringsspørgsmål, er internettet din ven. EN hurtig søgning giver os et par muligheder, herunder kode, vi kan indsætte i vores app.

Kode med tilladelse til StackOverflow

Og med denne lille ændring og lidt lånt kode kan vi bruge en filbrowser/manager -applikation på enheden til at vælge filen til lagring af vores indhold. Nu hvor vi er i 'forbedringstilstand', er det let at komme med et par nyttige forbedringer:

  • Vi kan vælge blandt eksisterende filer, men i øjeblikket fjernede vi vores facilitet til skab dem. Vi skal bruge en funktion for at brugeren kan angive et filnavn, og derefter oprette og vælge den fil.
  • Det kan være nyttigt at få vores app til at reagere på 'Del' -anmodninger, så du kan dele en URL fra browseren og tilføje den til en af ​​dine notatfiler.
  • Vi har at gøre med almindelig tekst her, men rigere indhold med billeder og/eller formatering er temmelig standard i disse typer apps.

Med muligheden for at bruge Java er mulighederne uendelige!

Distribution af din app

Nu hvor din app er færdig, er det første spørgsmål, du skal stille dig selv, om du overhovedet vil distribuere den! Måske har du skabt noget så personligt og tilpasset, at det ser ud til, at det ikke ville være rigtigt for andre. Men jeg vil opfordre dig til ikke at tænke sådan. Du vil sandsynligvis blive overrasket over, hvor nyttig det er for andre; om ikke andet, så er det i det mindste en læringsoplevelse, der viser, hvad en ny koder kan.

Men selvom du beslutter dig for at beholde din nye skabelse for dig selv, skal du stadig bruge nogle af trinene nedenfor for faktisk at installere den på din enhed. Så lad os lære at pakke din app sammen til deling i kildekodeform samt en pakke, der kan installeres.

Distribution af kildekode

Uanset hvilken metode du har brugt indtil dette tidspunkt, har du ændret soure -kode undervejs.

Mens App Inventor gør et godt stykke arbejde med at skjule den faktiske kode bag kulisserne, repræsenterer de blokke og UI -widgets, du har bevæget dig rundt, alle kode. Og kildekoden er en fuldstændig gyldig måde at distribuere software på, som open source -fællesskabet godt kan bevidne. Dette er også en god måde at få andre involveret i din applikation, da de kan tage det, du har gjort, og bygge videre på det.

Vi får kildekoden fra begge miljøer i et struktureret format. Så kan enten nogen (os selv inkluderet) let importere det tilbage til det samme program og hurtigt komme i gang.

Eksporterer kilde fra App Inventor

For at eksportere fra App Inventor er det en simpel sag at åbne dit projekt og derefter fra Projekter i menuen, vælg Eksporter valgt projekt (.aia) til min computer .

Dette vil downloade den førnævnte .AIA -fil (formodentlig 'App Inventor Archive'). Men dette er faktisk en ZIP -fil; Prøv at åbne den i din foretrukne arkivmanager for at inspicere dens indhold.

Windows 10 system 100 diskbrug

Bemærk, at indholdet af appinventor/ai_ [dit bruger -id]/[projektnavn] mappe er en SCM- og BKY -fil. Dette er ikke den JAVA -kilde, vi så i Android Studio, så du kan ikke åbne dem i noget gammelt udviklingsmiljø og kompilere dem. Du (eller en anden) kan dog importere dem til App Inventor igen.

Arkivering af kilde fra Android Studio

At få dit Android Studio -projekt ud i et arkivformat er lige så let som at komprimere projektets mappe. Flyt det derefter til et nyt sted, og åbn det fra det sædvanlige Fil> Åbn element i hovedmenuen.

Android Studio læser dit projekts indstillinger ( workspace.xml ) og alt skulle være som det var før.

Det er værd at bemærke, at hele denne mappe arkiveres vilje inkludere nogle cruft, specifikt filerne fra dit programs sidste build.

Disse vil blive ryddet og regenereret under den næste build, så de er ikke nødvendige for at bevare integriteten af ​​dit projekt. Men de gør heller ikke ondt, og det er lettere (især for begyndende udviklere) ikke at begynde at grine med, hvilke mapper der skal følge med, og hvilke der ikke skal. Bedre at tage det hele frem for at gå glip af noget, du har brug for senere.

Distribution af Android -pakker

Hvis du vil give en kopi af din app til nogen bare for at prøve den, er en APK -fil det bedste bud. Standardpakkeformatet til Android burde være kendt for dem, der er gået uden for Play Store for at hente software.

At få disse er lige så let som at arkivere kilden i begge programmer. Derefter kan du sende det på et websted (f.eks. F-Droid) eller aflevere det til nogle venlige mennesker for at få deres feedback. Dette giver en god betatest til apps, du vil sælge senere.

Opbygning af en APK i App Inventor

Gå over til Byg menuen, og vælg App (gem .apk på min computer) vare. App'en begynder at bygge (fremgår af en statuslinje), og når den er færdig, får du en dialog, der gemmer APK -filen. Nu kan du kopiere og sende det til dit hjerte.

For at installere appen skal brugerne tillade tredjeparts softwareinstallationer i enhedens indstillinger som beskrevet her .

Opbygning af en APK i Android Studio

At bygge en Android -pakke er lige så let i Android Studio. Under Byg menu, vælg Byg APK . Når opbygningen er fuldført, giver en meddelelsesmeddelelse dig et link til mappen på din computer, der indeholder appen.

Distribution af Google Play

At blive oprettet som en Google -udvikler er lidt af en proces. Selvom du på alle måder bør overveje det, når du har lidt erfaring under dit bælte, er det ikke noget, du skal tackle med det samme.

For det første har det et registreringsgebyr på $ 25. Det har også en række tekniske detaljer, der er lidt vanskelige at ændre på et senere tidspunkt. For eksempel skal du generere en kryptografisk nøgle for at signere dine apps, og hvis du nogensinde mister den, kan du ikke opdatere appen.

Men på et højt niveau er der tre store processer, du skal gøre for at få din app til Play Store:

  1. Tilmeld dig som udvikler: Du kan konfigurere din udviklerprofil (baseret på en Google -konto) på denne side . Guiden fører dig gennem en ret ligetil registreringsproces, som inkluderer det førnævnte gebyr på $ 25.
  2. Forbered appen til butikken: Emulatorversionerne af den app, du har testet, er også fejlfinding versioner. Det betyder, at de har en masse ekstra kode relateret til fejlfinding og logning, der ikke er nødvendig, og de kan endda repræsentere en bekymring om fortrolighed. Inden du publicerer til Store, skal du producere en udgivelsesversion ved at følge disse trin . Dette inkluderer at signere din app med den krypto-nøgle, vi nævnte tidligere.
  3. Opsæt din infrastruktur: Du skal også konfigurere butiksiden til din app. Google leverer en liste med råd til opsætning af en fortegnelse, der får dig til at installere (og salg!). Din infrastruktur kan også omfatte servere, som din app synkroniseres med.
  4. Til sidst, Hvis du vil have betalt, skal du bruge en betalingsprofil. Dette er en af ​​dem en gang og færdig detaljer, så sørg for at vide, hvordan alt vil passe sammen, før du går videre.

Resumé og lektioner

Vi er kommet til slutningen af ​​guiden. Forhåbentlig har dette vakt din interesse for Android -udvikling og givet dig en vis motivation til at tage din idé og faktisk udvikle den. Men før du lægger hovedet ned og begynder at bygge, lad os se tilbage på nogle af de vigtigste lektioner, vi har lært i ovenstående afsnit.

  • Vi kiggede på to stier for at lave din app: peg-og-klik-buildere og kodning fra bunden i Java. Den første har en lavere indlæringskurve og tilbyder et rimeligt (men stadig begrænset) sortiment af funktionalitet. Den anden giver dig mulighed for at bygge næsten alt, hvad du kan tænke på, og tilbyder fordele ud over Android -udvikling, men det tager længere tid at lære.
  • Selvom de hver især har deres fordele og ulemper, du kan bruge begge stier! Peg-og-klik-miljøerne giver en hurtig vending for at prototype din app, mens den anden giver dig mulighed for at genopbygge den til langsigtet forbedring.
  • Selvom det er fristende at springe direkte i gang med selve appen, bliver du meget glad senere, hvis du tager dig tid design din app , herunder skitser af grænsefladen og/eller uformel dokumentation om dens funktioner. Dette kan også hjælpe dig med at afgøre, om en eller begge af metoderne ovenfor er gode muligheder.
  • En let måde at begynde at udvikle på er at oprette brugergrænsefladeelementer og derefter 'tilslutte dem' ved at programmere deres funktionalitet. Selvom erfarne udviklere kan begynde at kode 'baggrund' -komponenter til nybegyndere, hjælper det med at kunne visualisere alt.
  • Når du dykker ned i kode, skal du ikke være bange for at søge på internettet efter svar. Hvis du kører en Google -søgning med et par søgeord og 'kodeeksempel' til sidst, får du nogle gode resultater.
  • Når du bygger, skal du teste dit arbejde lidt ad gangen. Ellers vil det være meget svært at afgøre, hvilken af ​​de sidste to timers handlinger, der ødelagde din app.

Med disse i tankerne, kom derind og begynd at gøre dine appudviklingsdrømme til virkelighed. Og hvis du beslutter dig for at gøre dine hænder beskidte, så lad os vide, hvordan det går i kommentarerne (vi elsker i øvrigt links til skærmbilleder). Glad bygning!

Del Del Tweet E -mail Sådan får du adgang til Googles indbyggede bobleniveau på Android

Hvis du nogensinde har haft brug for at sikre, at noget er i niveau med en knivspids, kan du nu få et bobleniveau på din telefon på få sekunder.

Læs Næste
Relaterede emner
  • Android
  • Java
  • Programmering
  • Appudvikling
  • Lang form
  • Longform Guide
  • Android
Om forfatteren Aaron Peters(31 artikler udgivet)

Aaron har været albue dybt inden for teknologi som forretningsanalytiker og projektleder i femten år og har været en loyal Ubuntu-bruger i næsten lige så lang tid (siden Breezy Badger). Hans interesser omfatter open source, applikationer til små virksomheder, integration af Linux og Android og computing i almindelig teksttilstand.

Mere fra Aaron Peters

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere