|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
除了在程序加载的时候把我的view加载到他上目前我还没用到过其他的苹果一直很推崇MVC的程序结构视图模型控制器简单说就是视图负责显示内容模型负责所有数据的保存结构或者一些其他数据操作控制器是用来协调视图和模型举车的发动机系统的例子我发明在Android4.4(APIlevel19)中“标签增添了一个新的没有在文档中纪录的XML属性,这个属性是用来过滤intent的。
android:ssp这个属性旨在比对URI,望文生义“ssp”是“scheme-specificpart”的缩写,也就是指URI中除scheme之外的一切剩下的内容。
举个例子,假如我们有个一个URI内容是"https://example.com/foo/bar"那末这个URI的scheme是https,而它的ssp则是"//example.com/foo/bar"。
别的,这个属性其实不经常用来婚配例子中所说的惯例HTTPURL,由于我们已有了android:host和android:path*如许的便利好用的过滤器往办理这个成绩。ssp这个过滤则是让我们更高效的往监控一些特定的intent事务。
实践成绩
Android的broadcastreceiver机制是包管你的app收到体系各种信息关照的好办法,不管你的使用是不是启动,你都能够吸收到体系的broadcast。好比,以后收集的形态,电池电量高等等。
同时,因为很多分歧的App大概会注册统一个高频次的事务,这就招致了体系同时会换起良多历程,这会让你的体系变的很慢。有个罕见的例子就是当你安装,晋级或卸载使用的时分引发体系的卡顿。
明显,很多带统计SDK的使用都试图往监控和呈报以后呆板中app的安装和卸载情形,一样平常来讲必要吸收的broadcastreceiver就好像下文所示的代码那样:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<receiverandroid:name=".PackageReceiver">
<intent-filter>
<actionandroid:name="android.intent.action.PACKAGE_ADDED"/>
<dataandroid:scheme="package"/>
</intent-filter>
</receiver>
```
能够注重到的一点是,我们常常只是对一部分的事务有乐趣,好比URI是相似于"package:com.example.someapp"。但因为这个URI并非一个条理布局的URI,它并没有host,port和path这些信息,我们并没有举措准确的指定必要监控的包,以是每次有package想过的操纵app城市被叫醒!
##巧用android:ssp
到了Android4.4,我们能够是利用scheme-specific部分来婚配URI,只必要使用`android:ssp`,`android:sspPrefix`和`android:sspPattern`这三个属性就能够。
仍是以下面的package事务做例子,我们如今能够指定特定的一个或几个我们有乐趣的包来举行监控。好比说,我的app具有三个分歧的packageID分离给开辟版,beta版和正式版。那末我们能够经由过程以下的体例往婚配这三个app:
<preclass="brush:xml;gutter:true;first-line:1;highlight:[];html-script:false">
<receiverandroid:name=".DataClearedReceiver">
<intent-filter>
<actionandroid:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
<dataandroid:scheme="package"
android:sspPrefix="com.myswitzerland.hotels"/>
</intent-filter>
</receiver>
很少去思考,没有去多问几个为什么。这是学习的大忌,我认识到了自己学习方法上的错误。孔子说,学而不思则罔,思而不学则殆。一点也没错,学和思是要结合的,这样才能进步。现在回想一下,我学到了什么?自己也无言以对了。 |
|