Hi Hi

'안드로이드 자동실행기'에 해당되는 글 1건

  1. Python sl4a - 자동 실행기

Python sl4a - 자동 실행기

 

여러가지 스크립트를 배경에서 자동으로 시작하는 하나의 실행기(launcher) 스크립트의 예이다.

이 스크립트로 SL4A 스크립트만 실행할 수 있는 것은 아니다. 활동 이름이나 의도 이름만 알면 어떤 작업도 실행할 수 있다.

import android

STARTUP_SCRIPTS = ('facedown.py', 'logGPS.py', 'silentnight.py')

droid = android.Android()

LOG = "../logtest.py.log"
if os.path.exists(LOG) is False:
    f = open(LOG, "w")
    f.close()

LOG = open(LOG, "a")

for script in STARTUP_SCRIPTS:
    extras = {"com.googlecode.android_scripting.extra.SCRIPT_PATH":"/sdcard/sl4a/scripts/%s"%script}
    myintent = droid.makeIntent("com.googlecode.android_scripting.action.LAUNCH_BACKGROUND_SCRIPT",None,None,extras,None,"com.google.android_scripting","com.google.android_scripting.activity.ScriptingLayerServiceLauncher").result
    droid.startActivitIntent(myintent)
    LOG.write("%Starting %s\n" %script)

 

추가로, 이 실행기로 실행하면 좋을 만한 간단한 일정 알림 스크립트를 이다. 이 스크립트는 텍스트 파일 하나를 열어서 사용자에게 알려줄 일정들의 목록을 읽어 들인다.

import time

import android

droid = android.Android()

SCHEDULE = '/sdcard/sl4a/scripts/schdfule.txt'

#일정을 해석해서 하나의 사전에 집어 넣는다.

alerts = dict()

for line in open(SCHEDULE, 'r').readlines():
    line = line.strip()
    if not line: continue
    t, msg = line.split('',1)

    alerts[t] =msg


# 주기적으로 시간을 점건해서 일정을 알린다.
while True:
    t = time.strftime('%H:%M')
    if t in alerts:
        droid.vibrate()
        droid.makeToast(alerts[t])
        del alerts[t]

    time.sleep(5) 

텍스트 파일 schedule.txt 에는 원하는 시간과 통지 메시지로 구성된 줄들을 추가하면 된다.

이 스크립트를 'Launch On Boot'를 이용해서 기기를 시동할 때마다 자동으로 실행되게 한다면, 안드로이드 기기를 강력한 일정 관리 도구로 사용할 수 있게 된다.

'' 카테고리의 다른 글

Python sl4a - 웹에서 파일 내려 받기  (0) 2012.06.15
Python sl4a - HTTP 서버  (0) 2012.06.14
Python sl4a - 자동 실행기  (0) 2012.06.13
Python sl4a - 구글 문서와 동기화하기  (0) 2012.06.12
Python sl4a - 시간 기반 동작  (0) 2012.06.11
Python sl4a- 위치 기반 동작  (0) 2012.06.10