[B4A] pmMindmap: a mindmap app written in B4A for a tablet

PaulMeuris

Well-Known Member
Licensed User
Do you like to use a mindmap to visualize your thoughts?
Do you use mindmaps in presentations?
Do you like to document your source code by using a mindmap?
If you do then this app might be something for you.
Yes, i know, there are some mindmap apps available in the PlayStore.
But, they have ads and/or they have in-app purchases in the pro version.

This app is completely free and will be open source if there are at least 20 good comments (not likes) from different members.
The app is written for the use on a tablet. I have tested it on a Samsung Galaxy tab S10 lite 10.9".
Both portrait and landscape orientations are supported.
You can install and use it on a smartphone in landscape orientation but it's not ideal.

You can download the zip-file that contains the pmMindmap.apk file via this link:
pmMindmap.zip

Installation instructions:
- open the zip-file and extract the apk-file or open it from the archive viewer.
- give the file manager app permission to install unknown apps
- don't perform an app scan from Play Protect and tap on "install without scanning" (if you don't see it tap on "More details"). Enter your pin code when asked.
- tap on open or find the app in the installed apps list and open it from there.
- now you can do some testing.
- if you cancel the dialog "Set text for main" you can restart by selecting the "New" menu item.

The app doesn't require an internet connection.
The files are saved on the device.
Examples made with the app:
This example explains the pmMindmap app.

example1.PNG


This example describes the subroutines of the ZoomImageView library.
example2.PNG
 

josejad

Expert
Licensed User
Longtime User
Congrats¡¡ Tested on my phone (no tablet here right now). It's easy and intuitive (but, as you say, it will be better on a tablet).
The way you can drag the nodes and they keep the connection is great
 

zed

Well-Known Member
Licensed User
I tried several from the Play Store. I uninstalled them all.
I tried yours on a 10.5-inch tablet. I decided to keep it.
Excellent work.
 

PaulMeuris

Well-Known Member
Licensed User
Thank you @zed , @Magma and @josejad for the comments.

Reminder: the main subject text is used as the filename. Alphabetic and numeric characters and an underscore (_) are allowed. You can not use punctuation marks or spaces.

Bonus: you can use the stylus pen and handwrite the text if the s-pen handwriting (on a Samsung tablet) is active.

Some new idea's for the next version:
Screenshot_20260207_162151.jpg

There are a few improvements that i will implement in the next update. Stay tuned...
A B4J version that can read the .json files from the tablet is also coming...
 

zed

Well-Known Member
Licensed User
It would be interesting to be able to create UML diagrams as well.
 

PaulMeuris

Well-Known Member
Licensed User
Status at this point:
- an update is available of the B4A apk zip-file. You can find the link in the first message.
Make sure that you have a backup of the files you have already created.
I use a USB cable to transfer files between the tablet and my laptop (USB setting Transferring files).
The files folder (Android/data/b4a.pmMindmap/files) contains the .json files. Windows explorer has access to that folder.
Uninstall the old app and reinstall the new version of the app. Then copy your files back to the files folder.
- in the new version the text labels behave better. You might have to open the ChangeText dialog and tap OK to recreate the text label.
- the app can transform a .json file from the Windows application to an Android version.
- The B4J version is also available.
1770538211344.png

You can find the source code in the attachment. Most of the source code is the same as the B4A app.
The B4J application redraws the lines after you have dragged and released the text panel.
This should avoid problems with JavaFX errors regarding the use of a large canvas.
The application can also transform the .json files from the Android device.
You can copy the files in the files folder under C:\Users\<your username>\AppData\Roaming\pmMindmap\files.
In about 5 minutes the Android zip-file will be updated...
 

Attachments

  • pmMindmap.zip
    9.2 KB · Views: 65

Alessandro71

Well-Known Member
Licensed User
Longtime User
Status at this point:
- an update is available of the B4A apk zip-file. You can find the link in the first message.
Make sure that you have a backup of the files you have already created.
I use a USB cable to transfer files between the tablet and my laptop (USB setting Transferring files).
The files folder (Android/data/b4a.pmMindmap/files) contains the .json files. Windows explorer has access to that folder.
Uninstall the old app and reinstall the new version of the app. Then copy your files back to the files folder.
- in the new version the text labels behave better. You might have to open the ChangeText dialog and tap OK to recreate the text label.
- the app can transform a .json file from the Windows application to an Android version.
- The B4J version is also available.
View attachment 169749
You can find the source code in the attachment. Most of the source code is the same as the B4A app.
The B4J application redraws the lines after you have dragged and released the text panel.
This should avoid problems with JavaFX errors regarding the use of a large canvas.
The application can also transform the .json files from the Android device.
You can copy the files in the files folder under C:\Users\<your username>\AppData\Roaming\pmMindmap\files.
In about 5 minutes the Android zip-file will be updated...
sources are always welcome as a way to compare different styles.
i see you used a single object approach, putting all together in MainPage.
i usually break down my sources is different objects, but that's not a critic rather than an observation on a different approach.
your folding of subs is something i rarely see in the sources i download.
 

PaulMeuris

Well-Known Member
Licensed User
@Alessandro71 Thank you for your comment.
We all have different programming styles.
On a small project like this (less than 700 lines of code) the structure of the code and the use of objects is not essential.
As for the folding, i use region sections when the number of lines get too big and i want to functionally group subroutines.
The folding hides some code so that it is easier to concentrate on the subroutine i am working on. The scrolling is also quicker.
And if you loose track of where you are in the code then you can open up the Modules pane to alphabetically look up a subroutine.
 

PaulMeuris

Well-Known Member
Licensed User
In this new update the app starts with a changed input dialog.
This dialog also contains a list of images, an image preview and a checkbox to set the image.
At first the list will be empty because you have to copy image files to the newly created "images" folder in the files folder of the app (Android/data/b4a.pmMindmap/files/images).
After that you can start the app and the list will show the images (JPG, PNG) you copied to the folder.
The main subject panel can not contain an image because the text is the filename of the mindmap.
The child panels can contain text, an image or both. Use the checkbox to set the image on the panel.
A few examples to demonstrate this:

1770725507502.png

1770725559606.png

1770725605813.png

If you tap to select a child panel (white background with blue borders) and choose ChangeText then you can change the text and the image from the same dialog. You can also choose the ShowImage menu item when the panel is selected and a dialog will show an enlarged image.

In this version the dialogs will load the appropriate layout according to the screensize: less than 7.0 and the small dialogs are loaded, 7.0 or more and the tablet dialogs are loaded. This should make the use of the app on a smartphone easier.

You can download the zip-file with the apk-file via the link in the first message.
There will be no source code yet (i have only received 4 comments so far).
The apk file will be available after 5 minutes.
 

PaulMeuris

Well-Known Member
Licensed User
There are some more improvements of the pmMindmap app you can test.
- the app starts with an empty main panel that is positioned in the top left corner
- tap on the Files or New menu item to start
- the Files menu item opens a files list and the New menu item opens the child dialog to set the text for the main subject
- most of the todo list items have been implemented
- the last menu item opens a settings panel in the left upper corner and a named color list next to it
- tap on a color in the color list and that color will appear as the top item with a magenta background
- after you selected a color you can use the Set button for the part that you want the color to be changed into
- the index number of the color will appear in the label before the button
- the default colors are displayed and the default text color is black
- you can use dark colors and set the text color to a light color or white
- the color of the lines is the same as the text color (default black)
- only the colors you have set will be applied the rest remain the same as before
- the border thickness and the corner radius of the panels can also be set using the comboboxes
- the modifications will be applied if you tap on the "Apply changes" button
- the 2 settings panels can be collapsed or expanded if you tap on the panel (but not on the buttons or comboboxes)
- a smartphone has a smaller settings panel and there you need to collapse the color settings panel to get to the "Apply changes" button
- the text label height can change if you enter a text and use carrige return and linefeed (CRLF) after each line

Some examples:
settings_panel.PNG
color_settings.PNG
border_settings2.PNG


color_settings2.PNG
color_example1.PNG
multiple_lines_example.PNG


The zip-file with the apk-file will be updated in a few moments... the link is in message #1

The B4J version will be updated soon...
 

PaulMeuris

Well-Known Member
Licensed User
This new update from the B4J version has the same functionalities as the B4A app.
You can now exchange the json files (and .bak backup files) between your Windows OS and your Android OS.
A quick reminder how you can do that:
- connect the Android device to the PC/laptop with the USB cable
- on the Android device select in the USB settings how you want to use the USB (transferring files)
1771235051357.png

- on the Windows OS open Windows Explorer and go to the device folder and into the app folder
1771235252632.png

- select the files you want to transfer from the device to windows and press CTRL+C and go to the application folder
on the Windows PC (Users / <your username> / AppData ...) and press CTRL+V
1771235360404.png

- you can also select files in the Windows folder from the application and transfer them in the same way to the device

The B4J source code is in the attachment.

P.S. i fixed a small issue with the resizing of a text label in the B4A app (latest version is from today).
 

Attachments

  • pmMindmap.zip
    29.4 KB · Views: 40
Top