Add new Android voice translator sample app

This adds a simple voice translator Android app that uses
the JNI bindings to the PGF C runtime.

Caveats:

- Since the C runtime doesn't compile for Android right now,
  I've bundled an old copy, along with its Java bindings.
  That should be removed once the C runtime compiels for Android
  again.

- Adding an automated build would be nice.

- Replacing the grammar requires editing a Java file, that should 
  really be more dynamic.
This commit is contained in:
bringert
2013-10-04 16:26:46 +00:00
parent f156a5e8f9
commit a35b286ce0
45 changed files with 1236 additions and 147 deletions

66
src/ui/android/README Normal file
View File

@@ -0,0 +1,66 @@
= Overview =
This directory contains a sample Android app tht uses
the Android speech recognition and TTS APIs along with
JNI bindings to the C PGF runtime to implement a simple
speech translation app.
= Requirements =
1. Android SDK: http://developer.android.com/sdk/
installed in $ANDROID_SDK_LOCATION
2. Android NDK: http://developer.android.com/tools/sdk/ndk/
installed in $ANDROID_NDK_LOCATION
= Building =
Set up Android project:
# Creates local.properties, not to be checked in
$ $ANDROID_SDK_LOCATION/tools/android update project -p .
Build libs/libjpgf.jar:
$ (cd ../../runtime/java && javac org/grammaticalframework/pgf/*.java && jar -cf libjpgf.jar org/grammaticalframework/pgf/*.class)
$ cp ../../runtime/java/libjpgf.jar libs
Build JNI code:
$ cd jni
$ $ANDROID_NDK_LOCATION/ndk-build
Build APK:
$ ant debug
Install on your device:
$ ant debug install
or:
$ adb install -r bin/MainActivity-debug.apk
= Changing the grammar =
1. Replace assets/ResourceDemo.pgf
2. Edit Translator.java to point to the new file and include its metadata
= Developing in Eclipse =
1. Install Android ADT
2. Eclipse > File > Import > Existing Projects into Workspace > Next
3. Select root directory...
4. Select GF/src/ui/android
5. Finish