All JRuby Sample Scripts

HelloWorld

puts "Hello, world!"

CopySample

droid = Android.new
text = ""
text = text + "droid = Android.new\n"
text = text + "droid.makeToast \"using JRuby\"\n"
text = text + "droid.vibrate\n"
text = text + "droid.notify \"using JRuby\",\"Message\"\n"
text = text + "#line comment\n"
text = text + "=begin block\n"
text = text + "=end comment\n"
text = text + "puts \"using JRuby\"\n"

droid.dialogGetInput "Sample","using JRuby",text
response = droid.dialogGetResponse()['result']
if response['which'] == "positive" then
  droid.setClipboard response['value']
  droid.makeToast response['value']
else
  droid.makeToast "Copy canceled"
end

DatePicker

droid = Android.new
droid.makeToast "Input your birthday"
now = Time.now
year = now.year
month = now.mon
day = now.day
droid.dialogCreateDatePicker year,month,day
droid.dialogShow
response = droid.dialogGetResponse()['result']
droid.dialogDismiss
age = year-response['year']
if ( (month<response['month']) || 
  ((month==response['month'])&&(day<response['day'])) ) then
  age-=1
end
droid.dialogCreateAlert "Dialog","Age:"+age.to_s
droid.dialogSetPositiveButtonText "OK"
droid.dialogShow
droid.dialogGetResponse
droid.dialogDismiss

Dialog

droid = Android.new
droid.dialogCreateAlert "Dialog","with JRuby"
droid.dialogSetPositiveButtonText "Yes"
droid.dialogSetNegativeButtonText "No"
droid.dialogSetNeutralButtonText "Cancel"
droid.dialogShow
result = droid.dialogGetResponse()['result']['which']
droid.dialogDismiss
droid.makeToast result

DualToneMultiFrequency

droid = Android.new
numbers = ["3","2","1233","3","22","2","39","9","3","2","1233","3","22","3","2","1"]
durations = [384,128,256,512,256,512,256,512,384,128,256,512,256,384,128,1024]

def gTone(droid,number,duration)
  droid.generateDtmfTones number,duration
end

for i in 0..numbers.length-1
  print numbers[i]
  gTone(droid,numbers[i],durations[i])
end
puts ""

GetInput

droid = Android.new
droid.dialogGetInput "dialogGetInput","using JRuby"
response = droid.dialogGetResponse()['result']
if response['which'] == "positive" then
  droid.notify "dialogGetInput using JRuby",response['value']
else
  droid.makeToast "dialogGetInput using JRuby:"+response['which']
end

HorizontalProgress

droid = Android.new
droid.dialogCreateHorizontalProgress("Horizontal","using JRuby")
droid.dialogShow()

value = 0
while value < 100
  value = value+1
  droid.dialogSetCurrentProgress(value)
  sleep 0.01
end

droid.dialogDismiss()

LaunchBrowser

droid = Android.new
droid.launch "com.android.browser.BrowserActivity"

LaunchCalculator

droid = Android.new
droid.launch "com.android.calculator2.Calculator"

LaunchCalendar

droid = Android.new
droid.launch "com.android.calendar.LaunchActivity"

LaunchGallery

droid = Android.new
droid.launch "com.cooliris.media.Gallery"

LaunchMusic

droid = Android.new
droid.launch "com.android.music.MediaPlaybackActivityStarter"

LaunchSetting

droid = Android.new
droid.launch "com.android.settings.Settings"

LaunchSoundRecorder

droid = Android.new
droid.launch "com.android.soundrecorder.SoundRecorder"

MediaVolume

droid = Android.new
vol = droid.getMediaVolume()['result']
maxvol = droid.getMaxMediaVolume()['result']
droid.dialogCreateSeekBar(vol,maxvol,"Media volume","")
droid.dialogSetPositiveButtonText("OK")
droid.dialogSetNegativeButtonText("Cancel")
droid.dialogShow()
result = droid.dialogGetResponse()['result']
droid.dialogDismiss()
if result['which'] == "positive" then
  droid.setMediaVolume(result['progress'])
  vol = droid.getMediaVolume()['result']
  droid.makeToast("Volume:"+vol.to_s(10))
else
  droid.makeToast("Cancel pressed")
end

Notify

droid = Android.new
droid.notify "Notify using JRuby","Message"

OptionsMenu

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"

PackageCui

droid = Android.new
pack = droid.getRunningPackages()['result']
for i in 0..pack.length-1
  puts "#{i+1}."+pack[i]+"/ver."+"#{droid.getPackageVersion(pack[i])['result']}"
end

PhoneCall

droid = Android.new
droid.phoneCallNumber "117"

QR

droid = Android.new
action = "com.google.zxing.client.android.ENCODE"
extras = {'ENCODE_TYPE' => 'TEXT_TYPE', 'ENCODE_DATA' => 'JRuby'}
intent = droid.makeIntent action,nil,nil,extras
droid.startActivityIntent intent['result']

RecognizeSpeech

droid = Android.new
text = droid.recognizeSpeech()['result']
droid.makeToast text
droid.notify "Recognize Speech using JRuby",text
puts text

Scancode

droid = Android.new
droid.scanBarcode()
clip = droid.getClipboard['result']
droid.makeToast clip

Search

droid = Android.new
droid.search "JRuby"

SendEmail

droid = Android.new
droid.sendEmail "sl4@email.fake","sendEmail","using JRuby"

ShowFilename

droid = Android.new
droid.makeToast __FILE__

ShowThis

droid = Android.new

def load_text(name)
  text = ""
  fih = File.open(name,"r")
  while line = fih.gets
    text = text+line
  end
  fih.close
  return text
end

puts load_text(__FILE__)

ShowWeb

droid = Android.new
droid.webViewShow "http://www.google.com"

Speak

droid = Android.new
droid.ttsSpeak "Speak using JRuby"

SpinnerProgress

droid = Android.new
droid.dialogCreateSpinnerProgress("Spinner","using JRuby")
droid.dialogShow()
sleep 2
droid.dialogDismiss()

StartRingtone

droid = Android.new
droid.startActivity "android.intent.action.RINGTONE_PICKER"

Toast

droid = Android.new
droid.makeToast "Toast using JRuby"

Vibrate

droid = Android.new
droid.makeToast "Vibrate using JRuby"
droid.vibrate
return