michalrus / agh-mindmap

Collaborative mindmapping for Android with XMind support
Apache License 2.0
12 stars 6 forks source link

hello #2

Closed marcelklehr closed 10 years ago

marcelklehr commented 10 years ago

hello there,

I was searching for (open source) mindmapping tools for android and came across your repo. I'd love to be able to edit my mindmaps both on android and with xmind on my desktop.

So, how are you coming along? Is there a demo build available already? ;) I'm afraid I'll probably not be of any help. I've never developed for android before...

michalrus commented 10 years ago

@marcelklehr Hi!

This is (so far?) a proof-of-concept project for a B.Sc. paper to test Scala-on-Android development. The strongest emphasis was put on real-time collaboration features and offline synchronization of maps between devices (which work quite nice, by the way).

When it comes to the "view", it lacks almost all features of XMind except for actual raw mindmap tree editing. So: no custom relations, no icons, no colors etc.

Here, have a look: x

marcelklehr commented 10 years ago

So, it supports real-time collaboration?

michalrus commented 10 years ago

@marcelklehr It does, indeed. And synchronization of changes introduced while offline, too (with automatic conflict resolution). Pretty cool, if you asked me. <3

marcelklehr commented 10 years ago

woot! That's amazing. How complicated is the build process? I'd like to give this a try.. :)

Btw, how does real-time work? Via internet?

marcelklehr commented 10 years ago

You gotta upload this to http://f-droid.org, btw!

michalrus commented 10 years ago

@marcelklehr Feel free to do it. :3 Building could not be simpler, see for yourself, I've just updated the README.md.

marcelklehr commented 10 years ago
java.lang.RuntimeException: No main class detected.
        at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) No main class detected.
[error] Total time: 1 s, completed 25.01.2014 14:48:12

(after downloading a lot of stuff)

michalrus commented 10 years ago

@marcelklehr Ahhhhhhhh, I'm so sorry! It should be:

$ cd agh-mindmap/android/

README.md updated, thank you! agh-mindmap contains both android project and akka server-side daemon. So yes, it works via network.

marcelklehr commented 10 years ago

Mh. Still doesn't work for me.

[info] Loading project definition from XXX\agh-mindmap\android\project
fatal: could not create work tree dir 'XXX\.sbt\0.13\staging\e7af982aa8e832ae6622\afilechooser'.: No such file or directory
java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method)
[... (I did this) ]
        at xsbt.boot.Boot.main(Boot.scala)
michalrus commented 10 years ago

Ah, Windows. It's a bug in SBT, create the XXX\.sbt\0.13\staging\e7af982aa8e832ae6622 directory by hand. :3

marcelklehr commented 10 years ago

Do I also need some Android SDK?

michalrus commented 10 years ago

Yes, yes, to build, run, communicate with the phone etc. I thought you had it and were asking how to build a Scala app. :) Still, this should be straightforward: download the SDK, unpack it and set appriopriate ENV variable. I don't remember its name, SBT will tell you, though.

marcelklehr commented 10 years ago

Doh, installed the sdk, now I get

[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  :: com.android.support#support-v4;18.0.0: not found

Although it's clearly there.

Additionally, it throws a java.lang.RuntimeException: Platform android-17 unknown

michalrus commented 10 years ago

@marcelklehr Almost there! :+1: Start $android_sdk_directory/tools/android (the "SDK Manager") and make it install/download Android API level 17 and the support-v4 library. I don't remember the exact names, but you'll most probably manage. :)

marcelklehr commented 10 years ago

"Building could not be simpler" :P

It's prolly crazy of me to go through with this on windows..., but I'm almost there anyway, so.. meh. ;)

michalrus commented 10 years ago

Haha. ;3 Well, it could not be simpler if you had Android SDK installed, as I had assumed.

marcelklehr commented 10 years ago

hah, now I gotta install the java SDK, too. lol... not your fault of course :)

michalrus commented 10 years ago

Haha. ;3 So many assumptions on my part.

marcelklehr commented 10 years ago

ok, now I get java.lang.RuntimeException: no devices connected

What should I do to my phone to get it recognized? :)

michalrus commented 10 years ago

@marcelklehr Great, so the app builds. <3

It depends on the phone. Basically, you've got to install ADB drivers. You should have your phone listed when invoking:

$ android-sdk/platform-tools/adb devices

First of all, turn on USB debugging in Phone Settings -> Developer options, maybe it will work OOTB. If not, try generic ADB driver from Google in android-sdk/extras/google/usb_driver. If this one doesn't work, just google "adb driver windows $your_phone". ;3

marcelklehr commented 10 years ago

[success] Total time: 31 s Wooot! Now, that was easy... Thanks for bearing with me! :D

App is started. And I already have a few mindmaps..

michalrus commented 10 years ago

@marcelklehr My pleasure. ;3

Yes, no user privileges are implemented (yet?). And so everybody sees everybody's else mindmaps.

marcelklehr commented 10 years ago

oh. so I can collaborate with you, now?

michalrus commented 10 years ago

Yeah, basically. Don't mind weird sizing of the nodes, this will get fixed soon. ;3

marcelklehr commented 10 years ago

That's nice. Now I gotta get some rest... :)