Hvordan lage en Android -app: Alt du trenger å vite

Hvordan lage en Android -app: Alt du trenger å vite
Denne guiden er tilgjengelig for nedlasting som en gratis PDF. Last ned denne filen nå . Kopier og del dette gjerne med venner og familie.

Velkommen til MakeUseOfs guide for å lage din egen Android -app. I denne guiden tar vi en titt på hvorfor du vil lage en egen Android -applikasjon, noen alternativer du har for å bygge den, og hvordan du gjør den tilgjengelig for andre.





Introduksjon til Android -utvikling

Det er to hovedmåter for å utvikle en Android -app. Den første er å skrive den fra bunnen av, mest sannsynlig i Java. Men dette antar selvfølgelig deg allerede vet Java eller ha tålmodighet til å lære det før du dykker i. Men hva hvis du klør for å komme i gang med en gang?





Det andre alternativet er en av pek-og-klikk-appbyggerne på markedet. Mange av disse retter seg mot bedriftsbrukere (og kommer med en prislapp for bedriften). Men MIT tilbyr sin 'App Inventor', et online verktøy som lar deg bygge appen din visuelt. Du kan oppnå noen fine ting med App Inventor, som vil holde deg opptatt til du kan grave i Java og få tilgang til alle de kraftige funksjonene på Android -plattformen.





I seksjonene nedenfor bygger vi en prototypeversjon av en enkel 'scratchpad' -applikasjon, som lagrer teksten du skriver inn i den. Vi gjør dette først i App Inventor og forhåndsviser resultatene i en Android -emulator. Deretter utvider vi denne applikasjonen med muligheten til å velge blant flere filer, noe som gjør den mer til en 'notisblokk'. For denne typen forbedringer må vi dykke ned i Java og Android Studio.

Klar? La oss komme til det.



Hvorfor utvikle for Android?

Det er flere grunner til at du vil lage din egen Android -app, inkludert:

  • Nødvendighet : Det er tross alt oppfinnelsens mor. Kanskje etter at du har sett i drømmeappen din i Play Store, skjønner du at det er noe du må bygge selv fordi ingen andre har det enda.
  • Samfunnet : Å utvikle noe nyttig og gjøre det tilgjengelig gratis (spesielt som åpen kildekode) er en utmerket måte å delta i Android- og/eller FOSS -fellesskapet. Uten bidrag fra åpen kildekode ville det ikke vært Linux, og uten Linux ville det ikke vært noen Android (eller i det minste ingen Android slik vi kjenner det). Så vurder å gi tilbake!
  • Læring : Det er få bedre måter å få en forståelse av en plattform enn å utvikle seg for den. Det kan være for skolen eller din egen nysgjerrighet. Og hei, hvis du kan tjene et par dollar på det til slutt, desto bedre.
  • Inntektsgenerering : På den annen side, kanskje du går på dette for å tjene penger fra starten. Selv om Android en gang ble ansett som det 'lave husleie' -området for appinntekter, har dette sakte snudd. Business Insider rapporterte i mars at Android -inntektene forventes å overhale iOS for første gang i 2017.
  • Tillegg : Utviklere lager ofte apper generelt som en måte å markedsføre, få tilgang til eller på annen måte utfylle et eksisterende produkt eller en tjeneste - for eksempel konsoll -tilhørende apper og MakeUseOfs egen app (ikke lenger tilgjengelig).

Uansett årsak, vil apputvikling utfordre design, tekniske og logiske ferdigheter. Og resultatet av denne øvelsen (en fungerende og nyttig applikasjon for Android) er en stor prestasjon som kan tjene som en portefølje.





Det er mange muligheter for å lage appen din, inkludert forskjellige verktøysett, programmeringsspråk og forlag . På et høyt nivå brytes disse inn i følgende to kategorier.

Pek og klikk på apper

Hvis du er en helt nybegynner innen utvikling, er det miljøer som lar deg bygge en Android -app på samme måte som du ville lage en Powerpoint -presentasjon. Du kan velge kontroller som knapper eller tekstbokser, slippe dem på en skjerm (som vist på bildet nedenfor) og gi noen parametere for hvordan de skal oppføre seg. Alt uten å skrive noen kode.





Denne typen applikasjoner har fordelen av en grunnt læringskurve. Du kan vanligvis hoppe rett inn og i det minste begynne å legge ut skjermen. De tar også mye kompleksitet ut av applikasjonen, ettersom de er designet for å håndtere tekniske detaljer (som objekttyper eller feilhåndtering) bak kulissene. På den annen side betyr denne enkelheten at du er prisgitt verktøyets skaper om hvilke funksjoner som støttes. I tillegg er mange av disse verktøyene rettet mot store selskaper og kan være dyre.

Et unntak er MITs App Inventor -webapplikasjon, som er funksjonell og gratis. Etter at du har logget deg på med en Google -konto, kan du klikke sammen en app på et par minutter og forhåndsvise den enten på telefonen eller via en Android -emulator.

Skriv fra Scratch

Det andre alternativet er å skrive søknaden din fra bunnen av. Dette er sannsynligvis annerledes enn det du forestiller deg - det er ikke som filmene skildrer det.

Den skriver kode én linje om gangen i kildefiler og kompilerer dem deretter til et kjørbart program. Selv om det kan høres kjedelig ut, blir det i virkeligheten brukt mye mer av tiden din på programmering design , eller tenke gjennom hvordan ting skal fungere. Spør de fleste utviklere, så vil de si at de bruker bare 10-15% av tiden sin på kodeoppføring. Så du vil bruke mesteparten av tiden på å dagdrømme (produktivt) om hva appen din skal gjøre.

Du kan kode Android -applikasjoner på et par forskjellige måter. Den 'vanlige' måten er å skrive apper i Java, konsekvent et av de mest populære språkene i verden, selv om Google legger til Kotlin som et annet alternativ. For ytelseskrevende apper som spill, har du muligheten til å skrive på et 'morsmål' som C ++. Disse appene kjøres direkte på maskinvaren til Android-enheten din, i motsetning til 'vanlige' Java-baserte apper som kjøres på Dalvik Virtual Machine. Til slutt er det måter å 'pakke opp' webapplikasjoner (ved hjelp av verktøysett som Microsofts Xamarin eller Facebooks Native React) for distribusjon som mobilapper som ser 'native' ut.

Selv om integrerte utviklingsmiljøer (IDE -er) håndterer noen av de rutinemessige elementene i programmering, må du forstå at læringskurven for denne metoden er bratt. Uansett hvilket språk du velger, må du ha kjennskap til det grunnleggende. Å investere denne tiden på forhånd er en ulempe med denne metoden, i den forstand at du ikke vil kunne komme inn i utviklingen av appen din med en gang. Men det er en fordel i det lange løp, ettersom ferdighetene du lærer kan brukes andre steder. Lær Java, og du kan utvikle for stasjonære og server-applikasjoner (inkludert nettbaserte) i tillegg til Android-apper.

Hvilket alternativ er best for prosjektet ditt?

Så hvilken avenue er den 'beste?' Dette er for subjektivt til å svare for alle, men vi kan generalisere det som følger. Hvis du er nysgjerrig, men bare 'leker', hold deg til pek-og-klikk-appskaperne. De vil hjelpe deg med å klø den kreative kløen uten å kreve noe kurs. Men hvis ideen om det kurset ikke skremmer deg, kan du vurdere å ta den lengre veien og lære et programmeringsspråk. Investeringen vil lønne seg på mange andre måter.

I tillegg bør du vurdere å bruke begge! Pek-og-klikk-byggherrer er en utmerket måte å raskt sette sammen en prototype eller et 'proof of concept'. Bruk dem til å arbeide gjennom noen av detaljene (som layout og skjermflyt), slik de er mye raskere å blande rundt i et musedrevet miljø. Deretter kan du implementere dem på nytt om nødvendig for å dra nytte av fleksibiliteten.

Vi tar nøyaktig den tilnærmingen i denne guiden. Vi vil:

  1. Prototype vår applikasjon, en 'scratchpad' som vil lagre litt tekst i en fil for deg, ved hjelp av MIT's App Inventor.
  2. Gjennomfør på nytt dette i Java (med litt hjelp fra Googles Android Studio IDE), og fortsett deretter til forlenge appen slik at du kan velge blant flere filer, noe som gjør den mer til en 'notisblokk'.

Ok, nok snakk. I neste avsnitt gjør vi oss klare til å kode.

Gjør deg klar til å lage appen din

Ikke dykk rett inn enda - først trenger du litt kunnskap og litt programvare.

Kunnskap du trenger

Før vi begynner å installere programvare, er det en viss kunnskap du bør ha før du starter. Først og fremst er, 'Hva skal den gjøre?' Å vente til du har et klart konsept for appen din før du starter utviklingen kan virke som en selvfølge - men du vil bli overrasket. Så ta litt tid å jobbe gjennom dette konseptet, til og med skrive noen notater om oppførsel og skissere noen skjermer. Ha et relativt komplett bilde av appen din først.

Se deretter på hva er mulig. Tenk deg for eksempel at det ideelle bildet av appen din er noe som lar deg video-logge hele livet ditt for ettertiden. Du kan lag en app som tar opp video. Du kan ikke lag en som vil lagre hvert øyeblikk av livet ditt på enheten din (utilstrekkelig lagring). Imidlertid, du kan Prøv å laste ned noe av denne lagringen til skyen, selv om det vil ta tid å utvikle seg, og det har sine egne begrensninger (hva skjer når du ikke har nettverkstilgang?). Det er her du vil undersøke noen av de tekniske detaljene og kan informere beslutninger som om du vil kode fra bunnen av eller ikke.

Til slutt er det verdt å vite hva er der ute allerede. Hvis du bare ønsker å lære eller bidra til fellesskapet, er det et eksisterende åpen kildekode -prosjekt som ditt? Kan du utstyre det prosjektet som utgangspunkt? Eller enda bedre, utvikle forbedringen din og bidra med den? Hvis du ønsker å tjene penger, hvordan er konkurransen din? Hvis du skriver en enkel vekkerklokke -app og regner med å tjene en million dollar på den, må du ta med noe spesielt på bordet.

Som diskutert, skal vi bygge en enkel skrapeplate, som samler og inneholder litt tekst du legger inn i den. Og ved å gjøre det, vil vi bryte reglene ovenfor, siden det allerede er mange Android-notatapper der ute, både åpne og lukket kilde . Men la oss late som dette blir en mye mer kompleks app senere. Du må begynne et sted.

Nå får vi noe av programvaren du trenger.

Forbereder å utvikle med App Inventor

Du trenger ikke å installere noe for å bruke App Inventor -verktøyet. Det er en webapplikasjon, og du får tilgang til den helt gjennom nettleseren. Når du besøker nettstedet, ser du en knapp øverst til høyre for å Lag apper! Hvis du ikke er logget på en Google-konto for øyeblikket, klikker du på dette for å vise deg til en påloggingsside.

Ellers bør du gå direkte til App Inventor's Mine prosjekter side.

På dette tidspunktet kan du vurdere hvor du vil teste appen din. Hvis du er eventyrlysten, kan du teste det på telefonen eller nettbrettet ved å installere ledsager -appen fra Play -butikken . Da er du klar for nå - du trenger et prosjekt som kjører for å faktisk se alt på enheten din, men vi kommer til det senere.

Alternativt kan du bruke emulatoren til å teste appen din på datamaskinen. Last ned og installer emulatoren for operativsystemet fra denne siden . Bildet nedenfor viser at appen installeres på Linux, men den riktige versjonen bør også installeres uten problemer på Windows eller Mac.

Du kan starte emulatoren ved å kjøre kommandoen 'aiStarter'. Dette starter en bakgrunnsprosess som kobler din (lokale) emulator til den (skybaserte) App Inventor. Windows -systemer gir en snarvei til den, mens den starter automatisk for Mac -brukere ved pålogging. Linux -brukere må kjøre følgende i en terminal:

slette windows update -filer windows 8
/usr/google/appinventor/commands-for-appinventor/aiStarter &

Når den kjører, kan du teste tilkoblingen ved å klikke på Emulator element i Koble Meny. Hvis du ser emulatoren spinne opp (som vist på bildet nedenfor), er du i gang.

Installerer Android Studio

Hvis du planlegger å utvikle noen enkle programmer, kan App Inventor være alt du trenger. Men etter å ha lekt med det en stund kan du treffe en vegg, eller du vet kanskje at du bruker noen funksjoner som App Inventor ikke støtter (for eksempel fakturering i app). For dette må du ha Android Studio installert.

Nå er det offisielle utviklingsmiljøet som godkjent av Google, Android Studio en versjon av IntelliJ IDEA Java IDE fra JetBrains. Du kan laste ned en kopi for operativsystemet fra Googles side for Android -utviklere her . Windows- og Mac -brukere kan starte installasjonsprogrammet med henholdsvis en EXE -fil eller et DMG -bilde.

Linux -brukere kan bruke ZIP -filen, pakke den ut hvor du vil, og kjøre Android Studio derfra (Windows/Mac -brukere kan også gjøre dette). Ellers kan du bruke Ubuntu Make for å laste ned og installere pakken for deg. Hvis du er på den nyeste LTS -versjonen (16.04 i skrivende stund), må du legge til Ubuntu Make PPA i systemet ditt for å få tilgang til Android Studio:

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

Oppdater deretter systemet med følgende.

sudo apt update

Til slutt installerer du Ubuntu Make med denne kommandoen:

sudo apt install umake

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

umake android android-studio

Etter at lisensavtalen er vist, begynner den å laste ned og installere basisprogrammet. Når den er fullført og du starter Android Studio, vil en veiviser lede deg gjennom et par andre trinn.

Først får du et valg om du vil ha en standardinstallasjon eller noe tilpasset. Velg standardinstallasjonen her, den lar deg komme i gang raskere.

Da får du en melding om at du trenger å laste ned noen ekstra komponenter, og det kommer sannsynligvis til å ta litt tid.

Når alt er installert, får du en liten sprutskjerm som lar deg lage et nytt prosjekt, åpne et eksisterende eller få tilgang til innstillingene dine.

Jeg vet at du er klar til å skitne hendene. Uten videre, la oss bygge noe.

Bygg en enkel Android Notisblokk

Fordi vi (selvfølgelig) har sittet og tenkt gjennom dette før vi bare hoppet inn, vet vi at Android -appen vår vil bestå av to skjermer.

Den ene lar brukeren 'redigere nå' eller avslutte, og den andre vil gjøre selve redigeringen. Den første skjermen kan virke ubrukelig, men den kan komme godt med senere når vi legger til funksjoner. Teksten som fanges opp på 'rediger' -skjermen vil bli lagret i en ren tekstfil, fordi ren tekst reglerer. Følgende wireframes gir oss et godt referansepunkt (og tok bare 5 minutter å piske opp):

I den neste delen vil vi bygge den med MITs App Inventor.

Komme i gang med MIT App Inventor

Det første trinnet er å lage et nytt prosjekt. Logg deg på App Inventor, og klikk deretter på Start nytt prosjekt -knappen til venstre (også tilgjengelig i Prosjekter Meny).

Du får en dialogboks for å gi den et navn.

Men nå faller du inn i App Inventors Designer -visning, og det er mye å ta i. La oss ta et øyeblikk for å se på hver seksjon.

  1. Tittellinjen øverst viser prosjektnavnet ditt ( muoScratchpad ); lar deg legge til, fjerne og bytte mellom appens skjermer (f.eks. Skjerm 1 ); og bytter mellom App Inventor's Designer og Blokker synspunkter helt til høyre.
  2. De Palett til venstre inneholder alle kontrollene og widgets du vil bruke. De er delt inn i seksjoner som Brukergrensesnitt og Oppbevaring ; vi bruker begge disse i appen vår. Vi får se hvordan Palett har forskjellige elementer i Blokker utsikt.
  3. De Seer viser deg hva du bygger på WYSIWYG -måte.
  4. Komponenter er en liste over elementer som er en del av gjeldende skjermbilde. Når du legger til knapper, tekstbokser, etc., vises de her. Noen 'skjulte' elementer, som referanser til filer, vil også vises her, selv om de egentlig ikke er en del av brukergrensesnittet.
  5. De Halv delen lar deg laste opp eiendeler du vil bruke i prosjektet ditt, for eksempel bilder eller lydklipp. (Vi trenger ikke denne.)
  6. Til slutt, Egenskaper -ruten lar deg konfigurere den valgte modulen. Hvis du for eksempel velger en bilde -widget, kan du endre høyden og bredden.

Legge ut din første skjerm: 'Hovedskjerm'

La oss sette oppsettet for hovedskjermen sammen i Designer før vi går videre. Når vi ser på skissen, trenger vi en etikett for appnavnet, en linje med hjelpetekst, en knapp for å gå til redigeringsskjermen og en knapp for å avslutte. Du kan se Brukergrensesnitt paletten har alle elementene vi trenger: to Etiketter , og to Knapper . Dra disse til en vertikal kolonne øverst på skjermen.

Deretter konfigurerer vi hver enkelt. For etikettene kan du angi elementer som hva teksten skal være, bakgrunnsfargen og justeringen. Vi sentrerer begge etikettene våre, men setter bakgrunnen for appnavnet til svart med hvit tekst.

Det er på tide å se hvordan det faktisk ser ut på en enhet. Når du bygger ting, gjør det i babysteg. Jeg kan ikke understreke dette nok.

Ikke bygg en stor liste over ting i appen din på en gang, for hvis noe går i stykker, tar det en lang på tide å finne ut hvorfor. Hvis du ønsker å teste på en ekte telefon, kan du starte AI2 Companion-appen og koble til App Inventor med enten QR-koden eller koden på seks tegn.

For å forhåndsvise ved hjelp av emulatoren, må du kontrollere at du har startet aiStarter -programmet som er beskrevet ovenfor, og deretter velge Emulator elementet igjen fra Koble Meny. Uansett, etter en kort pause, bør du se appungen din opp og se ut som det du har i Viewer (det faktiske oppsettet kan avhenge av dimensjonene til enheten og emulatoren).

Siden tittelen ser bra ut, la oss også endre teksten på de andre og justere dem i midten (dette er en egenskap på skjermen, Juster Horisontalt , ikke teksten/knappene). Nå kan du se en av de veldig kule aspektene ved App Inventor - alle endringene dine er utført i sanntid! Du kan se tekstendringen, knappene justerer justeringen, etc.

Gjør det funksjonelt

Nå som oppsettet er gjort, la oss legge til litt funksjonalitet. Klikk på Blokker knappen øverst til venstre. Du ser et lignende oppsett som Designer -visningen, men du har noen forskjellige valg sortert i kategorier. Dette er programmeringskonsepter i stedet for grensesnittkontroller, men i likhet med den andre visningen bruker du dra og slipp for å sette dem sammen som en del av appen din.

Paletten til venstre inneholder kategorier som Kontroll , Tekst , og Variabler i kategorien 'Innebygd'. Blokkene i denne kategorien representerer funksjoner som i stor grad vil skje bak kulissene, for eksempel Matte elementer som kan utføre beregninger. Under dette er en liste over elementene på skjermen (e) dine, og blokkene som er tilgjengelige her vil påvirke disse elementene. For eksempel, ved å klikke på en av våre etiketter, vises blokker som kan endre etikettens tekst, mens knappene har blokker for å definere hva som skjer når du klikker på dem.

I tillegg til kategorien (representert med farge), har hver blokk også en form som representerer formålet. Disse kan grovt deles som følger:

  • Du kan tenke på elementer med et stort hull i midten, for eksempel 'hvis-da' -blokken vist ovenfor, som de som håndterer arrangementer . Når noe skjer i appen, vil de andre tingene i gapet løpe.
  • Flatblokker med kontakter er en av to ting. De første er uttalelser , som tilsvarer kommandoer, elementene som vil passe inn i strømningene ovenfor. I eksemplet ovenfor er lage en liste blokk er en uttalelse, som den er lukk søknad .
  • Det andre alternativet er uttrykkene , som bare skiller seg litt fra utsagn. Når en uttalelse kan si 'sett dette til' 42 ', vil et uttrykk være noe som' legg 22 til 20 og gi meg resultatet tilbake. ' I det ovennevnte, er på listen er et uttrykk som vil evaluere til enten sant eller usant. Uttrykk er også flate blokker, men de har sannsynligvis en fane på venstre side og et hakk til høyre.
  • Til slutt, verdier inkludere tall ('17' og '42' ovenfor), tekststrenger ('Ting 1' og 'Ting 2'), eller sant/usant. De har vanligvis bare en fane til venstre, ettersom de er noe du gir til et utsagn eller uttrykk.

Du kan absolutt gå igjennom alt guider og opplæringsprogrammer på App Inventor. Den er imidlertid designet for at du bare skal begynne å klikke rundt og (bokstavelig talt) se hva som passer. På den første siden vår har vi to ting som trenger oppmerksomhet (knappene), så la oss se hva vi kan finne på. En av disse (Button2) lukker appen når den klikkes. Siden dette er et samspill med knappen. Vi kan se etter knappeblokker og finne at det er en som starter med når Button2.click (eller når du klikker på knapp 1). Dette er akkurat det vi vil, så vi drar dette til Viewer.

Når den er klikket, vil vi at appen skal lukkes, noe som høres ut som en generell appflytfunksjon. Ta en titt i Innebygd> Kontroll delen, ser vi faktisk a lukk søknad Blokkere. Og dra den til hullet i den første blokken, den klikker på plass. Suksess!

Når du klikker på knappen, lukkes appen. La oss prøve det i emulatoren. Det viser oss en feil om at lukking av appen ikke støttes i utviklingsmiljøet, men å se dette betyr at det fungerer!

Bygg den andre skjermen: Editor -skjermen

La oss nå rette oppmerksomheten mot Button1.

Dette skal åpne redaktøren vår, så vi må sørge for at redaktøren eksisterer! La oss bytte tilbake til Designer og lage en ny skjerm med samme etikett som den første skjermen, a Tekstboks (satt til 'fyll forelder' for Bredde, 50% for Høyde , og med Multiline aktivert) for å beholde innholdet vårt og en annen knapp (merket '<< Save'). Now check that layout in the emulator!

hvordan lage en video bedre kvalitet

Før vi går videre, vet vi at vi vil lagre innholdet fra TextBox, noe som høres ut som Oppbevaring . Visst, det er et par alternativer der.

Av disse, Fil er den mest enkle, og siden vi ønsker ren tekst, blir det bra. Når du legger dette i Viewer, vil du legge merke til at det ikke vises. Fil er en ikke synlig komponent, ettersom det fungerer i bakgrunnen for å lagre innholdet i en fil på enheten. Hjelpeteksten gir deg en ide om hvordan dette fungerer, men hvis du vil at disse elementene skal være synlige, må du bare sjekke Vis skjulte komponenter i Viewer avmerkingsboks.

Bytt til blokkeringsvisningen nå - det er på tide å programmere. Den eneste oppførselen vi trenger er når '<< Save' button is clicked, so we'll grab our når Button1.click Blokkere. Her begynner App Inventor virkelig å skinne.

Først lagrer vi innholdet i TextBox ved å ta tak i ring File1.saveFile blokkere, og gi den teksten vi ønsker (ved hjelp av TextBox1 TextBox1.text , som henter innholdet) og en fil for å lagre den (bare oppgi en bane og filnavn med en tekstblokk - appen vil lage filen for deg hvis den ikke finnes).

La oss også sette opp skjermen for å laste innholdet i denne filen når den åpnes ( Editor> når Editor.initialize Blokkere). Det burde ring File1.ReadFrom som peker på filnavnet vårt. Vi kan fange resultatet av å lese tekstfilen ved hjelp av Fil> når File1.GotText , tilordne det innholdet til tekstboksen ved hjelp av TextBox> sett TextBox.Text til blokk, og gi den få tekst verdi. Til slutt, etter at vi har lagret, ønsker vi et klikk på Knapp1 for å sende oss tilbake til hovedskjermen (a lukk skjermen Blokkere).

Det siste trinnet er å gå tilbake til hovedskjermen og programmere den første knappen. Vi vil at den skal sende oss til Editor -skjermen, som er et stykke kake med Kontroll> åpne en annen skjerm blokkere, og spesifisere 'Editor'.

Hva kommer så?

Nå som du har noe som fungerer, hva kommer så? For å forbedre det selvfølgelig! App Inventor gir deg tilgang til et bredt spekter av Android -funksjoner. Utover de enkle skjermene vi nettopp har opprettet, kan du legge til funksjoner, inkludert medieavspilling, sending av tekster eller til og med en live webvisning i appen din.

En av de første forbedringene du tenker på er muligheten til å velge blant flere filer. Men en rask internett søk avslører at dette krever en del hackere i App Inventor. Hvis vi vil ha denne funksjonen, må vi grave inn i Java og Android Studio -miljøet.

Utvikling i Java med Android Studio

Delene nedenfor vil beskrive-på et meget høyt nivå-utviklingen av vår scratchpad-app i Java. Det er verdt å gjenta igjen: Selv om det kan gi store utbytter på veien, krever det en betydelig investering av tid å lære Java og Android Studio.

Så det blir ikke så mye forklaring på hva koden betyr nedenfor, og du skal heller ikke bekymre deg så mye om det. Å lære Java er utenfor omfanget av denne artikkelen. Hva vi Vil gjøre undersøker hvor nær Java -koden er til tingene vi allerede har bygget i App Inventor.

Start med å starte Android Studio, og velg Start nytt Android Studio -prosjekt punkt. Du blir ledet gjennom en veiviser som spør et par ting. Den første skjermen ber om et navn på appen din, domenet ditt (dette er viktig hvis du sender til appbutikken, men ikke hvis du bare utvikler det selv), og en katalog for prosjektet.

På neste skjermbilde angir du hvilken versjon av Android du vil målrette mot. Ved å velge en nyere versjon kan du inkludere plattformens nyere funksjoner, men det kan utelukke noen brukere hvis enheter ikke er aktuelle. Dette er en enkel app, så vi kan holde oss til Ice Cream Sandwich.

Deretter velger vi standarden Aktivitet for appen vår. Aktiviteter er et kjernekonsept i Android -utvikling, men for våre formål kan vi definere dem som skjermer. Android Studio har et nummer du kan velge mellom, men vi starter bare med et tomt og bygger det selv. Skjermen etter det lar deg gi den et navn.

Når det nye prosjektet er lansert, kan du ta deg tid til å bli kjent med Android Studio.

  1. Den øverste verktøylinjen har knapper for en rekke funksjoner. Den som er viktigst for oss er Løpe -knappen, som vil bygge appen og starte den i emulatoren. (Fortsett og prøv det, det vil bygge helt fint.) Det er andre som f.eks Lagre og Finne , men disse fungerer via hurtigtastene vi alle er vant til (henholdsvis Ctrl+S og Ctrl+F).
  2. Den venstre Prosjekt ruten viser innholdet i prosjektet. Du kan dobbeltklikke på disse for å åpne dem for redigering.
  3. Senterregionen er redaktøren din. Avhengig av hva du redigerer, kan dette være tekstbasert eller grafisk, som vi ser om et øyeblikk. Dette kan også vise andre ruter, for eksempel en høyre Egenskapsrute (igjen, som App Inventor).
  4. Høyre og nedre kant har et utvalg av andre verktøy som dukker opp som ruter når de er valgt. Det er ting som en terminal for å kjøre kommandolinjeprogrammer og versjonskontroll, men de fleste av disse er ikke viktige for et enkelt program.

Porter hovedskjermen til Java

Vi starter med å bygge skrapeplaten på nytt i Java. Når vi ser på vår forrige app, kan vi se at for den første skjermen trenger vi en etikett og to knapper.

I årevis var det å lage et brukergrensesnitt på Android en møysommelig prosess som involverte håndlaget XML. I dag gjør du det grafisk, akkurat som i App Inventor. Hver av aktivitetene våre vil ha en layoutfil (utført i XML) og en kodefil (JAVA).

Klikk på fanen 'main_activity.xml', så ser du skjermen nedenfor (veldig designerlignende). Vi kan bruke den til å dra og slippe kontrollene våre: a TextView (som en etikett) og to Knapper .

La oss koble til Exit knapp. Vi må lage en knapp både i kode og grafisk, i motsetning til App Inventor som håndterer bokføringen for oss.

Men som AI, Android's Java API bruker begrepet en 'onClickListner'. Den reagerer når en bruker klikker på en knapp, akkurat som vår gamle venn, når knappen 1. klikk. Vi bruker metoden 'finish ()' slik at når brukeren klikker, går appen ut (husk, prøv dette i emulatoren når du er ferdig).

Legger til redigeringsskjermbildet

Nå som vi kan lukke appen, sporer vi trinnene våre på nytt. Før du kobler til 'Rediger' -knappen, la oss gjøre redigeringsaktivitet (skjerm). Høyreklikk i Prosjekt ruten og velg Ny> Aktivitet> Tom aktivitet og gi den navnet 'EditorActivity' for å lage den nye skjermen.

Deretter lager vi layouten til Editoren med en EditTextBox (hvor teksten vil gå) og en knapp. Juster Egenskaper av hver etter din smak.

Bytt nå til EditorActivity.java -filen. Vi vil kode opp noen lignende funksjoner som det vi gjorde i App Inventor.

Man vil lage filen for å lagre teksten vår hvis den ikke finnes, eller lese innholdet hvis den gjør det. Et par linjer vil lage EditTextBox og last teksten vår inn i den. Til slutt vil litt mer kode opprette knappen og onClickListener (som vil lagre teksten i filen og deretter lukke aktiviteten).

Når vi kjører den i emulatoren, ser vi følgende:

  1. Før du kjører, er det ingen mappe på '/storage/emulated/0/Android/data/[ditt domene og prosjektnavn]/filer', som er standardkatalogen for appspesifikke data.
  2. Ved første kjøring vil hovedskjermen vises som forventet. Fremdeles ingen katalog som ovenfor, og heller ikke vår scratchpad -fil.
  3. Ved å klikke på Redigere -knappen, opprettes katalogen, i likhet med filen.
  4. Ved å klikke Lagre , blir all tekst du skriver inn lagret i filen. Du kan bekrefte ved å åpne filen i et tekstredigeringsprogram.
  5. Ved å klikke Redigere igjen ser du det forrige innholdet. Endrer det og klikker Lagre vil lagre den og klikke Redigere igjen vil huske det. Og så videre.
  6. Ved å klikke Exit , blir appen ferdig.

Forbedre appen: Velg lagringsfilen din

Nå har vi en fungerende versjon av vår originale App Inventor skrapeplate. Men vi overførte det til Java for å forbedre det. La oss inkludere muligheten til å velge blant flere filer i den standardkatalogen. Når vi gjør dette, vil vi virkelig gjøre dette mer av en notisblokk enn bare en skrapeplate, så vi lager en kopi av det nåværende prosjektet ved å bruke instruksjonene her .

Vi brukte en Android Intent for å kalle vår redaktøraktivitet fra den viktigste, men de er også en praktisk måte å ringe andre applikasjoner på. Ved å legge til et par linjer med kode, vil vår Intent sende en forespørsel om applikasjoner for filbehandling å svare. Dette betyr at vi kan fjerne en god del av kodekontrollen for å opprette filen, siden Intent bare vil tillate oss å bla gjennom/velge en som faktisk eksisterer. Til slutt forblir vår redaktøraktivitet nøyaktig den samme.

Å få vår intensjon om å gi oss tilbake en streng (Java -tekstobjekt) som vi kan pakke inn i vår intensjon var en utfordring. Heldigvis, når det gjelder programmeringsspørsmål, er internett din venn. EN raskt søk gir oss et par alternativer, inkludert kode vi kan lime inn i appen vår.

Kode med tillatelse til StackOverflow

Og med denne lille endringen og litt lånt kode, kan vi bruke en filleser/lederprogram på enheten til å velge filen for lagring av innholdet vårt. Nå som vi er i 'forbedringsmodus', er det lett å komme med et par nyttige forbedringer:

  • Vi kan velge blant eksisterende filer, men for øyeblikket fjernet vi anlegget til skape dem. Vi trenger en funksjon for at brukeren skal oppgi et filnavn, og deretter opprette og velge den filen.
  • Det kan være nyttig å få appen vår til å svare på forespørsler om deling, slik at du kan dele en URL fra nettleseren og legge den til i en av notatfilene dine.
  • Vi har å gjøre med ren tekst her, men rikere innhold med bilder og/eller formatering er ganske standard i denne typen apper.

Med muligheten til å bruke Java, er mulighetene uendelige!

Distribuere appen din

Nå som appen din er fullført, er det første spørsmålet du må stille deg selv om du vil distribuere den i det hele tatt! Kanskje du har laget noe så personlig og tilpasset at det virker som om det ikke ville være riktig for noen andre. Men jeg vil oppfordre deg til ikke å tenke slik. Du vil sannsynligvis bli overrasket over hvor nyttig det er for andre; om ikke annet, er det i det minste en læringsopplevelse som viser hva en ny koder kan gjøre.

Men selv om du bestemmer deg for å beholde den nye skapelsen for deg selv, trenger du fortsatt noen av trinnene nedenfor for å faktisk installere den på enheten din. Så la oss lære hvordan du pakker appen din for å dele i kildekodeform, samt en installerbar pakke.

Distribusjon av kildekode

Uansett hvilken metode du har brukt frem til dette punktet, har du endret soure -kode underveis.

Mens App Inventor gjør en god jobb med å skjule den faktiske koden bak kulissene, representerer blokkene og UI -widgetene du har beveget deg rundt alle koder. Og kildekoden er en helt gyldig måte å distribuere programvare på, slik åpen kildekode -fellesskap godt kan bekrefte. Dette er også en fin måte å få andre involvert i søknaden din, da de kan ta det du har gjort og bygge videre på det.

Vi får kildekoden fra begge miljøene i et strukturert format. Da kan noen (oss selv inkludert) enkelt importere den tilbake til det samme programmet og komme raskt i gang.

Eksporterer kilde fra App Inventor

For å eksportere fra App Inventor er det enkelt å åpne prosjektet og deretter fra Prosjekter -menyen, velg Eksporter valgt prosjekt (.aia) til datamaskinen min .

Dette vil laste ned den nevnte .AIA -filen (antagelig 'App Inventor Archive'). Men dette er faktisk en ZIP -fil; Prøv å åpne den i din favorittarkivbehandling for å inspisere innholdet.

hvordan du kan slå opp historien til et hus

Legg merke til at innholdet i appinventor/ai_ [bruker -ID]/[prosjektnavn] mappen er en SCM- og BKY -fil. Dette er ikke JAVA -kilden vi så i Android Studio, så du vil ikke kunne åpne disse i noe gammelt utviklingsmiljø og kompilere dem. Du (eller noen andre) kan imidlertid importere dem til App Inventor på nytt.

Arkiverer kilde fra Android Studio

Å få Android Studio -prosjektet ditt ut i et arkivformat er like enkelt som å komprimere prosjektmappen. Flytt den deretter til et nytt sted, og åpne den fra vanlig Fil> Åpne element i hovedmenyen.

Android Studio vil lese prosjektets innstillinger ( workspace.xml ) og alt skal være som det var før.

Det er verdt å merke seg at arkiveringen av hele mappen vil inkludere noen cruft, spesielt filene fra programmets siste build.

Disse vil bli slettet og regenerert i løpet av neste bygg, så de er ikke nødvendige for å beholde integriteten til prosjektet ditt. Men de skader det heller ikke, og det er lettere (spesielt for begynnende utviklere) å ikke begynne å tulle med hvilke mapper som skal følge med og hvilke som ikke bør. Bedre å ta det hele fremfor å gå glipp av noe du trenger senere.

Distribusjon av Android -pakker

Hvis du vil gi en kopi av appen din til noen bare for å prøve den, er en APK -fil det beste alternativet. Standard Android -pakkeformat bør være kjent for de som har gått utenfor Play Store for å få programvare.

Å få disse er like enkelt som å arkivere kilden i begge programmene. Deretter kan du legge den ut på et nettsted (for eksempel F-Droid), eller dele den med noen vennlige folk for å få tilbakemeldinger. Dette gir en flott betatest for apper du vil selge senere.

Å bygge en APK i App Inventor

Gå til Bygge -menyen, og velg App (lagre .apk på datamaskinen min) punkt. Appen begynner å bygge (fremgår av en fremdriftslinje), og når den er fullført, får du en dialogboks for å lagre APK -filen. Nå kan du kopiere og sende det til ditt hjerte.

For å installere appen må brukerne tillate tredjeparts programvareinstallasjoner i enhetens innstillinger som beskrevet her .

Å bygge en APK i Android Studio

Å bygge en Android -pakke er like enkelt i Android Studio. Under Bygge på menyen, velg Bygg APK . Når bygget er fullført, vil en varslingsmelding gi deg en kobling til mappen på datamaskinen din som inneholder appen.

Distribusjon av Google Play

Å sette opp som en Google -utvikler er litt av en prosess. Selv om du for all del bør vurdere det når du har litt erfaring under beltet, er det ikke noe du trenger å takle med en gang.

For det første har den en registreringsavgift på $ 25. Den har også en rekke tekniske detaljer som er litt vanskelige å endre på et senere tidspunkt. For eksempel må du generere en kryptografisk nøkkel for å signere appene dine, og hvis du noen gang mister den, kan du ikke oppdatere appen.

Men på et høyt nivå er det tre viktige prosesser du må gjøre for å få appen din til Play Store:

  1. Registrer deg som utvikler: Du kan konfigurere utviklerprofilen din (basert på en Google -konto) denne siden . Veiviseren leder deg gjennom en ganske grei registreringsprosess, som inkluderer ovennevnte $ 25 gebyr.
  2. Forbered appen for butikken: Emulatorversjonene av appen du har testet er også feilsøking versjoner. Dette betyr at de har mye ekstra kode relatert til feilsøking og logging som ikke er nødvendig, og de kan til og med representere en personvernhensyn. Før du publiserer til Store, må du produsere en utgivelsesversjon ved å følge disse trinnene . Dette inkluderer å signere appen din med krypto-nøkkelen vi nevnte tidligere.
  3. Sett opp infrastrukturen din: Du må også konfigurere butikksiden for appen din. Google tilbyr en liste med råd for å sette opp en liste som får deg installasjoner (og salg!). Infrastrukturen din kan også inneholde servere som appen din vil synkronisere med.
  4. Til slutt, Hvis du vil bli betalt, trenger du en betalingsprofil. Dette er en av dem en gang detaljer, så sørg for at du vet hvordan alt vil passe sammen før du går videre.

Oppsummering og leksjoner

Vi har kommet til slutten av guiden. Forhåpentligvis har dette vekket din interesse for Android -utvikling og gitt deg motivasjon til å ta ideen din og faktisk utvikle den. Men før du legger hodet ned og begynner å bygge, la oss se tilbake på noen av de viktigste leksjonene vi lærte i avsnittene ovenfor.

  • Vi så på to stier for å lage appen din: pek-og-klikk-byggherrer og koding fra bunnen av i Java. Den første har en lavere læringskurve og tilbyr et rimelig (men fortsatt begrenset) utvalg av funksjonalitet. Den andre lar deg bygge omtrent alt du kan tenke deg og tilbyr fordeler utover Android -utvikling, men det tar lengre tid å lære.
  • Mens de hver har sine fordeler og ulemper, du kan bruke begge veier! Pek-og-klikk-miljøene gir en rask snuoperasjon for å prototype appen din, mens den andre lar deg bygge den på nytt for langsiktig forbedring.
  • Selv om det er fristende å hoppe rett inn i arbeidet med selve appen, vil du bli veldig glad senere hvis du tar deg tid design appen din , inkludert skisser av grensesnittet og/eller uformell dokumentasjon om dets funksjoner. Dette kan også hjelpe deg med å avgjøre om en eller begge metodene ovenfor er gode alternativer.
  • En enkel måte å begynne å utvikle på er å legge ut brukergrensesnittelementer og deretter 'koble dem til' ved å programmere funksjonaliteten. Selv om erfarne utviklere kan begynne å kode bakgrunnskomponenter, for nybegynnere, hjelper det å kunne visualisere alt.
  • Når du dykker ned i kode, ikke vær redd for å søke på nettet etter svar. Hvis du kjører et Google -søk med et par søkeord og et kodeeksempel på slutten, får du gode resultater.
  • Når du bygger, må du teste arbeidet ditt litt om gangen. Ellers vil det være veldig vanskelig å avgjøre hvilken av de siste to timers handlinger som brøt appen din.

Med disse i tankene, kom deg inn og begynn å gjøre drømmene dine for apputvikling til virkelighet. Og hvis du bestemmer deg for å bli skitten på hendene, gi oss beskjed om hvordan det går i kommentarene (vi liker forresten lenker til skjermbilder). Lykke til med byggingen!

Dele Dele kvitring E -post Slik får du tilgang til Googles innebygde boblenivå på Android

Hvis du noen gang har trengt å sørge for at noe er i vater, kan du nå få et boblenivå på telefonen din på få sekunder.

Les neste
Relaterte temaer
  • Android
  • Java
  • Programmering
  • Apputvikling
  • Langform
  • Longform Guide
  • Android
Om forfatteren Aaron Peters(31 artikler publisert)

Aaron har vært albue-dyp innen teknologi som forretningsanalytiker og prosjektleder i femten år, og har vært en lojal Ubuntu-bruker nesten like lenge (siden Breezy Badger). Hans interesser inkluderer åpen kildekode, applikasjoner for små bedrifter, integrering av Linux og Android, og databehandling i ren tekstmodus.

Mer fra Aaron Peters

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere