All Perl Sample Scripts

HelloWorld

use Android;
print "Hello, world!";

CopySample

use Android;
my $droid = Android->new();
my $text = "use Android;\n";
$text = $text."my \$droid = Android->new();\n";
$text = $text."\$droid->makeToast(\"using Perl\");\n";
$text = $text."\$droid->vibrate();\n";
$text = $text."\$droid->notify(\"using Perl\",\"Message\");\n";
$text = $text."#line comment\n";
$text = $text."=comment block\n";
$text = $text."=cut comment\n";
$text = $text."print \"using Perl\\n\";\n";

$droid->dialogGetInput("Sample","using Perl",$text);
my $result = $droid->dialogGetResponse();
if ($result->{'result'}{'which'} eq "positive") {
  $droid->setClipboard($result->{'result'}{'value'});
  $droid->makeToast($result->{'result'}{'value'});
} else {
  $droid->makeToast("Copy canceled");
}

DatePicker

use Android;
my $droid = Android->new();
$droid->makeToast("Input your birthday");
my ($sec,$min,$hour,$day,$month,$year,$wday,$yday,$isdst) = localtime(time);
$year+=1900;
$month+=1;
$droid->dialogCreateDatePicker($year,$month,$day);
$droid->dialogShow();
$response = $droid->dialogGetResponse();
$droid->dialogDismiss();
my $age = $year-$response->{'result'}{'year'};
if ( ($month<$response->{'result'}{'month'}) || 
  (($month==$response->{'result'}{'month'})&&($day<$response->{'result'}{'day'})) ) {
  $age--;
}
$droid->dialogCreateAlert("Dialog","Age:".$age);
$droid->dialogSetPositiveButtonText("OK");
$droid->dialogShow();
$droid->dialogGetResponse();
$droid->dialogDismiss();

Dialog

use Android;
my $droid = Android->new();
$droid->dialogCreateAlert("Dialog","with Perl");
$droid->dialogSetPositiveButtonText("Yes");
$droid->dialogSetNegativeButtonText("No");
$droid->dialogSetNeutralButtonText("Cancel");
$droid->dialogShow();
my $response = $droid->dialogGetResponse();
my $result = $response->{'result'}->{'which'};
$droid->dialogDismiss();
$droid->makeToast($result);

DualToneMultiFrequency

use Android;
my $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);

sub gTone {
  my $number = $_[0];
  my $duration = $_[1];
  $droid->generateDtmfTones($number,$duration);
}

for $i (0..@numbers-1){
  print "".$numbers[$i]."\n";
  &gTone($numbers[$i],$durations[$i]);
}

GetInput

use Android;
my $droid = Android->new();
$droid->dialogGetInput("dialogGetInput","using Perl");
my $result = $droid->dialogGetResponse();
if ($result->{'result'}{'which'} eq "positive") {
  $droid->notify("dialogGetInput using Perl",$result->{'result'}{'value'});
} else {
  $droid->makeToast("dialogGetInput using Perl:".$result->{'result'}{'which'});
}

HorizontalProgress

use Android;
my $droid = Android->new();
$droid->dialogCreateHorizontalProgress("Horizontal","using Perl");
$droid->dialogShow();

my $value = 0;
while($value < 100){
  $value++;
  $droid->dialogSetCurrentProgress($value);
  sleep(0.01);
}

$droid->dialogDismiss();

LaunchBrowser

use Android;
my $droid = Android->new();
$droid->launch("com.android.browser.BrowserActivity");

LaunchCalculator

use Android;
my $droid = Android->new();
$droid->launch("com.android.calculator2.Calculator");

LaunchCalendar

use Android;
my $droid = Android->new();
$droid->launch("com.android.calendar.LaunchActivity");

LaunchGallery

use Android;
my $droid = Android->new();
$droid->launch("com.cooliris.media.Gallery");

LaunchMusic

use Android;
my $droid = Android->new();
$droid->launch("com.android.music.MediaPlaybackActivityStarter");

LaunchSetting

use Android;
my $droid = Android->new();
$droid->launch("com.android.settings.Settings");

LaunchSoundRecorder

use Android;
my $droid = Android->new();
$droid->launch("com.android.soundrecorder.SoundRecorder");

MediaVolume

use Android;
my $droid = Android->new();
my $vol = $droid->getMediaVolume();
my $maxvol = $droid->getMaxMediaVolume();
$droid->dialogCreateSeekBar($vol->{'result'},$maxvol->{'result'},"Media volume","");
$droid->dialogSetPositiveButtonText("OK");
$droid->dialogSetNegativeButtonText("Cancel");
$droid->dialogShow();
my $result = $droid->dialogGetResponse();
$droid->dialogDismiss();
if ($result->{'result'}{'which'} eq "positive") {
  $droid->setMediaVolume($result->{'result'}{'progress'});
  $vol = $droid->getMediaVolume();
  $droid->makeToast("Volume:".$vol->{'result'});
} else {
  $droid->makeToast("Cancel pressed");
}

Notify

use Android;
my $droid = Android->new();
$droid->notify("Notify using Perl","Message");

OptionsMenu

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");

PackageCui

use Android;
my $droid = Android->new();
my $pack = $droid->getRunningPackages();
for $i ( 0 .. @{ $pack->{'result'} }-1 ) {
  my $name = $pack->{'result'}[$i];
  my $pac = $droid->getPackageVersion($name);
  print "".($i+1).".".$name."/ver".$pac->{'result'}."\n";
}

PhoneCall

use Android;
my $droid = Android->new();
$droid->phoneCallNumber("117");

QR

use Android;
my $droid = Android->new();
my $null;
my $action = "com.google.zxing.client.android.ENCODE";
my $extras = { 'ENCODE_TYPE' => "TEXT_TYPE",'ENCODE_DATA' => "Perl" };
my $intent = $droid->makeIntent($action,$null,$null,$extras);
$droid->startActivityIntent($intent->{'result'});

RecognizeSpeech

use Android;
my $droid = Android->new();
my $text = $droid->recognizeSpeech();
my $msg = $text->{'result'};
$droid->makeToast($msg);
$droid->notify("Recognize Speech using Perl",$msg);
print "$msg\n";

Scancode

use Android;
my $droid = Android->new();
$droid->scanBarcode();
my $clip = $droid->getClipboard();
my $text = $clip->{'result'};
$droid->makeToast($text);

Search

use Android;
my $droid = Android->new();
$droid->search("Perl");

SendEmail

use Android;
my $droid = Android->new();
$droid->sendEmail("sl4\@email.fake","sendEmail","using Perl");

ShowFilename

use Android;
my $droid = Android->new();
$droid->makeToast($0);

ShowThis

use Android;

sub load_text {
  my $text = "";
  my $name = "@_";
  open(my $FIH,"<$name") or return "";
  while (my $line = <$FIH>){
    chomp($line);
    $text = "$text"."$line"."\n";
  }
  close($FIH);
  return $text;
}

print &load_text("$0");

ShowWeb

use Android;
my $droid = Android->new();
$droid->webViewShow("http://www.google.com");

Speak

use Android;
my $droid = Android->new();
$droid->ttsSpeak("Speak using Perl");

SpinnerProgress

use Android;
my $droid = Android->new();
$droid->dialogCreateSpinnerProgress("Spinner","using Perl");
$droid->dialogShow();
sleep(2);
$droid->dialogDismiss();

StartRingtone

use Android;
my $droid = Android->new();
$droid->startActivity("android.intent.action.RINGTONE_PICKER");

Toast

use Android;
my $droid = Android->new();
$droid->makeToast("Toast using Perl");

Vibrate

use Android;
my $droid = Android->new();
$droid->makeToast("Vibrate using Perl");
$droid->vibrate();
return