你好,我正在使用scala开发一款Android短信应用程序。一切都很顺利,唯一的问题是我不知道如何用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。感谢您的任何帮助。