SL4A - Các tiện ích sử dụng Python Facades

Ứng dụng dựa trên email

Ứng dụng dựa trên email là một trong những tiện ích phổ biến nhất có sẵn trên thiết bị di động. Người ta có thể sử dụngsendEmail Lệnh gọi API khả dụng thông qua SL4A Android front.

Hàm này nhận ba tham số:

  • to_address - danh sách người nhận được phân tách bằng dấu phẩy.

  • title - đại diện cho tiêu đề của thư email.

  • message - đại diện cho thông điệp sẽ được gửi đi.

import android,datetime,smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 

droid = android.Android() 
serv = ’smtp.gmail.com’ 
port = 587 
mailto = ’chris’ 
mailfrom = ’charley’ 
pass = ’pass@123’ 

msg = MIMEMultipart() 
msg[‘Subject’] = ’Tes Mail’ 
msg[‘To’] = mailto 
msg[‘From’] = mailfrom 

body = ’This is a test mail!!’ 
msg.attach(MIMEText(body,’plain’)) 

smtpCon = smtplib.SMTP(serv,port) 
smtpCon.starttls() 
smtpCon.login(mailfrom,pass) 
smtpSendmail(mailfrom,mailto,msg.as_string()) 
smtpCon.close()

Thư viện python đã được sử dụng để xây dựng chương trình email là smtplib. Ngoài ra, chúng tôi đã sử dụng thư viện email. Thư viện này chứa một số hàm trợ giúp cho phép chúng ta xây dựng thông điệp của mình ở dạng chính xác. Cácmimetypes thư viện giúp mã hóa thư của chúng tôi.

Máy quét Wifi

Đoạn mã sau liệt kê tất cả các điểm truy cập Wi-Fi khả dụng:

import android, time 

def main(): 
   global droid 
   droid = android.Android() 
	
while not droid.wifiStartScan().result: 
   time.sleep(0.25) 
	
networks = {} 

while not networks: 
   for ap in in droid.wifiGetScanResults().result: 
      networks[ap[‘bssid’]] = ap.copy() 
		
   droid.dialogCreateAlert(‘Access Points’) 
   droid.dialogSetItems([‘%(ssid)s,%(level)s,%(capabilities)s’ % 
      ap for ap in networks.values() ]) 
		
droid.dialogSetPositiveButtonText(‘OK’) 
dorid.dialogShow() 

if __name__=’__main__’: 
   main()

Nhật ký cuộc gọi

Mã cho nhật ký cuộc gọi được cung cấp bên dưới.

import android 
droid = android.Android() 
mylog = droid.getConstants("android.provider.Calllog$Calls").result 
calls = droid.queryContent(mylog["CONTENT_URI"],["name","number","duration"]).result 

for c in calls: 
   print c