《Android 应用案例开发大全(第二版)》——6.9节解析数据

本节书摘来自异步社区《Android 应用案例开发大全(第二版)》一书中的第6章,第6.9节解析数据 ,作者李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看

6.9 解析数据
Android开发权威指南(第二版)
在显示窗口时,除了会通过Intent对象传递数据外,还需要在被调用窗口中获取这些数据。例如,向某个窗口传入了一个Uri。通常会在窗口类的onCreate方法中将Uri分解,获取Uri的各个部分,例如,scheme、host、port、path等。这些信息都可以从Intent类的相应方法获取。除了上一节介绍的获取附加数据的方法外,Intent类还有如下可以获取各种信息的方法。

获取Action:Intent.getAction方法

getAction方法用于获取调用者传递过来的Action,可用该方法的返回值判断是通过哪个Action调用的该窗口。getAction方法的原型如下:

public String getAction()
获取多个Category:Intent.getCategories方法

由于显示窗口时可以指定多个Category,而且这些Category与顺序无关,所以getCategories方法返回一个Set类型的对象。GetCategories方法的原型如下:

public Set<String> getCategories()

获取Mime Type:Intent.getType方法

该方法可以获取字符串形式的MimeType。getType方法的原型如下:

public String getType()
获取与Data相关的信息

Data就是Uri,在Intent类中有多个方法可以获取与Uri相关的信息,这些方法的原型如下:

// 直接获取Uri对象
public Uri getData()
// 获取字符串形式的Uri
public String getDataString()
// 获取scheme
public String getScheme()
获取Flags:Intent.getFlags方法

在显示窗口时可以通过Intent.setFlags方法设置一个或多个Flag,以干预窗口创建和销毁的过程,通过Intent.getFlags方法也可以获取这些Flag。关于窗口Flags的详细内容会在下一章介绍。getFlags方法的原型如下:

public int getFlags()
上一篇:《Android 应用案例开发大全(第二版)》——6.8节传递附加数据(Extra)


下一篇:在java中使用SPI创建可扩展的应用程序