OptionsMenu

BeanShell

source("/sdcard/com.googlecode.bshforandroid/extras/bsh/android.bsh");
droid = Android();
print("Press Menu Button");
droid.call("addOptionsMenuItem","From BeanShell","menu",1,"ic_menu_info_details");
droid.call("addOptionsMenuItem","Exit BeanShell","menu",2,"ic_menu_close_clear_cancel");
while(true){
  event = droid.call("eventWaitFor","menu");
  if (event.get("result").get("data") == 1) {
    droid.call("makeToast","Selected Add Menu");
  } else if (event.get("result").get("data") == 2) {
    break;
  }
}
droid.call("clearOptionsMenu");
droid.call("makeToast",getSourceFileInfo()+" is done");

Bex

include("/sdcard/com.googlecode.bexforandroid/extras/bex/android.bex")
droid = Android()
print("Press Menu Button")
droid.call("addOptionsMenuItem","From Bex","menu",1,"ic_menu_info_details")
droid.call("addOptionsMenuItem","Exit Bex","menu",2,"ic_menu_close_clear_cancel")
while { true } {
  event = droid.call("eventWaitFor","menu")
  if (event.get("result").get("data") == 1)  {
    droid.call("makeToast","Selected Add Menu")
    continue()
  }
  if (event.get("result").get("data") == 2) {
    break(1)
  }
}
droid.call("clearOptionsMenu")
key = "com.googlecode.android_scripting.extra.SCRIPT_PATH"
droid.call("makeToast",droid.call("getIntent").get("result").get("extras").get(key)+" is done")

Erlang

-module(optionsMenu_Erlang).
-export([main/0]).
main()->
  io:fwrite("Press Menu Button\n"),
  android:addOptionsMenuItem("From Erlang","menu",1,"ic_menu_info_details"),
  android:addOptionsMenuItem("Exit Erlang","menu",2,"ic_menu_close_clear_cancel"),
  menu(android:eventWaitFor("menu")),
  android:makeToast(string:concat(scriptname()," is done")).

menu(Event)->
  { struct,[{"data",Data},{_,_},{_,_}]} = Event,
  if
    Data =:=1 ->
      android:makeToast("Selected Add Menu"),
      menu(android:eventWaitFor("menu"));
    Data =:=2 ->
      android:clearOptionsMenu();
    true -> menu(android:eventWaitFor("menu"))
  end.

scriptname()->
  Key = "com.googlecode.android_scripting.extra.SCRIPT_PATH",
  {struct,[_,_,_,_,_,{"extras",{struct,[{Key,Name}]}}]} = android:getIntent(),
  Name.

Html and JavaScript

<HTML><HEAD><SCRIPT>
var droid = new Android();
document.write("Press Menu Button");
droid.addOptionsMenuItem("From HTML and JavaScript","menu",1,"ic_menu_info_details");
droid.addOptionsMenuItem("Exit HTML and JavaScript","menu",2,"ic_menu_close_clear_cancel");
while(true){
  var event = droid.eventWaitFor("menu").result;
  if (event.data == 1) {
    droid.makeToast("Selected Add Menu");
  } else if (event.data == 2) {
    break;
  }
}
droid.clearOptionsMenu();
var key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
droid.makeToast(droid.getIntent().result.extras[key]+" is done");
</SCRIPT></HEAD><BODY></BODY></HTML>

JRuby

droid = Android.new
puts "Press Menu Button\n"
droid.addOptionsMenuItem("From JRuby","menu",1,"ic_menu_info_details")
droid.addOptionsMenuItem("Exit JRuby","menu",2,"ic_menu_close_clear_cancel")
while true
  event = droid.eventWaitFor("menu")
  if event['result']['data'] == 1
    droid.makeToast("Selected Add Menu")
  elsif event['result']['data'] == 2
    break
  end
end
droid.clearOptionsMenu()
droid.makeToast __FILE__+" is done"

JScheme

(import "com.googlecode.rpc.*")
(define droid (com.googlecode.rpc.Android.))
(.println System.out$ "Press Menu Button")
(.call droid "addOptionsMenuItem" "From JScheme" "menu" 1 "ic_menu_info_details")
(.call droid "addOptionsMenuItem" "Exit JScheme" "menu" 2 "ic_menu_close_clear_cancel")
(let loop ()
  (begin
    (define event (.call droid "eventWaitFor" "menu"))
    (if (= (.get (.get event "result") "data") 1)
        (.call droid "makeToast" "Selected Add Menu")
    )
    (if (= (.get (.get event "result") "data") 2)
      ()
      (loop)
    )
  )
)

(.call droid "clearOptionsMenu")
(define key "com.googlecode.android_scripting.extra.SCRIPT_PATH")
(define intent (.call droid "getIntent"))
(define scriptname (.get (.get (.get intent "result") "extras") key))
(set! text (string-append scriptname " is done"))
(.call droid "makeToast" text)
(exit)

Jawk

import com.googlecode.rpc.*;
BEGIN{
  droid = new Android();
  print("Press Menu Button");
  droid.call("addOptionsMenuItem","From Jawk","menu",1,"ic_menu_info_details");
  droid.call("addOptionsMenuItem","Exit Jawk","menu",2,"ic_menu_close_clear_cancel");
  while(true){
    event = droid.call("eventWaitFor","menu");
    if (event.get("result").get("data") == 1) {
      droid.call("makeToast","Selected Add Menu");
    } else if (event.get("result").get("data") == 2) {
      break;
    }
  }
  droid.call("clearOptionsMenu");
  key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
  intent = droid.call("getIntent");
  droid.call("makeToast",intent.get("result").get("extras").get(key) " is done");
}

Lua

require "android"
print("Press Menu Button")
android.addOptionsMenuItem("From Lua","menu",1,"ic_menu_info_details")
android.addOptionsMenuItem("Exit Lua","menu",2,"ic_menu_close_clear_cancel")
while true do
  event = android.eventWaitFor("menu")
  if (event.result.data == 1) then
    android.makeToast("Selected Add Menu")
  elseif (event.result.data == 2) then
    break
  end
end
android.clearOptionsMenu()
android.makeToast(arg[0].." is done")

PHP

<?php 
require_once("Android.php");
$droid = new Android();
print("Press Menu Button\n");
$droid->addOptionsMenuItem("From PHP","menu",1,"ic_menu_info_details");
$droid->addOptionsMenuItem("Exit PHP","menu",2,"ic_menu_close_clear_cancel");
while(true){
  $event = $droid->eventWaitFor("menu");
  if ($event['result']->data == 1) {
    $droid->makeToast("Selected Add Menu");
  } elseif ($event['result']->data == 2) {
    break;
  }
}
$droid->clearOptionsMenu();
$droid->makeToast(__FILE__." is done");
?>

Perl

use Android;
my $droid = Android->new();
print "Press Menu Button\n";
$droid->addOptionsMenuItem("From Perl","menu",1,"ic_menu_info_details");
$droid->addOptionsMenuItem("Exit Perl","menu",2,"ic_menu_close_clear_cancel");
while(true){
  my $event = $droid->eventWaitFor("menu");
  if ($event->{'result'}{data} == 1) {
    $droid->makeToast("Selected Add Menu");
  } elsif ($event->{'result'}{data} == 2) {
    last;
  }
}
$droid->clearOptionsMenu();
$droid->makeToast($0." is done");

Python

# coding:utf-8
import android
droid = android.Android()
print "Press Menu Button"
droid.addOptionsMenuItem("From Python","menu",1,"ic_menu_info_details")
droid.addOptionsMenuItem("Exit Python","menu",2,"ic_menu_close_clear_cancel")
while True:
  event = droid.eventWaitFor("menu")
  if event.result["data"] == 1:
    droid.makeToast("Selected Add Menu")
  elif event.result["data"] == 2:
    break
droid.clearOptionsMenu()
droid.makeToast(__file__+" is done")

Rhino

load("/sdcard/com.googlecode.rhinoforandroid/extras/rhino/android.js");
var droid = new Android();
print("Press Menu Button");
droid.addOptionsMenuItem("From Rhino","menu",1,"ic_menu_info_details");
droid.addOptionsMenuItem("Exit Rhino","menu",2,"ic_menu_close_clear_cancel");
while(true){
  var event = droid.eventWaitFor("menu");
  if (event.data == 1) {
    droid.makeToast("Selected Add Menu");
  } else if (event.data == 2) {
    break;
  }
}
droid.clearOptionsMenu();
var key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
var name = droid.getIntent()["extras"][key];
droid.makeToast(name+" is done");

Shell

Not solved. Please send me answers if you have.

Sleep

import com.googlecode.rpc.*;
$droid = [new Android];
println("Press Menu Button");
[$droid call : "addOptionsMenuItem","From Sleep","menu",1,"ic_menu_info_details"];
[$droid call : "addOptionsMenuItem","Exit Sleep","menu",2,"ic_menu_close_clear_cancel"];
while(true){
  $event = [$droid call : "eventWaitFor","menu"];
  if ( [[$event get : "result"] get : "data"] == 1 ) {
    [$droid call : "makeToast","Selected Add Menu"];
  } else if ( [[$event get : "result"] get : "data"] == 2 ) {
    break;
  }
}
[$droid call : "clearOptionsMenu"];
[$droid call : "makeToast",$__SCRIPT__." is done"];

Squirrel

android <- Android();
print("Press Menu Button\n");
android.addOptionsMenuItem("From Squirrel","menu",1,"ic_menu_info_details");
android.addOptionsMenuItem("Exit Squirrel","menu",2,"ic_menu_close_clear_cancel");
while(true){
  local event = android.eventWaitFor("menu");
  if (event.result.data == 1) {
    android.makeToast("Selected Add Menu");
  } else if (event.result.data == 2) {
    break;
  }
}
android.clearOptionsMenu();
local key = "com.googlecode.android_scripting.extra.SCRIPT_PATH";
android.makeToast(android.getIntent().result.extras[key]+" is done");

Tcl

source /sdcard/com.googlecode.tclforandroid/extras/tcl/android/android.tcl
set droid [android]
puts "Press Menu Button"
$droid addOptionsMenuItem "From Tcl" "menu" {\1} "ic_menu_info_details"
$droid addOptionsMenuItem "Exit Tcl" "menu" {\2} "ic_menu_close_clear_cancel"

while {true} {
  array set event [$droid eventWaitFor "menu"]
  if {$event(data)==1} {
    $droid makeToast "Selected Add Menu"
  } elseif {$event(data)==2} {
    break
  }
}
$droid clearOptionsMenu
$droid makeToast "$argv0 is done"

unset droid
array unset event
return