【发布时间】:2011-09-13 19:19:00
【问题描述】:
您好,在 scala 中开发 Android SMS 应用程序一切顺利,但我只是找不到在 scala 中编写以下 java 代码的方法。任何帮助表示赞赏
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
我必须承认我不知道如何在 scala 中编写 Object[] 它不是 java.util.ArrayList[java.lang.Object] 我尝试使用 Bundle.getStringArrayList 来获取 List[String] 并在字符串上执行 getBytes ,但这不起作用... 我的最后一次尝试是:
//I know I should be using an Option ...
def getSmsListFromIntent(intent:Intent):List[SmsMessage]= {
val bundle = intent.getExtras()
var ret:List[SmsMessage]= null
if (bundle != null)
ret= for { pdu <- bundle.getStringArrayList("pdus").toList } yield
SmsMessage.createFromPdu( pdu.getBytes())
else ret= List()
ret
java代码来自:http://mobiforge.com/developing/story/sms-messaging-android 感谢您的帮助
【问题讨论】: