Slutrapport Författare: Zlatko Ladan Program: Utvecklare av Digitala Tjänster 180P Kurs: Individuellt Mjukvaruprojekt Z l a t k o L a d a n Sida 1
Abstrakt: Denna rapport handlar om mitt projekt som jag har haft i kursen Individuellt Mjukvaruutvecklingsprojekt och de kunskaper och bakslag som jag har förvärvat då jag jobbade med projektet. Jag jobbade med att göra en Android-App som man kan använda för att skapa eller redigera bilder, själva temat med detta App var att man som användare ska kunna skapa pixliga bilder. För att Applikationen är för Android så är den skriven i java eller en variant av den. Jag märkte att arbetet inte var så jobbig som jag trodde, även om jag fick stressa en del för att få det gjort, mest så var det själva dokumentationen, även detta dokument. Jag lärde mig också att det inte är svårt att göra en Android-app, även om det var lite problem med det i början. Z l a t k o L a d a n Sida 2
Förord: Jag har gillat NES grafiken (inte på alla spel) och jag har inspirerats av den, jag kan säga till en stor del att Minecraft har inspirerat mig också (vem gillar inte det spelet). Det var så att jag satt och tänkte på vad det var som jag skulle göra, något som jag inte hade sysslat mycket med innan, nämligen att programmera en App för Android, en App som där man kan rita olika former och figurer på ett enkelt sätt med sin mobila-enhet. Det finns all möjlig konst som folk har gjort genom tiderna, men de som är mer relevanta till it är nog ASCII-Art, pixel-art NES-Art och många fler (känner inte till så värst många, men det finns nog en för varje spelkonsol som har funnits). Z l a t k o L a d a n Sida 3
Innehållsförteckning Abstrakt:... 2 Förord:... 3 Inledning/bakgrund:... 5 Positiva erfarenheter:... 5 Negativa erfarenheter:... 5 Sammanfattning:... 6 Z l a t k o L a d a n Sida 4
Inledning/bakgrund: Mitt mål har varit att lära mig att skapa fönster, dialoger och olika events för elementen som jag tänkte har på dem. Men det viktigaste som jag ville lära mig var att kunna öppna, spara bildfiler och göra det enkelt för mig som programmerare och för andra att lära sig, spara bilder, öppna bilder och resten som man kan göra med ett vanligt bildredigerings- app eller program. Det tog mig inte lång tid att komma på vad det var som jag skulle göra, vilket tema appen skulle ha, då tänkte jag att den kunde vara pixlig, eftersom många tycker om den grafiken och de skulle nog vilja använda en sådan app för att skapa sina pixliga bilder med; jag skulle med göra det, men det handlar mest om att göra en app som jag själv kan använda för att skapa bilder. Positiva erfarenheter: Det som jag fann jobbigt med programmeringen var att hålla på med stringsfilerna (de filer som används för text till element och som kan vara på flera språk), de fick uppdateras ofta för att jag gjorde fel och så hade jag översatt till andra språk än engelska, men det var inte det värsta utan jag använde de på fel sätt så att jag fick varningsmeddelande från Android-lint; jag fick ändra om dem så att låg i klasser som de används av, det positiva med det är att jag lärde mig att använda stringsfilerna på ett rätt sätt och använda ibland statiska variabler i klasser istället. Jag lärde mig att skapa, använda dialoger och fönster för Android på flera olika sätt. Jag lärde mig även att skapa egna interface för både java och Android, vilket jag inte visste hur man skulle göra innan. Jag lärde om deras scope som jag inte visste innan. Jag utvecklades med struktureringen med koden, jag lärde mig att kolla om jag borde göra en instansklass statisk. Jag lärde mig även att använda statiska medlemmar, det känner jag är bra att veta och jag har dessutom lärt mig när man ska använda statiska medlemmar och när man inte ska använda de. Det är inte lätt att komma ihåg vad som man ska göras och vad som funktioner, klasser o.s.v. gör, därför så bestämde jag mig att använda mig utav javadoc-, TODO -, FIXME - kommentarer och vanliga kommentarer, utan de så skulle jag missat en hel del saker och skulle även behöva leta igenom kod för att se vad funktioner gör. Jag kommer i framtiden att fortsätta använda javadoc-, TODO -, FIXME -kommentarer och kommentarer i framtida arbeten, inte javadoc eftersom det är bara för java, men resten kommer jag definitivt att använda. Android-lint kommer jag definitiv att använda, så jag inte gör något på ett ineffektivt sätt, eller glömmer översätta knappar. Negativa erfarenheter: Det som jag tycker att inte gick som det skulle var planeringen, fast den kunde ha gått mycket värre än den var. Vid slutet av kursen så hade jag gjort det värre för mig, jag hade börjat med en ganska riskfylld uppgift: öppna filer med en extern app (tänkt köra galleri-appen som följer med Android). Själva planeringen gick ganska bra även om jag gjorde det som jag gjorde, men det värsta måste nog varit själva kollen på vad som ska göras, jag hade inte kollat så noga alltid, men jag kan säga stolt att det var inte något som sabbade det för hela projektet, även om jag gjorde en hel del fel och planerade saker lite sent. Z l a t k o L a d a n Sida 5
Jag kommer i framtiden att försöka så gott som möjligt att dokumentera väl och göra det på ett bra sett, jag kommer även att försöka planera bättre och inte göra någon chansning med kodningen, alltså inte lägga till något jättekomplicerad kod sista veckan. Sammanfattning: Det jag kan säga är att även om jag hade planerat ganska dåligt och även om jag hade jobbat mycket näst sista veckan så lyckades jag göra en någorlunda färdig produkt. Jag har lärt mig mer om hur javaprogrammering och javaprogrammering för Android är, det är inte lika svårt att lära sig, även om man inte har programmerat mycket eller inte alls och det är något som jag skulle kunna rekommendera för folk som inte har programmerat innan och som har en eller fler Android-enheter eller som bara vill göra någon app; det gäller ju bara att ha en Windows/Linux/OSX dator. Jag tänkte först att kanske vidareutveckla min app, men nu så har det vänt och jag ska vidareutveckla nu under sommaren (kanske senare med) och kanske lägga upp den på Google Play, eftersom det inte är dyrt för en att köpa licens. Z l a t k o L a d a n Sida 6