2016-06-13 5 views
1

간단한 파일 선택기 대화 상자가 sl4a에 있습니다. here 몇 가지 기본 대화 상자를 찾았지만 찾지 못했습니다.python sl4a의 파일 대화 상자

쉽게 사용할 수있는 것을 찾아서 시간을 절약하고 싶습니다. filename = fileopendialog()과 같은 최소 코드는 보너스가됩니다.

아이디어가 있으십니까?

답변

0

나는 내 자신의 것을 쓰기로 결심했다. 이것은 아마 더 좋게 될 수 있고, 어떤 제안이라도 환영한다.

import android, os, time 

droid = android.Android() 
# Specify root directory and make sure it exists. 
base_dir = '/sdcard/sl4a/scripts/' 
if not os.path.exists(base_dir): os.makedirs(base_dir) 

def show_dir(path=base_dir): 
    """Shows the contents of a directory in a list view.""" 
    #The files and directories under "path" 
    nodes = os.listdir(path) 
    #Make a way to go up a level. 
    if path != base_dir: 
     nodes.insert(0, '..') 
    droid.dialogCreateAlert(os.path.basename(path).title()) 
    droid.dialogSetItems(nodes) 
    droid.dialogShow() 
    #Get the selected file or directory . 
    result = droid.dialogGetResponse().result 
    droid.dialogDismiss() 
    if 'item' not in result: 
     return 
    target = nodes[result['item']] 
    target_path = os.path.join(path, target) 
    if target == '..': target_path = os.path.dirname(path) 
    #If a directory, show its contents . 
    if os.path.isdir(target_path): 
     show_dir(target_path) 
    #If an file display it. 
    else: 
     droid.dialogCreateAlert('Selected File','{}'.format(target_path)) 
     droid.dialogSetPositiveButtonText('Ok') 
     droid.dialogShow() 
     droid.dialogGetResponse() 

if __name__ == '__main__': 
    show_dir()