标签:available pim list contact catch PIM
PIM是midp2.0的可选包。。它的实现有具体厂商的支持程度而定,它并不能提供一个整套的运行环境比如MIDP。他是对MIDP的扩展同时需要设备的支持。因此他并不是通用的,在移植性上存在。
在使用PIM OP之前我们必须判断它是否可用,方法很简单只是检查microedition.pim.version的属性值是不是null,例如:
// Check that PIM Optional Package is available
String v = System.getProperty( "microedition.pim.version" );
if( v != null ){
// PIMOP available
} else {
// PIMOP not available
}
// Check that PIM Optional Package is available
String v = System.getProperty( "microedition.pim.version" );
if( v != null ){
// PIMOP available
} else {
// PIMOP not available
}
你不能通过在代码中检查pim包是否可用来判断上述问题,因为pim是和设备实现相关的。PIM定义了三种信息类型,分别是Contact list,Event list , ToDo list,设备并一定要支持全部这三种类型,但是他至少要支持一种。
所有的API都在Javax.microedition.pim包里面,你要通过PIM.getInstance()方法来得到PIM类,然后你才可以调用openPIMList()方法得到上述的list.例如下面的代码:
PIM singleton = PIM.getInstance();
ContactList cl = null;
try {
cl = (ContactList)singleton.openPIMList(PIM.CONTACT_LIST,
PIM.READ_ONLY );
// use the contact list
}
catch( PIMException ){
// no contact list available!
}
catch( SecurityException ){
// the application is not allowed to Access the list
}
PIM singleton = PIM.getInstance();
ContactList cl = null;
try {
cl = (ContactList)singleton.openPIMList(PIM.CONTACT_LIST,
PIM.READ_ONLY );
// use the contact list
}
catch( PIMException ){
// no contact list available!
}
catch( SecurityException ){
// the application is not allowed to Access the list
}
值得一提的是SecurityException,为了安全只有可信任的MIDlets才可以访问这些数据。如果不是的话会抛出这个异常,这恰恰符合MIDP中的安全模式。在PIM list中的数据称作PIM Item,你可以把PIM list看作是容器,把pim item看作是实体。要想访问这些item可以通过如下代码:
import java.microedition.pim.*;
import java.util.*;
ContactList list = ... // a contact list
try {
Enumeration enum = list.items();
while( enum.hasMoreElements() ){
Contact contact = (Contact) enum.nextElement();
// do something with the contact
}
}
catch( PIMException e ){
// an error occurred
}
catch( SecurityException e ){
// can't read this list
}
import java.microedition.pim.*;
import java.util.*;
ContactList list = ... // a contact list
try {
Enumeration enum = list.items();
while( enum.hasMoreElements() ){
Contact contact = (Contact) enum.nextElement();
// do something with the contact
}
}
catch( PIMException e ){
// an error occurred
}
catch( SecurityException e ){
// can't read this list
}
标签:available,pim,list,contact,catch,PIM
来源: https://blog.csdn.net/kukufly/article/details/3712458
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。