This file is maintained as the project progresses. Initially this paragraph is the first and last paragraph, as time and new pieces are added, this paragraph will still be the last one, but no longer the first. This is how a blog works, I think.
The project sources can be found on GitHub: https://github.com/jplatipus/goodViberations
As mentioned in tag v2.0, all the classes are in com.j3t.dataentryapp. The classes should be moved to com.j3t.dataentryapp.ui.activities.
The first prompt given to the agent was:
can you move all the activity classes to the package
com.j3t.dataentryapp.ui.activities
The agent duly refactored the code and manifest to the new package structure without moving the files.
The next prompt was:
you also need to move the activity files to the ui folder
The agent duly moved the activity files to the correct folder.
The UIActivities.html file has been updated to reflect the new package structure. It is hoped that by doing so, a fresh code generation request will place the files in the correct package and folder. This has not been tried, as the code is already there at present.
The project has been compiled (build menu -> assemble app run configuration). The code compiled without a hitch. Once built, each generated UI activity is opened, a preview is displayed, which is very helpful: it is possible to see what the initial UI looks like, and it is also possible to see if each activity has the widgets (buttons, text fields, lists...) that it should have. Everything looks good. Below is a screenshot of Android Studio's preview:
|
|
Preview of generate UI code.
|
A stylesheet (doc/img/styles.css) has been added to the project. This file defines the default font, page border, colours and a few other styles to make the documentation more attractive to me. Each HTML file has been updated to link to the stylesheet.
GitHub displays HTML files in the raw format. The project's readme file on GitHub, which must be in Markdown, has a hyperlink to my website (www.j3ltd.com), where the documentation can be viewed using a standard web browser.
I am now working on tag v2.0, adding the ui specification (UIActivities.html), and a start for the functionality specification (Functionality.html). It is expected that the specs will be updated over the course of this project. Each addition to this blog should be accompanied by a git tag, in this way it is possible to get a snapshot of the project that matches the blog entry.
All the screens (activities) of the app are now described in UIActivities.html.
The data layer has been moved to DataLayer.html, a brief description of the data structure (list of entries) has been started on.
The functionality has not really been started on, it has a placeholder as described in Functionality.html.
At this point it is possible to run the agent on the specification files. The expected output is a set of class files for the UI and data layer. Once generated these can be reviewed to see what Gemini has created. This gives me the opportunity to get acquainted with using the IDE to preview UI classes and to learn a bit of Kotlin, from a consumer's viewpoint.
The following prompt is given, it was suggested by the IDE's smart code suggestion:
can you generate the code for the ui specification?
|
It looks like it generated the classes I hoped for, they now need to be reviewed: I hope to be able to preview them in the IDE. One class and class file was generated per activity. It may be worth specifying a package to put these classes in, at present all the classes are in com.j3t.dataentryapp. It would be better in com.j3t.dataentryapp.ui.activities |
|
Conversation to generate ui classes using the agent.
|
|
I've created a new android app using Android Studio, and pushed it to git with the tag v1.0