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