【DroidScript】 스마트 폰으로 스마트 폰 앱을 만드는 ④ 실행 버튼

줄거리



DroidScript라는 앱을 사용하면 javascript 기반 기술로 스마트 폰 앱을 만들 수있는 것 같기 때문에 연습으로 "전자 레인지 와트 수로 가열 시간을 환산하는 앱"을 만든다.

마지막 시간까지의 복습



스핀 버튼과 시크 바를 실장해, 계산에 필요한 데이터 입력이 갖추어졌다. 그리고는 계산할 뿐.


스마트폰으로 스마트폰 앱 만들기 ① Hello World!
스마트 폰으로 스마트 폰 앱 만들기 ② 배경 및 텍스트 추가
스마트 폰으로 스마트 폰 앱 만들기 ③ 스핀 버튼과 탐색 바

버튼 설치


btn = app.CreateButton( "EXECUTE", 0.4 ); 
btn.SetMargins( 0, 0.05, 0, 0 ); 
btn.SetOnTouch( btn_OnTouch ); 
lay.AddChild( btn );
app.CreateButton 로 버튼 만들기. 괄호 안에서 버튼에 표시하는 문자와 화면 폭에 대한 크기를 설정. .SetMargins 에서 직전에 설치한 시크 바와의 간격을 설정. .SetOnTouch 를 탭했을 때 호출하는 btn_OnTouch 함수를 설정합니다.

호출하는 함수의 코드가 이쪽.
function btn_OnTouch() 
{ 
  var my_wave = my.GetText(); 
  var label_wave = label.GetText(); 
  var time = skb.GetValue(); 

  time = Math.round( time * 0.2 ) / 0.2; 

  var ratio = ( label_wave / my_wave ); 
  var after = time * ratio; 

  var remain = after % 60; 
  var newmin = ( after - remain ) / 60; 
  var newsec = Math.round( remain ); 
  newsec = ( "0" + newsec ).slice( -2 ); 

  var ans = newmin + ":" + newsec; 

  app.ShowPopup( "Heat for " + ans ); 
  app.Vibrate( "0,100,30,100,50,300" ); 
}

마침내 자신의 범위에서 가열 시간을 계산.

스핀 버튼이나 시크 바로 조작한 숫자를 어떻게 주워 오는지 몰랐지만, 조작 후의 상태로부터 간단하게 참조할 수 있었다.

스핀 버튼으로 선택한 옵션은 .GetText() , 탐색 바에서 맞춘 숫자는 .GetValue()
시크 바를 조작했을 때에 표시되는 것이 5초 간격이므로, 계산하기 위해 시크 바로부터 참조한 숫자도 5 단위로 반올림한다.

그리고는 와트수의 비로 가열시간을 환산해, m:ss표시에 가공해 "Heat for " + ans 로 팝업, 마무리에 app.Vivrate

보충



스핀 버튼의 선택을 .GetText 로 참조하고 있으므로 , 받은 숫자가 캐릭터 라인으로 되어 있다고 생각해 , 숫자형으로 변경하기 위해서 Number() 메소드를 사용했을 때 에러가 되어 버렸습니다 .

결국, 그런 일 없이도 그대로 계산할 수 버리는 것 같아요^^)b

다음 번



앱 작성은 이것으로 종료.

다음번은 시리즈 목차적인 정리와 코드 전문, DroidScript의 약간의 사용법을 소개.
스마트 폰으로 스마트 폰 앱 만들기 시리즈 요약

계속



시리즈



DroidScript 전자레인지 앱 만들기
스마트폰으로 스마트폰 앱 만들기 ① Hello World!
스마트 폰으로 스마트 폰 앱 만들기 ② 배경 및 텍스트 추가
스마트 폰으로 스마트 폰 앱 만들기 ③ 스핀 버튼과 탐색 바
스마트 폰으로 스마트 폰 앱 만들기 ④ 실행 버튼
스마트 폰으로 스마트 폰 앱 만들기 시리즈 요약

외전
【GAS】전자 레인지 와트수로 가열 시간을 환산하는 web 어플을 만들어 보았다

좋은 웹페이지 즐겨찾기