All Erlang Sample Scripts

HelloWorld

-module(helloWorld_Erlang).
-export([main/0]).
main()->
  io:fwrite("Hello, world!").

CopySample

-module(copySample_Erlang).
-export([main/0]).
main()->
  Text = lists:concat([
    "-module(name).\n",
    "-export([main/0]).\n",
    "main()->\n",
    "  android:makeToast(\"using Erlang\"),\n",
    "  android:vibrate(),\n",
    "  android:notify(\"using Erlang\",\"Message\"),\n",
    "  %line comment\n",
    "  io:fwrite(\"using Erlang\").\n"
  ]),
  android:dialogGetInput("Sample","using Erlang",Text),
  Response = android:dialogGetResponse(),
  { struct,[{"value",Value},{"which",Result}]} = Response,
  if
    Result == "positive" ->
      android:setClipboard(Value),
      android:makeToast(Value);
    true ->
      android:makeToast("Copy canceled")
  end.

DatePicker

-module(datePicker_Erlang).
-export([main/0]).
main()->
  android:makeToast("Input your birthday"),
  {Year,Month,Day} = date(),
  android:dialogCreateDatePicker(Year,Month,Day),
  android:dialogShow(),
  Response = android:dialogGetResponse(),
  android:dialogDismiss(),
  { struct,[{_,M2},{_,Y2},{_,D2},{_,Result}]} = Response,
  Age = age(Year,Y2,Month,M2,Day,D2),
  Msg = string:concat("Age:",integer_to_list(Age)),
  android:dialogCreateAlert("Dialog",Msg),
  android:dialogSetPositiveButtonText("OK"),
  android:dialogShow(),
  android:dialogGetResponse(),
  android:dialogDismiss().

age(Year,Y2,Month,M2,Day,D2)->
  if Month < M2 -> Year - Y2 - 1;
     Month =:= M2 ->
       if Day < D2 -> Year - Y2 - 1;
          true -> Year - Y2
       end;
     true -> Year - Y2
  end.

Dialog

-module(dialog_Erlang).
-export([main/0]).
main()->
  android:dialogCreateAlert("Dialog", "with Erlang"),
  android:dialogSetPositiveButtonText("Yes"),
  android:dialogSetNegativeButtonText("No"),
  android:dialogSetNeutralButtonText("Cancel"),
  android:dialogShow(),
  Response = android:dialogGetResponse(),
  { struct,[{"which",Result}]} = Response,
  android:dialogDismiss(),
  android:makeToast(Result).

DualToneMultiFrequency

-module(dualToneMultiFrequency_Erlang).
-export([main/0]).
main()->
  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],
  forloop(1,Numbers,Durations).

gTone(Number,Duration)->
  android:generateDtmfTones(Number,Duration).

forloop(I,Numbers,Durations)->
  io:fwrite("~s",[lists:nth(I,Numbers)]),
  gTone(lists:nth(I,Numbers),lists:nth(I,Durations)),
  if
    I < length(Numbers) ->
      forloop(I+1,Numbers,Durations);
    true ->
      io:fwrite("\n")
  end.

GetInput

-module(getInput_Erlang).
-export([main/0]).
main()->
  android:dialogGetInput("dialogGetInput","using Erlang"),
  Response = android:dialogGetResponse(),
  { struct,[{"value",Value},{"which",Result}]} = Response,
  if
    Result == "positive" ->
      android:notify("dialogGetInput using Erlang",Value);
    true ->
      android:makeToast(string:concat("dialogGetInput using Erlang:",Result))
  end.

HorizontalProgress

-module(horizontalProgress_Erlang).
-export([main/0]).
main()->
  android:dialogCreateHorizontalProgress("Horizontal","using Erlang"),
  android:dialogShow(),
  progress(0).

progress(Value) ->
  if
   Value < 100 ->
      android:dialogSetCurrentProgress(Value+1),
      timer:sleep(10),
      progress(Value+1);
   true -> android:dialogDismiss()
  end.

LaunchBrowser

-module(launchBrowser_Erlang).
-export([main/0]).
main()->android:launch("com.android.browser.BrowserActivity").

LaunchCalculator

-module(launchCalculator_Erlang).
-export([main/0]).
main()->android:launch("com.android.calculator2.Calculator").

LaunchCalendar

-module(launchCalendar_Erlang).
-export([main/0]).
main()->android:launch("com.android.calendar.LaunchActivity").

LaunchGallery

-module(launchGallery_Erlang).
-export([main/0]).
main()->android:launch("com.cooliris.media.Gallery").

LaunchMusic

-module(launchMusic_Erlang).
-export([main/0]).
main()->android:launch("com.android.music.MediaPlaybackActivityStarter").

LaunchSetting

-module(launchSetting_Erlang).
-export([main/0]).
main()->android:launch("com.android.settings.Settings").

LaunchSoundRecorder

-module(launchSoundRecorder_Erlang).
-export([main/0]).
main()->android:launch("com.android.soundrecorder.SoundRecorder").

MediaVolume

-module(mediaVolume_Erlang).
-export([main/0]).
main()->
  Vol = android:getMediaVolume(),
  Maxvol = android:getMaxMediaVolume(),
  android:dialogCreateSeekBar(Vol,Maxvol,"Media volume",""),
  android:dialogSetPositiveButtonText("OK"),
  android:dialogSetNegativeButtonText("Cancel"),
  android:dialogShow(),
  Response = android:dialogGetResponse(),
  { struct,[{"progress",Progress},{"which",Result}]} = Response,
  android:dialogDismiss(),
  if
    Result == "positive" ->
      android:setMediaVolume(Progress),
      Volstr = integer_to_list(android:getMediaVolume()),
      android:makeToast(string:concat("Volume:",Volstr));
    true ->
      android:makeToast("Cancel pressed")
  end.

Notify

-module(notify_Erlang).
-export([main/0]).
main()->android:notify("Notify using Erlang","Message").

OptionsMenu

-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.

PackageCui

-module(packageCui_Erlang).
-export([main/0]).
main()->
  {array,Pack} = android:getRunningPackages(),
  packloop(1,Pack).

packinfo(I,Pack) ->
      io:fwrite("~p.",[I]),
      io:fwrite("~s/ver.",[lists:nth(I,Pack)]),
      io:fwrite("~s\n",[android:getPackageVersion(lists:nth(I,Pack))]).

packloop(I,Pack) ->
  if
    I < length(Pack) ->
      packinfo(I,Pack),
      packloop(I+1,Pack);
    true ->
      packinfo(I,Pack)
  end.

PhoneCall

-module(phoneCall_Erlang).
-export([main/0]).
main()->android:phoneCallNumber("117").

QR

-module(qR_Erlang).
-export([main/0]).
main()->
  Action = "com.google.zxing.client.android.ENCODE",
  Extras = {struct,[{"ENCODE_TYPE","TEXT_TYPE"},{"ENCODE_DATA","Erlang"}]},
  Intent = android:makeIntent(Action,null,null,Extras),
  android:startActivityIntent(Intent)
.

RecognizeSpeech

-module(recognizeSpeech_Erlang).
-export([main/0]).
main()->
  Text = android:recognizeSpeech(),
  android:makeToast(Text),
  android:notify("Recognize Speech using Erlang",Text),
  io:fwrite("~s\n",[Text]).

Scancode

-module(scancode_Erlang).
-export([main/0]).
main()->
  android:scanBarcode(),
  Text = android:getClipboard(),
  android:makeToast(Text).

Search

-module(search_Erlang).
-export([main/0]).
main()->android:search("Erlang").

SendEmail

-module(sendEmail_Erlang).
-export([main/0]).
main()->android:sendEmail("sl4@email.fake","sendEmail","using Erlang").

ShowFilename

-module(showFilename_Erlang).
-export([main/0]).
main()->
  Key = "com.googlecode.android_scripting.extra.SCRIPT_PATH",
  {struct,[_,_,_,_,_,{"extras",{struct,[{Key,Name}]}}]} = android:getIntent(),
  android:makeToast(Name).

ShowThis

-module(showThis_Erlang).
-export([main/0]).
main()->
  Key = "com.googlecode.android_scripting.extra.SCRIPT_PATH",
  {struct,[_,_,_,_,_,{"extras",{struct,[{Key,Name}]}}]} = android:getIntent(),
  print(load_text(Name))
.

load_text(Name)->
  {ok,Binary} = file:read_file(Name),
  binary_to_list(Binary).

print(S)->
  io:fwrite("~s",[S]).

ShowWeb

-module(showWeb_Erlang).
-export([main/0]).
main()->android:webViewShow("http://www.google.com").

Speak

-module(speak_Erlang).
-export([main/0]).
main()->android:ttsSpeak("Speak using Erlang").

SpinnerProgress

-module(spinnerProgress_Erlang).
-export([main/0]).
main()->
  android:dialogCreateSpinnerProgress("Spinner","using Erlang"),
  android:dialogShow(),
  timer:sleep(2000),
  android:dialogDismiss().

StartRingtone

-module(startRingtone_Erlang).
-export([main/0]).
main()->android:startActivity("android.intent.action.RINGTONE_PICKER").

Toast

-module(toast_Erlang).
-export([main/0]).
main()->android:makeToast("Toast using Erlang").

Vibrate

-module(vibrate_Erlang).
-export([main/0]).
main()->
  android:makeToast("Vibrate using Erlang"),
  android:vibrate().
return