Gå til innhold

Starte med programmering-Android


Anbefalte innlegg

Hei!

 

Jeg har lyst til å lære meg å programmere for android.

Jeg har liten erfaring med programmering fra før, har drevet litt med html og så vidt prøvd meg på noen koder i phyton.

 

Tror dere dette kan la seg gjøre? :)

Tilleggs info: jeg er 15år, og bruker ubuntu på pcen (men har mulighet til windows om det er lettere å starte der.)Har HTC Legend med Android 2.1

Lenke til kommentar
Videoannonse
Annonse

Dersom du ikke har vært borti programering vil jeg anbefale deg å lære deg java først. Når det er lært så begynner du med android sdken. Her bruker du også java.

 

Tror det er en fordel at du lærer deg det grunnleggende før du går over på sdken.

Lenke til kommentar

Hei!

 

Jeg har lyst til å lære meg å programmere for android.

Jeg har liten erfaring med programmering fra før, har drevet litt med html og så vidt prøvd meg på noen koder i phyton.

 

Tror dere dette kan la seg gjøre? :)

Tilleggs info: jeg er 15år, og bruker ubuntu på pcen (men har mulighet til windows om det er lettere å starte der.)Har HTC Legend med Android 2.1

 

Merkelig hvor mange som oppgir HTML som erfaring når de skriver denne typen innlegg. HTML har da ingen som helst ting med programmering å gjøre? Det mangler jo det meste som definerer et programmeringsspråk, som f.eks. kontrollstrukturer.

 

Dessuten trekker jeg dine Python-kunnskaper i tvil, siden du ikke engang klarer å skrive navnet på språket riktig.

 

Siden Android-programmering foregår i Java-syntaks, så kan anskaffelsen av en bok om Java være en start. Jeg erindrer mange tidligere innlegg om Java-litteratur her, så det er bare å søke.

 

Om du har Ubuntu eller Windows burde være uinteressant, da Eclipse (mye brukt verktøy for Java-utvikling) kjører like greit på begge plattformer.

 

Radlekatt

Lenke til kommentar

Hei!

 

Jeg har lyst til å lære meg å programmere for android.

Jeg har liten erfaring med programmering fra før, har drevet litt med html og så vidt prøvd meg på noen koder i phyton.

 

Tror dere dette kan la seg gjøre? :)

Tilleggs info: jeg er 15år, og bruker ubuntu på pcen (men har mulighet til windows om det er lettere å starte der.)Har HTC Legend med Android 2.1

 

Merkelig hvor mange som oppgir HTML som erfaring når de skriver denne typen innlegg. HTML har da ingen som helst ting med programmering å gjøre? Det mangler jo det meste som definerer et programmeringsspråk, som f.eks. kontrollstrukturer.

 

Dessuten trekker jeg dine Python-kunnskaper i tvil, siden du ikke engang klarer å skrive navnet på språket riktig.

 

Siden Android-programmering foregår i Java-syntaks, så kan anskaffelsen av en bok om Java være en start. Jeg erindrer mange tidligere innlegg om Java-litteratur her, så det er bare å søke.

 

Om du har Ubuntu eller Windows burde være uinteressant, da Eclipse (mye brukt verktøy for Java-utvikling) kjører like greit på begge plattformer.

 

Radlekatt

Men så var jo heller ikke spørsmålet hva du synes om erfaringene til trådstarter, så hvis vi roer litt ned på smartass-attituden og konsentrerer oss litt mer med å hjelpe trådstarter, så skal vi nok raskt se at stemningen blir bedre her. Karen er 15 år og vil lære mer om programmering, og da fokuserer vi på hvordan han kan klare det -- ikke på hva du mener han mangler av programmeringserfaring og hvilken informasjon du synes er interessant og uinteressant. Ååååkey? :)

 

En tutorial om hvordan du kan komme i gang med programmering på Android-plattformen: http://developer.android.com/guide/tutorials/hello-world.html

 

Jeg foreslår at du bruker minimum (og dette er aaaabsolutt minimum) to-tre uker på å lære deg grunnleggende Java-programmering. Få koden til å kompilere, kjøre, og lek litt med koden. Prøv ut diverse dritt, endre litt her og der, prøv å forstå feilmeldingene som du får når du får kompileringsfeil, etc. Når du har gjort dette, foreslår jeg at du kikker på tutorialen og loller ned Android SDKet fra nettet.

 

Prøv, feil og google, og hvis du fortsatt ikke kommer noen vei, så schmell opp en ny tråd her! Lykke til.

Lenke til kommentar
  • 1 måned senere...

Hei!

 

Jeg har lyst til å lære meg å programmere for android.

Jeg har liten erfaring med programmering fra før, har drevet litt med html og så vidt prøvd meg på noen koder i phyton.

 

Tror dere dette kan la seg gjøre? :)

Tilleggs info: jeg er 15år, og bruker ubuntu på pcen (men har mulighet til windows om det er lettere å starte der.)Har HTC Legend med Android 2.1

 

Merkelig hvor mange som oppgir HTML som erfaring når de skriver denne typen innlegg. HTML har da ingen som helst ting med programmering å gjøre? Det mangler jo det meste som definerer et programmeringsspråk, som f.eks. kontrollstrukturer.

 

Dessuten trekker jeg dine Python-kunnskaper i tvil, siden du ikke engang klarer å skrive navnet på språket riktig.

 

Siden Android-programmering foregår i Java-syntaks, så kan anskaffelsen av en bok om Java være en start. Jeg erindrer mange tidligere innlegg om Java-litteratur her, så det er bare å søke.

 

Om du har Ubuntu eller Windows burde være uinteressant, da Eclipse (mye brukt verktøy for Java-utvikling) kjører like greit på begge plattformer.

 

Radlekatt

CSS er erfaring?

Lenke til kommentar

Tror dere dette kan la seg gjøre? :)

Tilleggs info: jeg er 15år, og bruker ubuntu på pcen

 

Det burde la seg gjøre hvis du har pågangsmot og har lyst til å lære. Du har fått en del bra tips allerede (lære Java og developer.android.com hvor det finnes masse bra eksempler).

 

Mange bruker Eclipse og det er en del tutorials som bruker Eclipse, men jeg selv foretrekker å bruke min favoritt teksteditor og programmet ant til å bygge applikasjonen.

 

Du bør også installere en emulator (følger med SDK hvis jeg ikke husker feil). Det gjør opplastning og debugging litt enklere. Men det er enkelt å laste opp til telefonen også.

 

Her er typisk flyt for å bygge en ny applikasjon:

 

Lage et prosjekt, (11 her er target som beskriver egenskapene jeg har laget for den bestemte telefonen):

 

android create project \
--target 11 \
--name DinApp \
--path ./DinApp \
--activity DinAppActivity \
--package com.dittdomene.android.dinapp

 

Deretter bygge en debug versjon av programmet:

 

ant debug

 

Starte emulator, jeg har tidligere laget en virtuall device som heter my_test_avd

 

emulator -avd my_test_avd

 

Deretter installere programmet i emulatoren:

 

adb install -r bin/DinApp-debug.apk

 

Du skal nå kunne kjøre programmet ditt på emulatoren. Når du er fornøyd så kan du laste opp applikasjonen til telefonen med:

 

adb -d install -r bin/DinApp-debug.apk

 

Det forutsetter at du har USB kablen koblet til telefonen og har slått på utvikler modus på telefonen (jeg måtte det på min Google Nexus One i alle fall)

 

Håper dette kan være til hjelp og lykke til med programmeringen!

 

 

P.S. Han skriver jo bare at han har "drevet" med HTML. Det kan jo være nyttig erfaring å plassere elementer av forskjellig type i et vindu selv om det ikke er programmering. Det er veldig mye XML filer brukt i en Android applikasjon (se i res directory) så jeg vil si det er en stor fordel at han har "drevet" med HTML enn om han ikke hadde det.

  • Liker 1
Lenke til kommentar
Men så var jo heller ikke spørsmålet hva du synes om erfaringene til trådstarter, så hvis vi roer litt ned på smartass-attituden og konsentrerer oss litt mer med å hjelpe trådstarter, så skal vi nok raskt se at stemningen blir bedre her.

Det må da være lov å kalle en spade for en spade.

 

Radlekatt var saklig og fortalte hva trådstarter burde se på til å starte med, på lik linje med deg. Bare han sa det rett ut det vi andre tenkte.

Lenke til kommentar

Bare han sa det rett ut det vi andre tenkte.

 

Snakk for deg selv. Jeg tenkte i alle fall at her har vi en ambisiøs 15-åring som vil lære å programmere på Android. Neste var at jeg ville forsøke å gi ham (eller hun) en oversikt i flyten. Håper ikke chri-ot kvier seg for å poste nye spørsmål.

 

Jeg mener fortsatt at han har erfaring med HTML er til nytte når det gjelder Android SDK. Alle ressursfilene er på XML format, AndroidManifest.xml, build.xml (for ant) osv. Det er mye bedre enn om han ikke hadde hatt det.

Lenke til kommentar
Men så var jo heller ikke spørsmålet hva du synes om erfaringene til trådstarter, så hvis vi roer litt ned på smartass-attituden og konsentrerer oss litt mer med å hjelpe trådstarter, så skal vi nok raskt se at stemningen blir bedre her.

Det må da være lov å kalle en spade for en spade.

 

Radlekatt var saklig og fortalte hva trådstarter burde se på til å starte med, på lik linje med deg. Bare han sa det rett ut det vi andre tenkte.

 

Dette handler ikke om hva man velger å kalle en spade; det handler om å svare litt høflig når en 15 år gammel gutt kommer og spør om tips ang. Android-programmering. Trådstarter skrev at han har "så vidt prøvd meg på noen koder i phyton", så åpenbart har han ikke mye erfaring med Python. Å skrive at man trekker hans Python-kunnskaper i tvil, synes jeg derfor blir meningsløst og barnslig, da det virker som at det nærmest er for å demotivere/være spydig mot trådstarter. Hvis trådstarter hadde vært en smartass som hevda å være dreven på Python uten engang å kunne skrive navnet på språket riktig, hadde jeg gitt thumbsup til det svaret. Men, trådstarter var faktisk ydmyk og hadde ingen smartass attitude, så da kan man være litt høflig tilbake. Dette kalles Elementær folkeskikk, og har ingenting med hva man velger å kalle en spade.

Bare han sa det rett ut det vi andre tenkte.

 

Snakk for deg selv. Jeg tenkte i alle fall at her har vi en ambisiøs 15-åring som vil lære å programmere på Android. Neste var at jeg ville forsøke å gi ham (eller hun) en oversikt i flyten. Håper ikke chri-ot kvier seg for å poste nye spørsmål.

 

Jeg mener fortsatt at han har erfaring med HTML er til nytte når det gjelder Android SDK. Alle ressursfilene er på XML format, AndroidManifest.xml, build.xml (for ant) osv. Det er mye bedre enn om han ikke hadde hatt det.

Thumbs up til deg: thumbup.gif. Jeg har ikke sett så mye info rundt det å utvikle på Android uten Eclipse, men jeg synes det er veldig smart om nybegynnere ikke hopper rett inn i et IDE som på tilsynelatende magisk vis setter sammen og (i Eclipse sitt tilfelle hvertfall) genererer kode for deg.

 

Men så var jo heller ikke konsentrerer oss litt mer med å hjelpe trådstarter.

 

Kan noen hjelpe trådsvarer også? css er erfaring?

Åkey. Jeg har aldri skrevet den setningen som du har sitert meg med, men greit. Den ser ut til å være en miks av begynnelsen på en setning og slutten på en annen. Uansett, CSS vil ikke hjelpe deg med Android-programmering.

Endret av Dead_Rabbit
Lenke til kommentar

Hm. HTML er da i aller høyeste grad programmering i mine øyne; det noe unike ved det er at det stort sett er deklarativt fremfor imperativt.

 

http://en.wikipedia.org/wiki/Declarative_programming#Domain-specific_languages

 

I grunn er deklarativ og kanskje spesielt funksjonell programmering i dag særdeles interessant og relevant m.t.p. støtte for multi-core, flere CPUer og/eller flere maskiner (Google MapReduce f.eks.).

 

I tillegg til det funksjonelle paradigmet består deklarativ programmering av sub-paradigmer som dataflyt- og reaktiv-orientert programmering som altså er mer spesifikt relaterte til det jeg påpeker i sammenheng med HTML, men disse er også brukt i UI-sammenheng generelt sett i tillegg til i andre sammenhenger som f.eks. i sammenheng med håndtering av styringssystemer o.l..

 

Siden jeg ikke er bannet ennå :roll: benytter jeg anledningen til å skrive litt kode siden jeg har lyst til dét. Jeg vet ikke om dette ble 100% riktig eller hvor bra det illustrerer forskjellene mellom de forskjellige programmeringsparadigmene, men det er nå et forsøk:

 

Imperativ stil

 

SW-MVC> (let* ((x 2)
              (square (* x x)))
         (format t "X is ~A and SQUARE is ~A~%" x square)
          ;; Code which may use threads starts here.
         (incf x)
         (setf square (* x x))
         (format t "X is ~A and SQUARE is ~A~%" x square))
X is 2 and SQUARE is 4
X is 3 and SQUARE is 9

 

..og dette er ikke sikkert m.t.p. samtidighet. Hvorfor er kun dette "ekte programmering" når det helt klart har flere bakdeler?

 

 

Funksjonell stil; en sub-type av deklarativ programmering

 

SW-MVC> (let ((x 2))
         (flet ((square (x)
                  (* x x)))
           (format t "X is ~A and SQUARE is ~A~%" x (square x))
           ;; Code which may use threads starts here.
           (let ((x (+ x 1)))
             (format t "X is ~A and SQUARE is ~A~%" x (square x)))
           (format t "X is ~A and SQUARE is ~A~%" x (square x))))
X is 2 and SQUARE is 4
X is 3 and SQUARE is 9
X is 2 and SQUARE is 4

 

..og modellen her er sikker m.t.p. samtidighet.

 

 

Dataflyt-orientert eller reaktiv programmeringsstil; også en sub-type av deklarativ programmering

 

SW-MVC> (let* ((x λI2)
              (square λI(let ((result (* ~x ~x)))
                          (format t "X must have changed, and the new RESULT for SQUARE is now ~A~%" result)
                          result)))
         (format t "X is ~A and SQUARE is ~A~%" ~x ~square)
         ;; Code which may use threads starts here.
         (with-sync ()
           (incf ~x)
           (format t "X is ~A and SQUARE is ~A~%" ~x ~square)))
X must have changed, and the new RESULT for SQUARE is now 4
X is 2 and SQUARE is 4
X must have changed, and the new RESULT for SQUARE is now 9
X is 3 and SQUARE is 9

 

..og i mine øyne er denne siste måten å uttrykke seg på, som bruker et reaktivt maskineri slik HTML gjør, helt klart "ekte programmering" med unike egenskaper og muligheter m.t.p. evne til det å kunne uttrykke ting på andre måter enn hva en normalt kan når en kun bruker en imperativ stil f.eks.!

 

Denne modellen kan også være sikker m.t.p. samtidighet fordi en her har muligheten til å implementere støtten som trengs; mest sansynlig v.h.a. STM, tror jeg, siden vi må ha indereksjon for å få reaktiv programmering til å fungere i utgangspunktet.

 

En kan si at det funksjonelle eksempelet er output-triggered; lazy alá Haskell o.l., mens det reaktive eksempelet er input-triggered. Forskjellen mellom disse to er altså viktig i visse sammenhenger som f.eks. HTML, UI og styringssystemer.

 

 

---

M.t.p. trådstarter kan jo HTML, CSS, JavaScript og "AJAX" også være et alternativ å ha i bakhodet m.t.p. Andriod da telefonen faktisk har en ordentlig nettleser basert på WebKit innebygget. Kanskje ikke så interessant om en ønsker eller trenger tilgang til telefonens unike ikke-web-relaterte funksjoner og API'er da disse, om jeg ikke tar helt feil, ikke er like tilgjengelige via nettleseren, men ellers er det jo et alternativ å ha i bakhodet. :)

Lenke til kommentar
  • 2 uker senere...

Hm. HTML er da i aller høyeste grad programmering i mine øyne; det noe unike ved det er at det stort sett er deklarativt fremfor imperativt.

 

Bra innlegg og du har selvsagt rett. Men "funksjonskallene" i HTML er forholdsvis begrenset så det blir ikke så mye programmering av det selv om Lisp koden du poster er overbevisende nok om prinsippet.

Lenke til kommentar

Jeg er ikke enig i at HTML er programmering. HTML er jo i utgangspunktet bare tekstformatering. Derfor vil jeg aldri finne på å kalle HTML for programmering av samme grunn som jeg ikke vil finne på å kalle det programmering når jeg f.eks. skifter font eller farge i Word.

 

..men HTML og endring av font/farge i Word er da ikke samme sak. :)

 

En deklarerer hvordan ting forholder seg til hverandre når en driver selv enkel web-design; dette er uten tvil deklarativ programmering.

 

En kunne helt klart (110% garantert-uten-tvil) fått samme sluttresultat sånn rent utseendemessig om en skrev kode i en slags imperativ HTML-dialekttype, men det ville blitt utrolig tungvint og sett veldig kronglete ut -- i grunn idiotisk -- sånn rent kodemessig.

 

Jeg trenger vel egentlig ikke noen "krykke" i form av en Wikipedia-artikkel for å se dette og det er kanskje "feigt" å gjemme seg bak noe slikt, men om du fortsatt er uenig bør kanskje Wikipedia-artikkelen referert til i posten over rettes på? :)

 

 

-------- edit:

Nå har jeg forøvrig kjøpt meg en Androidtelefon selv. Jeg har aldri brydd meg med avanserte telefoner tidligere, men dette var morro.

 

Nettleseren er kjapp, og det ser ut til at V8 (JavaScriptmotoren) fra lynkjappe Chrome/Chromium kommer i 2.2 (ventes i september på min telefon) så tingen blir ennå kjappere -- så dette er spennende synes jeg. :)

 

Prøv f.eks. http://www.chromeexperiments.com/detail/ball-pool/ i Firefox og sammenlign med Chrome 6.x (beta).

Endret av worseisworser
Lenke til kommentar

Jeg er ikke enig i at HTML er programmering. HTML er jo i utgangspunktet bare tekstformatering. Derfor vil jeg aldri finne på å kalle HTML for programmering av samme grunn som jeg ikke vil finne på å kalle det programmering når jeg f.eks. skifter font eller farge i Word.

 

..men HTML og endring av font/farge i Word er da ikke samme sak. :)

 

En deklarerer hvordan ting forholder seg til hverandre når en driver selv enkel web-design; dette er uten tvil deklarativ programmering.

 

En kunne helt klart (110% garantert-uten-tvil) fått samme sluttresultat sånn rent utseendemessig om en skrev kode i en slags imperativ HTML-dialekttype, men det ville blitt utrolig tungvint og sett veldig kronglete ut -- i grunn idiotisk -- sånn rent kodemessig.

 

Jeg trenger vel egentlig ikke noen "krykke" i form av en Wikipedia-artikkel for å se dette og det er kanskje "feigt" å gjemme seg bak noe slikt, men om du fortsatt er uenig bør kanskje Wikipedia-artikkelen referert til i posten over rettes på? :)

 

 

-------- edit:

Nå har jeg forøvrig kjøpt meg en Androidtelefon selv. Jeg har aldri brydd meg med avanserte telefoner tidligere, men dette var morro.

 

Nettleseren er kjapp, og det ser ut til at V8 (Javascriptmotoren) fra lynkjappe Chrome/Chromium kommer i 2.2 (ventes i september på min telefon) så tingen blir ennå kjappere -- så dette er spennende synes jeg. :)

 

Prøv f.eks. http://www.chromeexp...tail/ball-pool/ i Firefox og sammenlign med Chrome 6.x (beta).

 

Jeg ser poenget ditt, men jeg tror jeg fortsatt er uenig med deg (og Wikipedia). Jeg mener at HTML er å regne som tekstformatering (altså et markup språk), og at det derfor veldig greit kan sammenliknes med å formatere tekst i Word. Måten du gjør det på er åpenbart forskjellig, men resultatet blir noenlunde likt. Jeg synes ikke det er riktig å kalle noe for et programmeringsspråk hvis ikke det er Turing-komplett.Men, dette blir jo bare en definisjon egentlig, og er jo egentlig litt meningsløst å diskutere (siden min definisjon alltid er rett ;)).

Endret av Dead_Rabbit
Lenke til kommentar

Jeg er enig med dead_rabbit egentlig, siden han alltid har rett allikevel ^^

 

Et programmeringsspråk som ikke er touring komplett burde ikke dyttes inn i en liste over spåk en kan, ettersom det ikke betyr at du kan programmere. Kan du HTML, kan du BARE html. Kan du C, Python, Java, Visual Basic eller alt annet, så betyr det at det blir enkelt å lære seg andre språk dersom det er nødvendig.

 

Kan du HTML kan du bare HTML, det hjelper ingenting. Hvis du skriver XML, så er det kanskje nyttig, men HTML alene er irrelevant.

Endret av GeirGrusom
Lenke til kommentar

Jeg er enig med dead_rabbit egentlig, siden han alltid har rett allikevel ^^

 

Et programmeringsspråk som ikke er touring komplett burde ikke dyttes inn i en liste over spåk en kan, ettersom det ikke betyr at du kan programmere. Kan du HTML, kan du BARE html. Kan du C, Python, Java, Visual Basic eller alt annet, så betyr det at det blir enkelt å lære seg andre språk dersom det er nødvendig.

 

Kan du HTML kan du bare HTML, det hjelper ingenting. Hvis du skriver XML, så er det kanskje nyttig, men HTML alene er irrelevant.

 

..eller;

 

Forstår du det imperative og prosedyrelle paradigmet i C kan du lære deg å bruke de samme paradigmenene i andre språk eller sammenhenger som også støtter eller kan støtte disse paradigmene.

 

Forstår du det deklarative paradigmet i HTML kan du lære deg å bruke det samme paradigmet i andre språk eller sammenhenger som også støtter eller kan støtte dette paradigmet.

 

edit: Dere skal "få lov til" å stå for det dere sier eller mener, men en deklarativ måte å uttrykke seg på faller inn under programmering samme om språket i sammenhengen er turing complete eller ikke (HTML). Hva dere "vil" tro eller mene er for meg ganske likegyldig .. :) .. jeg har stor nytte av alle disse paradigmene (ikke bare i sammenheng med HTML for de deklarative paradigmene) og andre paradigmer ikke nevnt i diskusjonen her.

 

 

edit2: klarere setninger; aaaalt for mye kaffe ..... :)

Endret av worseisworser
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...