From 30f966f7203acf1ee4dd1ed7f0f062703c439a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hallvard=20Tr=C3=A6tteberg?= <hal@ntnu.no> Date: Thu, 17 Sep 2020 16:49:30 +0200 Subject: [PATCH] Update README.md --- README.md | 52 ++++++++++++---------------------------------------- 1 file changed, 12 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index be6d2a1..dc92f60 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,14 @@ [](https://gitpod.idi.ntnu.no/#https://gitlab.stud.idi.ntnu.no/it1901/todo-list) -# todo-list-prosjektet - -Dette prosjektet er et utviklingsprosjekt tilsvarende det en skal gjennom i IT1901. Det er ment å være til et nyttig eksempel på flere måter: -- Det viser hvordan prosjektet kan deles opp i mange fokuserte og håndterbare trinn -- Prosjektoppsett og kodingsteknikker -- Det er utgangspunktet for en videoserie som også viser hvordan det jobbes praktisk med utviklingsverktøy - -Ikke alt vi gjør blir tatt opp på video, noe arbeid vil bli gjort som forarbeid eller mellom episodene, videoene skal gi en oversikt over alt arbeidet. - -## Plan over arbeidet/episodene - -Her følger oversikt over arbeidet/episodene. Først er dette en plan, men etterhvert som arbeidet blir utført så blir det en oversikt over faktisk gjennomført arbeid. - -### Gitpodifisering av repoet og oppsett av første trinn av utviklingsprosjektet - -Planen er å primært bruke gitpod til utvikling (selv om det kanskje ville vært mest praktisk for meg å bare bruke Eclipse). -Først må vi "gitpodifisere" repoet, dvs. gjøre at gitpod kan startes opp rett fra repo-sida på gitlab. - -I starten så setter vi opp et enkelt JavaFX-prosjekt med **maven** som bygge-system. Vi setter det opp fra scratch, vha. en enkel mal for -maven-prosjekter og så justerer vi litt på det ved å kopiere elementer fra andre prosjekter f.eks. malen som ligger i *javafx-maven*-grenen i -[gitpod-templates-repoet](https://gitlab.stud.idi.ntnu.no/it1901/gitpod-templates) eller [simpleexample-repoet](https://gitlab.stud.idi.ntnu.no/it1901/simpleexamepl). -Jeg gjør det på denne måten, fordi det da er enklere å forklare hvert element i pom.xml-fila, som inneholder oppsettet. -Merk at prosjektoppsettet i starten er enklere enn det vil bli etter hvert, men vi gjør det sånn for å komme raskere i gang. -Så bygger vi ut og omstrukturerer når det trengs. - -### Vår første utviklingsoppgave: Et enkelt API for todo-lister - -Vi tar utgangspunkt i [brukerhistorie 1](brukerhistorier.md) og definerer tre brukeroppgaver, én for API-et, en for JSON-basert tekstformat og én for GUI-et og begynner på API-et. -API-et består av to klasser, **TodoList** og **TodoItem**, hvor den første inneholder flere av den andre. -**TodoList** har metoder for å legge til, fjerne og hente ut TodoItem-elementer. - -Det ble to episoder, episode 2 og 2b. - -### JSON-basert tekstformat for handlelist-data - -Vi bruker Jackson-biblioteket og implementerer serialisering- og deserialisering-klasser. - -Det ble to episoder, episode 3 og 3b. - -### Et enkelt JavaFX-GUI for todo-lista +# JavaFX on Android using GraalVM and Gluon's client-maven-plugin + +This branch allows you to build a native Android application using GraalVM and Gluon's client-maven-plugin. +However, if you code inside gitpod you cannot debug through the USB connection, so installing and running must be done locally: + +- Configure gitpod to use a docker image with the last graalvm and set it as default +- Code your application and provide build instructions according to [gluons documentation](https://docs.gluonhq.com/client/0.1.31) +- Run **mvn -Pandroid package client:build client:package** to build the Android application +- Download the **aarch64-android** folder in *target/client* (you get a tar file). I think you could do with a bit less, but I haven’t experimented with minimising the download. +- Clone your project onto your mac and untar the **aarch64-android.tar** file into **target/client** so you get the same/necessary build state as in gitpod +- Connect your phone to the USB port and ensure it enters debug mode and run **mvn -Pandroid client:install client:run** +- The app should open on your phone and you’ll see lots of debug output from it in the console \ No newline at end of file -- GitLab