本帖最后由 Genius 于 2016-7-7 16:19 编辑
2. SDK流程简介2.1. 通用流程图2.2. 关键点说明SDK已经封装了所有的用户、配置、发现、连接、控制的过程,开发者使用这些API可以完成上述流程中的功能开发,不需要再自行实现通讯协议。 SDK采取回调的工作方式,所以必须设置必要的监听,比如通用监听和设备监听,具体请参见流程详解。SDK在主线程中给APP回调。 SDK支持APP在Activity之间以及在Activity和Service之间传递对象。
1、如果是在activity之间传递对象的话可以用intent来传递
(传递)
| Intent intent = new Intent(Context, A.class);
Bundle bundle = new Bundle();
bundle.putParcelable(“参数名”, 设备类对象);
intent.putExtras(bundle);
startActivity(intent);
|
(接收) | Intent intent = getIntent();
intent.getParcelableExtra("参数名");
|
2、在activity和service之间传递对象可以通过广播来传递数据,由一方发送数据另一方接收。
(注册广播) | IntentFilter filter = new IntentFilter();//创建IntentFilter对象
//注册一个广播,用于接收Activity传送过来的命令,控制Service的行为,如:发送数据,停止服务等
filter.addAction("AAAAAAA");
//注册Broadcast Receiver
registerReceiver(cmdReceiver, filter); s
|
(发送广播) | Intent intent = new Intent();
intent.setAction("AAAAAAA");
Bundle bundle = new Bundle();
bundle.putParcelable(“参数名”, 设备类对象);
intent.putExtras(bundle);
sendOrderedBroadcast(intent, null);
|
3、另外一种,是在Activity中通过bindService获取到Service对象,直接调用Service方法获取想要的设备对象
2.3. 混淆打包配置如果您的项目使用了Proguard混淆打包,为了避免SDK被二次混淆导致无法正常使用SDK,请务必在 proguard-project.txt中添加以下代码: | -libraryjars libs/GizWifiSDK.jar
-dontwarn com.gizwits.**
-keep class com.gizwits.**{
*;
}
|
并在project.properties中指向Android混淆文件: proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|