Hvordan ændrer man iconet på sin app.

Har du lavet en app, vil man også gerne have en flot icon på appen – istedet for den lille grønne standard Android icon.

Det letteste er at overskrive standard icon i den app, du er i gang med.

Vælg i Android Studio “App”-“Res”-“mipmap”-“new”-“Image asset”
Man kommer nu ind og kan se standard icon på appen.

Vigtigt her er “Path” det er stien til iconet. Vi vælger nu et andet biled som vi vil bruge som icon til vores app. Og bruger Resize knappen til at tilpasse størrelsen af iconet.

Jeg har altid været mest heldig med at skrive stien, i stedet for at vælge et biled.

Tryk “next” næst og følgende kommer frem med advarsler på. Det skal vi dog ignorere da vi vil overskrive standard iconet, så det er ok.

Tryk “Finish” færdig og appen har nu en ny icon.
Man kan let tjekke iconet ved at åbne den første png fil under ic_launcer med et dobbelt klick.

På den måde for man lavet iconer i alle størrelser. Og det vil passe til alle telefoner. Iconet bliver lavet i en firkantet version og i en rund version helt automatisk.

Betingelser og løkker i Kotlin – if, when, for, while

Her meget kort vist hvordan betingelser og løkker bruges i Kotlin.

IF-ELSE

// Traditionel brug
var max = a
if (a < b) max = b

// Med else
var max: Int
if (a > b) {
max = a
} else {
max = b
}

// Som udtryk
val max = if (a > b) a else b


WHEN-ELSE

when (x) {
1 -> print(“x == 1”)
2 -> print(“x == 2”)
parseInt(s) -> print(“s encode x”)
is String -> x.startWith(“prefix”)
x.isOdd() -> print(“x er ulige)
x.isEven() -> print(“x er lige)
else -> { // ellers
print(“x er hverken 1 eller 2”)
}
}


FOR

for (item in collection) print(item)

for (i in 1..3) {
println(i)
}
for (i in 6 downTo 0 step 2) {
println(i)
}

for (i in array.indices) {
println(array[i])
}

for ((index, value) in array.withIndex()) {
println(“the element at $index is $value”)
}


WHILE

while (x > 0) {
x–
}

do {
val y = retrieveData()
} while (y != null)


Funktioner i Kotlin

Her et par eksempler på funktioner “fun” i Kotlin. En efektiv måde at strukturere sine programmer på.


fun skrivTekst(tekst: String) {
println(tekst)
}

skrivTekst(“Hallo”)
// Resultat = Hallo


fun skrivMeddelseMedParameternavn(tekst: String, type: String = “Meddelse: “) {
println(“[$type] $tekst”)
}

SkrivMeddelseMedParameternavn(tekst=”Hej med dig. “, type=”Info: ” )
// Resultat = “Info: Hej med dig.”

SkrivMeddelseMedParameternavn(“Hej med dig. “, “Info: ” )
// Resultat = “Info: Hej med dig.”

SkrivMeddelseMedParameternavn(tekst=”Hej med dig.” )
// Resultat = “Meddelse: Hej med dig.”

SkrivMeddelseMedParameternavn(“Hej med dig.” )
// Resultat = “Meddelse: Hej med dig.”


fun plus(x: Int, y: Int): Int {
return x + y
}

println(plus(3,4))
//Resultat = 7


fun gange(x: Int, y: Int) = x * y

println(gange(2, 3))
// Resultat = 6

Input felt, funktioner, variabler og if, if else, else

Vi laver vores første input felt. Laver en funktion som giver et svar tilbage og som indeholder en betingelse som giver det rigtige svar (if – if else – else)

Vi har styr på knapper og felter som vi kan tilføje i designet. Og vi ved hvordan vi kan sende en besked ud på skærmen med Toast.

Teksten er en “Plain Text”, som vi kan bruge som indtastnings felt. Knappen en normal “Button” knap.

Vi tager et kik på tekst feltet, som skal have et ID “tx_tekst”, en tekst og en stor font. Feltet skal også hænges rigtig på plads med “Attributes”.

Læg mærke til ID tx_tekst som skal bruges i programmet.

Også “Layout” er vigtigt. Inde i firkanten er der små streger som kan have 3 tilstande. Den som er markeret med rød viser at feltet trækkes ud til siderne (16) viser at der skal være 16 i afstand til kanten.

I toppen er tekst feltet hængt op med en afstand på (24) til øverste kant.

Indtastnings feltet har nu teksten “Indtast en tekst” og en skrift størrelse på 30.

Knappen er simpel – vi hænger den op øverst (16) i afstand, på vores indtastnings felt og centreret til højre og venstre men en afstand på (150). Kunne også være mindre vigtigt er dog at tallene i højre og venstre side er de samme ellers kommer knappen ikke i midten.

Knappen skal have et ID her “bn_knap” så vi kan bruge den i programmet.

I tager et kik på koden.

Vigtigt er her funktionen “fun test”, “setOnClickListner” til knappen og “Toast” som skriver en tekst på skærmen.

Her ses funktionen “fun test” som har en parameter tekst og giver et svar retur.

Vi kan se en setOnClickListner som venter til vi har trykket på en knap. Og en Toast som tager den tekst vi har tastet ind overfører det til funktionen og skriver svaret ud på skærmen.

Læg også mærke til (var svar:String = “”) som definerer en lokal variabel som bruges til at retunere svaret i vores test funktion.

Kik også på if. Her spørger vi om tekst = “Hej” er det korrekt sættes svar til “Hej med dig” – if (tekst == “Hej”) svar = “Hej med dig”.

Vi spørger på “Hej” og på “Hallo” er teksten en ander for vi svaret tilbage “Hvad?”.

App version, her kan den ændres

Udgiver man sin første app har den versions nummer 1. Laver man ændringer skal man også forhøje versions nummeret i sin app.

Her kan du ændre versions nummeret på din app.

Når man udgiver en app på Google Play, skal denne app signeres og den skal have en versionskode. Koden starter med 1, laver du ændringer i appen skal versionskoden forhøjes.

Du beskriver for hver version i Google Play Consolen hvilke ændringer du har lavet. Og uploader din signeret app.

Ændre et billedet på skærmen med en knap.

Vi start med en tom skabelon.

Vi starter med at slette “Hello world”.
Tilføj en knap og hæng den op øverst,venstre og højre. Giv den et navn bn_skiftbiled “ID”.
Vi markerer 2 billeder “kopi” og tilføjer dem under “res/drawable” med past.
Tilføj de 2 billeder vi skal bruge.
Her ser vi vores billeder vigtigt er at de er skrevet med småt og ikke indeholder specialt tegn.
Vi tilføjer et billed til vores design.
Vi vælger et billed under projekt og trykker ok.
Så billedet er placeret og hængt på knappen og kanterne.
Vi har brug for en setOnClickListener som kontrollerer om knappen er trykket.

setImageResource skifter grafiken ud med vores hellow billed når vi trykker på knappen bn_skiftbilled.

Her kan man se det første skærm biled.
Og billedet som skiftes når vi trykker på knappen.

Så nu kan vi ændre på de billeder, som vi viser på skærmen.

Se hvad der sker i programmet skriv til loggen

Du kan skrive en tekst til loggen så du kan følge med i hvad der sker i til program. Her et lille eksempel. Trykker man på knappen kommer der en meddelse i loggen at knappen er trykket.

Nu har vi mulighed for at se i loggen at knappen bliver trykket.

Trykker man nu på knappen kan men med det samme i loggen se teksten “Du har trykket på knappen”.

I Logcat kan man se at vi har trykket på knappen.

Der står rigtig mange oplysninger i Logcat hvis man øverst søger efter tag: teksten i dette eksempel “Knud” vises kun log beskeder som indeholder “Knud”. Trykker vi nu på knappen på mobilen som er tilsluttet med USB kablet eller på vores virtuelle mobil.

Kan man med det samme i Logcat se at knappen har været trykket.

Det er en god mulig for at fejl finde sit program. Debug tekster vises ikke på skærmen de vises kun i Logcat i program loggen.

Skriv en pop-up tekst på skærmen med Toast

Ønsker du en pop-up tekst på skærmen som vises og forsvinder igen så er Toast en god måde at gøre dette på.

Her et lille eksempel på en pop-up tekst med Toast.

Du skal bruge en import til Toast den tilføjes automatisk ved at trykke Alt+Enter på Toast.