Coder Social home page Coder Social logo

kawadroid's Introduction

#KawaDroid Examples ###"This is the Droid you are looking for."


####A collection of Kawa Scheme demos (including OpenGLES 2.0) for Android.

The current set of examples is:

  1. Hello World.
  2. A telnet read-eval-print loop (REPL).
  3. A Linear Layout with a Button and a TextView. Shows how to bind events.
  4. Load text files from Assets and display them in a ScrollView.
  5. A binary HTTP client which downloads and displays a live webcam image.
  6. jsoup for XML parsing to extract and display links as clickable text.
  7. Compiling, dexing and loading of java bytecode from scheme text files.
  8. GPS location with Fused API. Provides a synchronous interface with timeouts.
  9. OpenGLES 1.0 demo of a spinning triangle with touch events.
  10. OpenGLES 1.0 spinning cubes and pyramids copied from SchemeAndroidOGL.
  11. Accelerometer/Compass to generate x,y,z unit vectors for "up" and "north".
  12. OpenGLES 2.0 of the same spinning triangle, this time with shaders.
  13. OpenGLES 2.0 Pyramid with accel/compass. Red side faces north.

Each example is source code for the scheme interpreter and on-the-fly compiler.

Choose an example and copy the .scm files to the device at "/sdcard/KawaDroid".

The exact path could be different on your device. It contains the path to external storage and the app title.

In ./app/src/main/AndroidManifest.xml, the title is currently set to "KawaDroid".

The core app reads "on-create.scm" and interprets it.

For those willing to risk installing an unsigned debug apk, it can be found at:

./app/build/outputs/apk/app-debug.apk

This is a gradle project, ready for import into Android Studio for customization and building.

Transferring the files with "adb push" works best. MTP doesn't sync properly but will be fixed soon.

The license for this code is Apache 2.0. This project includes other software with different licenses. Complete license information is in the assets directory ./app/src/main/assets

Internally, this project uses these technologies:

Other projects with similar goals and/or features:

kawadroid's People

Stargazers

Indraniel avatar Daniel Szmulewicz avatar HORIE Tetsuya avatar Daniele avatar Lyn Headley avatar zarudama avatar Tatsuya Tsuda avatar Samir avatar =Bill.Barnhill avatar  avatar Andrea Bernardini avatar

Watchers

zarudama avatar James Cloos avatar Jarrod Bourlon avatar Serhii Oleksiienko avatar

Forkers

devehe detext

kawadroid's Issues

building KawaDroid in Termux?

hi,
For a while, I have been working on a Scheme editor for Android. Recently, I managed to hook it to the Kawa evaluator, and I think the result is quite promising:

https://youtube.com/shorts/oOHg74HYau4?feature=share

The editor itself is implemented in Java, because I've been using the all-mighty Termux environment on my phone to build it.

I did so, because I've found the 'buildAPKs' project, which provides build scripts that allow to build APK files on Android devices.

Recently it occurred to me, that if I were using Kawa, I'd be able to work on the editor in itself, which I think would be beneficial in many ways.

However, I know fairly little about Kawa, Java and the Android ecosystem.

When I try to build the mainact.scm file using the .jar file from the KawaDroid repo, i.e.

$ java -jar app/libs/kawa.jar -C app/src/main/kawa/android/mainact.scm

I get the following set of errors:

(compiling app/src/main/kawa/android/mainact.scm to app.src.main.kawa.android.mainact)
app/src/main/kawa/android/mainact.scm:23:23: unknown type name 'android.app.Activity'                                                                 app/src/main/kawa/android/mainact.scm:31:17: unknown type name 'android.app.Activity'                                                                 app/src/main/kawa/android/mainact.scm:36:30: invalid super type            app/src/main/kawa/android/mainact.scm:46:28: unknown type name 'android.os.Bundle'

I can find at least two android.jar files on the Termux filesystem, but I don't know how to let Kawa know about it (or whether that's even the right way)

Do you think you could help?

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.