Monkey C - step by step introduction / book? - complete beginner

Hi,

is there a step by step introduction book / guide available? ("beside wearable programming for the active lifestyle")

The programmers guide & API documentation require already a lot of skills and basic understanding to go forward.

It would be very helpful for complete beginners to have a step by step guidance... also samples are nice for a first impression, but it is very hard to use / adapt it for own projects.

I tried to work with the available material, but already have issues with just minor topics, which makes a quick start / success quite hard to achieve.

What is a good source for basic understanding functions, modules, declarations etc. Also basic structural guides would be helpful, where to define what (xml...) and how to create basic procedures

which occur in a lot of use cases (menu, calculation, drawings / positioning, text etc.).

What would be a good learning roadmap for a complete beginner.

Thanks

  • Thanks for the links. The problem is that all material is topic-focussed instead of process-focuss (what needs to be done first ....) where to input the example source codes for testing? in source view.mc? which class or function?

  • that is a good guidance.

    I tried your Step Carousel example and downloaded the source code

    I got an error message, what is expected? (I use Eclipse):

    BUILD: ERROR: Please use -f to set the required jungle file(s).
    BUILD: com.garmin.monkeybrains.ParameterException: Please use -f to set the required jungle file(s).
    BUILD:     at com.garmin.monkeybrains.Monkeybrains.run(Monkeybrains.java:2505)
    BUILD:     at com.garmin.monkeybrains.Monkeybrains.simpleMain(Monkeybrains.java:322)
    BUILD:     at com.garmin.monkeybrains.Monkeybrains.main(Monkeybrains.java:351)
    BUILD: usage: monkeyc [-a <arg>] [-b <arg>] [-c <arg>] [-d <arg>] [-e]
    BUILD:        [--Eno-invalid-symbol] [-f <arg>] [-g] [-h] [-i <arg>] [-l <arg>] [-m
    BUILD:        <arg>] [-o <arg>] [-p <arg>] [-r] [-s <arg>] [-t] [-u <arg>] [-v] [-w]
    BUILD:        [-x <arg>] [-y <arg>] [-z <arg>]
    BUILD: -a,--apidb <arg>       API import file
    BUILD: -b,--apimir <arg>      API MIR file
    BUILD: -c,--api-level <arg>   API Level to target
    BUILD: -d,--device <arg>      Target device
    BUILD: -e,--package-app       Create an application package.
    BUILD:    --Eno-invalid-symbolDo not error when a symbol is found to be invalid
    BUILD: -f,--jungles <arg>     Jungle files
    BUILD: -g,--debug             Print debug output
    BUILD: -h,--help              Prints help information
    BUILD: -i,--import-dbg <arg>  Import api.debug.xml
    BUILD: -l,--typecheck <arg>   Type check [0=off, 1=gradual, 2=informative, 3=strict]
    BUILD: -m,--manifest <arg>    Manifest file (deprecated)
    BUILD: -o,--output <arg>      Output file to create
    BUILD: -p,--project-info <arg>projectInfo.xml file to use when compiling
    BUILD: -r,--release           Strip debug information
    BUILD: -s,--sdk-version <arg> SDK version to target (deprecated, use -c
    BUILD: -t,--unit-test         Enables compilation of unit tests
    BUILD: -u,--devices <arg>     devices.xml file to use when compiling (deprecated)
    BUILD: -v,--version           Prints the compiler version
    BUILD: -w,--warn              Show compiler warnings
    BUILD: -x,--excludes <arg>    Add annotations to the exclude list (deprecated)
    BUILD: -y,--private-key <arg> Private key to sign builds with
    BUILD: -z,--rez <arg>         Resource files (deprecated)
    BUILD: Complete
    Aborting launch due to failed build.

    Do you have also a tutorial for user interaction with tap or swipe functionality or some extended drawing

    (e.g. there is a row of circles shown for each tap on the screen)

  • The tutorials are a few years old and jungles did not exist back then, start a new data field template and copy the monkey.jungle to the root of the downloaded source

  • Don't bother. Too frustrating to develop for this platform if you don't want to do just something really simple. Garmin still didn't realise that devs are part of Connect IQ equation and apparently it will not change anytime soon. 

  • I've done a number of things that aren't "really simple", as have many others.

    What platform have you moved to?  You'll probably find things there you don't like too.

  • What a strange cryptic reaction. What's your problem?
    You have developed several apps for this platform.

  • That was just mean rant from person, whose apps are for significant percentage of time broken for the reason on the side of Garmin and loosing not negligible amount of money and morale in the process. Considering, that Garmin itself forward me clients for B2B development and is not able to even apology about their own mistakes doesn't help in that manner. If you want to know more details, feel free to search for some of my other posts in this forum. ...actually, you can't search in Bugs forum, so don't bother. ;)  

    Don't take it wrong, I would love to be happy developer of CIQ with all of its funny limitations and quirks. Ability to run third party apps on Garmin products has huge potential. But not in case when only concern of CIQ team is implement another unnecessary future feature while not know what is actual state of developing on their platform in general. Their priority processing and ability to work together with other Garmin teams or devs community are appalling.