项目作者: y2k

项目描述 :
List interpreter for android
高级语言: Kotlin
项目地址: git://github.com/y2k/remote-embeded-repl.git
创建时间: 2019-01-17T19:59:35Z
项目社区:https://github.com/y2k/remote-embeded-repl

开源协议:MIT License

下载


Удаленный REPL лиспа для Android

Antlr граматика

Пример использования (Kotlin Scratches)

Показать тост
  1. io.y2k.remoteconnector.Client.sendObject(
  2. """
  3. |(.show
  4. | (android.widget.Toast/makeText
  5. | io.y2k.replexample.App/instance
  6. | "Hello world"
  7. | android.widget.Toast/LENGTH_LONG))
  8. """.trimMargin()
  9. )
Открыть youtube
  1. io.y2k.remoteconnector.Client.sendObject(
  2. """
  3. |(.startActivity
  4. | io.y2k.replexample.App/instance
  5. | (android.content.Intent.
  6. | android.content.Intent/ACTION_VIEW
  7. | (android.net.Uri/parse "https://youtu.be/dQw4w9WgXcQ")))
  8. """.trimMargin()
  9. )
Показть нотификацию
  1. io.y2k.remoteconnector.Client.sendObject(
  2. """
  3. |(.notify
  4. | (androidx.core.app.NotificationManagerCompat/from
  5. | io.y2k.replexample.App/instance)
  6. | 0
  7. | (.build
  8. | (.setContentText
  9. | (.setContentTitle
  10. | (.setSmallIcon
  11. | (androidx.core.app.NotificationCompat${"$"}Builder.
  12. | io.y2k.replexample.App/instance
  13. | "default")
  14. | android.R${"$"}drawable/sym_def_app_icon)
  15. | "Hello")
  16. | "World")))
  17. """.trimMargin()
  18. )

Интеграция на клиенте

  1. class MainActivity : Activity() {
  2. private lateinit var server: Closeable
  3. override fun onStart() {
  4. super.onStart()
  5. server = Server.start(Repl::eval)
  6. }
  7. override fun onStop() {
  8. super.onStop()
  9. server.close()
  10. }
  11. }