nerd-chat-test / Puzzle_App_Project

0 stars 0 forks source link

Begin implementing the class structure #7

Open PascalTheDog opened 5 years ago

PascalTheDog commented 5 years ago

A class structure was outlined in the planning document shared in Google Drive. These classes should be added to the code, with at least a basic implementation of the structure. The most important thing is to establish how the classes fit together, but some basic functionality would be a good idea too.

PascalTheDog commented 5 years ago

I have managed to get a few "Activities" added to the app. I have introduced "Intents" as well, and the classes are linked together as discussed in the planning document. The app builds without any issues, but the ability to move between activities has not yet been implemented, and so there is nothing to test at the moment.
The next step will be to introduce navigation between these pages.

I have found the following to be useful so far in working on this task:

PascalTheDog commented 5 years ago

I continued to implement a navigable structure to the app. I was able to implement a button using the weird mix of graphical designers, XML and Java, but it does nothing yet - I would need to sort out handlers for that. I added more files to allow the activities to have different layouts as well.

It runs as expected on my phone, but it's just not worth looking at.

PascalTheDog commented 5 years ago

I now have enough buttons to navigate through the activities. They even work! Crazy... The buttons themselves are just placeholders, of course.

I'm not sure whether to go for a full OpenGL ES window for rendering the grid or a "VectorDrawable" object. The advantage of the former is that all sorts of unique animations and effects could be used, but it would be more difficult to program. On the other hand, while the other would be easier to use, it would limit how sophisticated the app could look. I have to admit to having a preference for getting back to some serious 3D graphics programming, but this is meant to be a group project after all...

PascalTheDog commented 5 years ago

As far as the class structure goes, there are still a couple of warnings - one in the "AndroidManifest" file and another in the "activity_splash" file. It would be good to get these cleared up before fixing them becomes an unfeasible task.

I've also been investigating the OpenGL ES and "VectorDrawable" methods for drawing the puzzle screen. I didn't think the "VectorDrawable" stuff would be so complicated...
I'm currently favouring the versatility of OpenGL ES, but I appreciate that it might be overkill. Still, it's something that I feel a little more comfortable with implementing. The links below should provide a guide to how the OpenGL ES and "VectorDrawable" methods could be implemented.

OpenGL ES: https://medium.com/androiddevelopers/understanding-androids-vector-image-format-vectordrawable-ab09e41d5c68

"VectorDrawable": https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html https://developer.android.com/guide/topics/graphics/vector-drawable-resources https://arm-software.github.io/opengl-es-sdk-for-android/high_quality_text.html https://www.vogella.com/tutorials/AndroidDrawables/article.html

PascalTheDog commented 5 years ago

At the moment, I will be continuing to work on the OpenGL functionality, and the implementation of the classes will continue with Mandy, Adam, or both.

For whoever picks up this ticket next, the following link may be of use: https://stackoverflow.com/questions/24842550/2d-array-grid-on-drawing-canvas

This might give an idea of how the basic functions of the grid could be implemented.