Introduction

Mind Map app

Uses MindMapView library by SangJun Lee.

MindMap MindMap-zoom

Build yourself a map of whatever takes your fancy. The app allows adding and removing nodes, editing the text and saving and loading mindmaps.

Toolbar

Not all items may appear, depending on node selection.

  • New – Create a new mindmap
  • Add – Add a new node
  • Remove – Remove a node
  • Edit – Edit the description
  • Fit – Fit the display
  • Open file – Load a new mindmap
  • Save file – Save the mindmap
  • Share
    • Image – Share MindMap image
    • JSON – Share JSON code
  • Import
    • XML – Import XML
    • Markdown – Import Markdown
  • Export
    • XML – Export XML
    • Markdown – Export Markdown

Most of the entries will pop up a dialog either prompting for a new description, or checking that you want to remove something.

Panning and Zooming

The app responds to panning and zooming gestures. You may restore the default display by tapping the Fit button. There are some idiosyncrasies of the library used. When loading a file or rotating the device the nodes will appear to zoom out of the top left corner of the display. If you drag the nodes around the display, they will be restored to where they should be. The fit button doesn’t always get it exactly right.

Editing

MindMap-drag

As well as editing node text you may drag nodes or part of the tree to new positions in the tree. The tree will reorganise itself.

Saving and opening files

When you save a file, the chooser will give you an opportunity to change the file name, which will default to MindMap, unless you have opened a file with a different name. You can also tap on an existing file to overwrite it. If you just tap on the Save button, the chooser will create a series of versions – MindMap(1), MindMap(2) etc. This may vary with different devices or different versions of Android.

If you open a JSON file in a file manager, or share one from another app, MindMap will attempt to open it and ask if you want to replace an existing one. A dialog will pop up if the file isn’t a MindMap file or if the app can’t read it.

Sharing

You can share an image of the current display or the JSON code representing the current mindmap.

Import

You may import an XML or Markdown file, which may have been produced by other mindmap applications. The Markdown import function derives structure and text from headings and lists only and ignores other content.

Export

You may export an XML or Markdown file, which may be imported into other mindmap applications. Exported Markdown files contain headings only.

File format

The mindmap files contain text in the JSON format, so they can be edited with care with a text editor. This is the file from the mindmap above.

{"content":"MindMap","root":"Develop apps","nodes":[{"id":"fd9899ed-ce26-4d64-86dd-9946a79c7907","parent":"root","content":"Get a computer"},{"id":"ee3810cf-4bbe-4d15-b962-64db5aabd301","parent":"fd9899ed-ce26-4d64-86dd-9946a79c7907","content":"Do you have the funds?"},{"id":"6bb727e6-2cd9-4544-a2b3-a79c3815bfcc","parent":"fd9899ed-ce26-4d64-86dd-9946a79c7907","content":"What should you buy?"},{"id":"29981b1f-04d0-4951-bf8e-ff426fe04a8e","parent":"root","content":"Get the tools"},{"id":"b91c3d8a-b30e-44df-965f-49095f2dc5e9","parent":"29981b1f-04d0-4951-bf8e-ff426fe04a8e","content":"JDK"},{"id":"30082cbb-7f9e-45ce-a327-344a36a0a815","parent":"29981b1f-04d0-4951-bf8e-ff426fe04a8e","content":"Android SDK"},{"id":"b1ee6dab-5242-479c-a75a-8fd72f874971","parent":"29981b1f-04d0-4951-bf8e-ff426fe04a8e","content":"Editor?"},{"id":"522e8cb7-67f0-4dae-ab1e-47af94c238ff","parent":"b1ee6dab-5242-479c-a75a-8fd72f874971","content":"Emacs"},{"id":"8c7055fb-5db8-43d1-a424-4d898da67005","parent":"b1ee6dab-5242-479c-a75a-8fd72f874971","content":"Vim"},{"id":"c772c5c2-de96-4241-b745-a72f041ab847","parent":"b1ee6dab-5242-479c-a75a-8fd72f874971","content":"Notepad"},{"id":"34c54758-6c51-49d6-900d-89955cca71f6","parent":"root","content":"Well?"}]}

The id strings are generated by the library.

JSON code prettified
{"content":"MindMap",
 "root":"Develop apps",
 "nodes":[
     {"id":"fd9899ed-ce26-4d64-86dd-9946a79c7907",
      "parent":"root",
      "content":"Get a computer"},
     {"id":"ee3810cf-4bbe-4d15-b962-64db5aabd301",
      "parent":"fd9899ed-ce26-4d64-86dd-9946a79c7907",
      "content":"Do you have the funds?"},
     {"id":"6bb727e6-2cd9-4544-a2b3-a79c3815bfcc",
      "parent":"fd9899ed-ce26-4d64-86dd-9946a79c7907",
      "content":"What should you buy?"},
     {"id":"29981b1f-04d0-4951-bf8e-ff426fe04a8e",
      "parent":"root",
      "content":"Get the tools"},
     {"id":"b91c3d8a-b30e-44df-965f-49095f2dc5e9",
      "parent":"29981b1f-04d0-4951-bf8e-ff426fe04a8e",
      "content":"JDK"},
     {"id":"30082cbb-7f9e-45ce-a327-344a36a0a815",
      "parent":"29981b1f-04d0-4951-bf8e-ff426fe04a8e",
      "content":"Android SDK"},
     {"id":"b1ee6dab-5242-479c-a75a-8fd72f874971",
      "parent":"29981b1f-04d0-4951-bf8e-ff426fe04a8e",
      "content":"Editor?"},
     {"id":"522e8cb7-67f0-4dae-ab1e-47af94c238ff",
      "parent":"b1ee6dab-5242-479c-a75a-8fd72f874971",
      "content":"Emacs"},
     {"id":"8c7055fb-5db8-43d1-a424-4d898da67005",
      "parent":"b1ee6dab-5242-479c-a75a-8fd72f874971",
      "content":"Vim"},
     {"id":"c772c5c2-de96-4241-b745-a72f041ab847",
      "parent":"b1ee6dab-5242-479c-a75a-8fd72f874971",
      "content":"Notepad"},
     {"id":"34c54758-6c51-49d6-900d-89955cca71f6",
      "parent":"root",
      "content":"Well?"}
 ]
}
The app will ignore whitespace in the file.
XML code prettified
<?xml version='1.0' encoding='UTF-8' ?>
<?xml version='1.0' encoding='UTF-8' ?>
<MindMap name="Develop">
<node id="root">Develop apps</node>
<node id="fd9899ed-ce26-4d64-86dd-9946a79c7907" parent="root">Get a computer</node>
<node id="ee3810cf-4bbe-4d15-b962-64db5aabd301" parent="fd9899ed-ce26-4d64-86dd-9946a79c7907">Do you have the funds?</node>
<node id="1c63135b-deea-492b-a185-a8f3af2a7046" parent="ee3810cf-4bbe-4d15-b962-64db5aabd301">Credit</node>
<node id="c756d0d4-9061-45c4-a86e-2ace0acc584b" parent="ee3810cf-4bbe-4d15-b962-64db5aabd301">Save up</node>
<node id="7f741df1-c5c3-49c5-9de3-0c2280f47c22" parent="ee3810cf-4bbe-4d15-b962-64db5aabd301">Just do it</node>
<node id="6bb727e6-2cd9-4544-a2b3-a79c3815bfcc" parent="fd9899ed-ce26-4d64-86dd-9946a79c7907">What should you buy?</node>
<node id="e3207302-958f-4dc4-bc3f-0fb55f11302e" parent="6bb727e6-2cd9-4544-a2b3-a79c3815bfcc">Mac</node>
<node id="def5ec65-3197-43b2-920e-10ccf8840598" parent="6bb727e6-2cd9-4544-a2b3-a79c3815bfcc">Windoze PC</node>
<node id="71947b9b-b117-476e-bd8d-537826a50e2a" parent="6bb727e6-2cd9-4544-a2b3-a79c3815bfcc">Linux box</node>
<node id="29981b1f-04d0-4951-bf8e-ff426fe04a8e" parent="root">Get the tools</node>
<node id="b91c3d8a-b30e-44df-965f-49095f2dc5e9" parent="29981b1f-04d0-4951-bf8e-ff426fe04a8e">JDK</node>
<node id="30082cbb-7f9e-45ce-a327-344a36a0a815" parent="29981b1f-04d0-4951-bf8e-ff426fe04a8e">Android SDK</node>
<node id="b1ee6dab-5242-479c-a75a-8fd72f874971" parent="29981b1f-04d0-4951-bf8e-ff426fe04a8e">Editor?</node>
<node id="522e8cb7-67f0-4dae-ab1e-47af94c238ff" parent="b1ee6dab-5242-479c-a75a-8fd72f874971">Emacs</node>
<node id="8c7055fb-5db8-43d1-a424-4d898da67005" parent="b1ee6dab-5242-479c-a75a-8fd72f874971">Vim</node>
<node id="c772c5c2-de96-4241-b745-a72f041ab847" parent="b1ee6dab-5242-479c-a75a-8fd72f874971">Notepad</node>
<node id="249b7bbe-c9b9-4cb7-8165-b5d8ce6ea078" parent="29981b1f-04d0-4951-bf8e-ff426fe04a8e">Read the docs</node>
<node id="07c51a86-cd42-44bd-a4df-2b6a78eb7ef3" parent="249b7bbe-c9b9-4cb7-8165-b5d8ce6ea078">Think you know what to do</node>
<node id="6a262e7e-aa4e-48c7-b8d1-3f66706751ad" parent="249b7bbe-c9b9-4cb7-8165-b5d8ce6ea078">Get brain damage</node>
<node id="34c54758-6c51-49d6-900d-89955cca71f6" parent="root">Well?</node>
<node id="23f77064-d570-4f2f-9a47-e4ab9ea636f7" parent="34c54758-6c51-49d6-900d-89955cca71f6">Get on with it</node>
<node id="d9722e28-ac63-479d-aacf-ed497edb37c6" parent="34c54758-6c51-49d6-900d-89955cca71f6">Run out of enthusiasm</node>
<node id="23eae1e1-cd53-404e-bae9-75a17508ae27" parent="34c54758-6c51-49d6-900d-89955cca71f6">Give up</node>
</MindMap>
```xml
</details>