GithubHelp home page GithubHelp logo

myscript / interactive-ink-examples-android Goto Github PK

View Code? Open in Web Editor NEW
71.0 8.0 26.0 2.36 MB

:pencil2: MyScript Interactive Ink examples and user interface reference implementation for Android platform.

License: Other

Java 100.00%

interactive-ink-examples-android's Introduction

What is it about?

Interactive Ink SDK is the best way to integrate handwriting recognition capabilities into your Android application. Interactive Ink extends digital ink to allow users to more intuitively create, interact with, and share content in digital form. Handwritten text, mathematical equations or even diagrams are interpreted in real-time to be editable via simple gestures, responsive and easy to convert to a neat output.

This repository contains a "get started" example, a complete example and a reference implementation of the Android integration part that developers using Interactive Ink SDK can reuse inside their projects.

Getting started

Prerequisites

This getting started section has been tested with Android Studio 2022.3+ and supports Android SDK version 21+.

Installation

  1. Clone the examples repository  git clone https://github.com/MyScript/interactive-ink-examples-android.git

  2. Claim a certificate to receive the free license to start develop your application by following the first steps of Getting Started

  3. Copy this certificate to GetStarted/src/main/java/com/myscript/certificate/MyCertificate.java and Demo/src/main/java/com/myscript/certificate/MyCertificate.java

Building your own integration

This repository provides you with a ready-to-use reference implementation of the Android integration part, covering aspects like ink capture and rendering. It is located in UIReferenceImplementation directory and can be simply added to your project by referencing it in your settings.gradle.

Documentation

A complete guide is available on MyScript Developer website.

The API Reference is available directly in Android Studio once the dependencies are downloaded.

Getting support

You can get some support from the dedicated section on MyScript Developer website.

Troubleshoot

If you encounter build errors of the form No version of NDK matched the requested version, please install the requested NDK version or update the one referenced in build.gradle to match your installed NDK version. You can follow these instructions.

Sharing your feedback ?

Made a cool app with Interactive Ink? Ready to cross join our marketing efforts? We would love to hear about you! We’re planning to showcase apps using it so let us know by sending a quick mail to [email protected].

Contributing

We welcome your contributions: If you would like to extend those examples for your needs, feel free to fork it! Please sign our Contributor License Agreement before submitting your pull request.

interactive-ink-examples-android's People

Contributors

myscript-developer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

interactive-ink-examples-android's Issues

Export jiix null

After I split the handwriting, the split handwriting cannot export jiix, what happened?

Publish UIReferenceImplementation as a standalone library

Since including the UIReferenceImplementation library is the recommended way to start building applications with MyScript's SDK, why not publish it as a library too?

As a developer, in order to start working with the SDK, I'm expecting to do something like:

implementation "com.myscript:iink:2.3.2"
implementation "com.myscript:iink-ui:2.3.2" // This is the UIReferenceImplementation library

Instead, in the current situation, I have to copy-paste the reference library code from the examples repo, which is not ideal for obvious reasons.

How do I make the rule lines darker?

Hello,

How can I make the light grey lines over which I write darker? I'm using the get started example with UIReferenceImplementation folder containing the bulk of the processing.

Thanks.

Not working when we are using it as part of dynamic delivery module for 64 bit architecture devices like Vivo V15 Pro

com.myscript.iink.NativeLibrary.clinit
Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib64/libc++_shared.so" needed or dlopened by "/system/lib64/libnativeloader.so" is not accessible for the namespace "classloader-namespace"
at java.lang.Runtime.loadLibrary0 + 1016(Runtime.java:1016)
at java.lang.System.loadLibrary + 1669(System.java:1669)
at com.myscript.iink.NativeLibrary.clinit + 17(NativeLibrary.java:17)
at com.myscript.iink.NativeLibrary. + 26(NativeLibrary.java:26)
at com.myscript.iink.NativeLibrary.init()
at com.myscript.iink.NativeFunctions. + 21(NativeFunctions.java:21)
at com.myscript.iink.NativeFunctions.createEngine(NativeFunctions.java)
at com.myscript.iink.Engine. + 20(Engine.java:20)
at com.myscript.iink.Engine.create + 39(Engine.java:39)

Option to treat Subscript as regular digit

Is there an option to disable that baseline? I want to let users to write digits on multiple lines and the digits that appear on next line either become subscripts or exponents.

Support Japanese

Hi,
Thanks for your library. Yours are so good in English but how to recognize in Japanese. Please help me!

Opening "Getting Started" in Android Studio

Hello,

I wanted to try out the Android implementation, so I imported the project into Android Studio 3.0.1, opened "Getting Started" as existing project as per https://developer.myscript.com/docs/interactive-ink/1.0/android/fundamentals/get-started/ and have gotten the following error:

Gradle 'GetStarted' project refresh failed
Error:SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

Consult IDE log for more details (Help | Show Log)

According to this post, it's because of the missing settings.gradle file:
https://stackoverflow.com/questions/27620262/sdk-location-not-found-define-location-with-sdk-dir-in-the-local-properties-fil

I added it, as the post suggested, and another error followed:

/AndroidStudioProjects/interactive-ink-examples-android-master/GetStarted/build.gradle
Error:(18, 1) A problem occurred evaluating root project 'GetStarted'.
Cannot get property 'compileSdkVersion' on extra properties extension as it does not exist

This and four other errors (one per definition) were solved by adding this below the buildscript{} in build.gradle:

ext {
    compileSdkVersion = 23
    buildToolsVersion = "26.0.2"
    minSdkVersion = 17
    targetSdkVersion = 23
    supportLibraryVersion = 23
}

Now I'm getting another error:

Error:(41, 1) A problem occurred evaluating root project 'GetStarted'.
Project with path ':UIReferenceImplementation' could not be found in root project 'GetStarted'.

Am I missing a key step from which all these errors stem?

Thanks.

facing an problem that the drawing which user draw get replicated on every pages

Hello team ,
we are developing an education related android application we are integrated interactive ink in our application !!!
so we are facing an problem that the drawing which user draw get replicated on every pages we follow your demo application which given by you on github:
https://github.com/MyScript/interactive-ink-examples-android/tree/master/Demo

will you help us in this to solve this problem
thanks,
shashank

invalid certificate

Hello, I plan to use myscript as a plug-in for my flutter project, but when initializing the plug-in I encapsulated, an error occurred: Engine.create(MyCertificate.getBytes());
What makes me even more confused is that at this time, I used this certificate in a newly created Android native demo and it was initialized normally! !
I'm very confused. Is it related to the project structure? Or are there other configuration issues?
hope to get your reply

Process: com.example.myscriptwidget_example, PID: 22914
java.lang.IllegalArgumentException: invalid certificate
at com.myscript.iink.NativeFunctions.createEngine(Native Method)
at com.myscript.iink.Engine.(Engine.java:20)
at com.myscript.iink.Engine.create(Engine.java:40)
at com.example.myscriptwidget.engine.MyScriptEngine.initEngine(MyScriptEngine.java:71)
at com.example.myscriptwidget.view.MyScriptViewFactory$1.run(MyScriptViewFactory.java:39)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:238)
at android.app.ActivityThread.main(ActivityThread.java:7820)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)

Application error when no string entered

If you write or draw nothing inside the Editor view and hit "Convert" button, application will close with this error:
18886-18886/com.myscript.iink.getstarted E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myscript.iink.getstarted, PID: 18886 java.lang.RuntimeException: internal error at com.myscript.iink.NativeFunctions.convert(Native Method) at com.myscript.iink.Editor.convert(Editor.java:839) at com.myscript.iink.getstarted.MainActivity.onOptionsItemSelected(MainActivity.java:173) at android.app.Activity.onMenuItemSelected(Activity.java:3380) at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:368) at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:195) at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:108) at android.support.v7.app.AppCompatDelegateImplV9.onMenuItemSelected(AppCompatDelegateImplV9.java:674) at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:822) at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:171) at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:973) at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:963) at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:624) at android.support.v7.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:150) at android.view.View.performClick(View.java:5619) at android.view.View$PerformClick.run(View.java:22298) at android.os.Handler.handleCallback(Handler.java:754) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6360) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)

And if you will enter something, then erase it and hit Convert - the error won't occur.

Only Numerical characters

Hi there,
1st of all thanks for the great work.
I just wonder if I can use only numbers and point (1234567890.) for the math education app.

Thanks in advance

Open Package not working

When I try to open a file using the context menu , i get the below mentioned error.

java.io.IOException: content package archive corrupted

I verified using the File Manger if the file was actually present or not and it was.

Lexicon on the fly

I'd like users of my app to be able to add custom words to the lexicon—for example, fictional names of characters or places. I saw that I can build custom lexicons via an online tool, then compile that into the app. Obviously users of my app won't be able to do that. How can I enable the capacity to add words into the lexicon on the fly? MyScript doesn't seem to take the local dictionary into account. Thanks.

I'm using IInk SKD 1.1 for Android.

Thanks.

NullPointerException

Process: com.myscript.iink.demo, PID: 14799
java.lang.NullPointerException: Attempt to get length of null array
at com.myscript.iink.uireferenceimplementation.SmartGuideView.computeModificationOfWords(SmartGuideView.java:626)
at com.myscript.iink.uireferenceimplementation.SmartGuideView.update(SmartGuideView.java:531)
at com.myscript.iink.uireferenceimplementation.SmartGuideView.contentChanged(SmartGuideView.java:378)
at com.myscript.iink.Editor$3.accept(Editor.java:156)
at com.myscript.iink.Editor$3.accept(Editor.java:152)
at com.myscript.iink.ListenerList.forEach(ListenerList.java:53)
at com.myscript.iink.Editor.contentChanged(Editor.java:151)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.