Genius 发表于 2016-7-7 16:17:06

Android SDK 2.0文档 2-SDK流程简介

本帖最后由 Genius 于 2016-7-7 16:19 编辑

2.      SDK流程简介2.1.      通用流程图https://gizwits.kf5.com/attachments/download/754949/00157626d63bea56f9cf87b86eed30d/2.2.      关键点说明
[*]SDK已经封装了所有的用户、配置、发现、连接、控制的过程,开发者使用这些API可以完成上述流程中的功能开发,不需要再自行实现通讯协议。
[*]SDK采取回调的工作方式,所以必须设置必要的监听,比如通用监听和设备监听,具体请参见流程详解。SDK在主线程中给APP回调。
[*]SDK支持APP在Activity之间以及在Activity和Service之间传递对象。



1、如果是在activity之间传递对象的话可以用intent来传递(传递)

1
2
3
4
5
Intent intent = new Intent(Context, A.class);
Bundle bundle = new Bundle();
bundle.putParcelable(“参数名”, 设备类对象);
intent.putExtras(bundle);
startActivity(intent);


(接收)
1
2
Intent intent = getIntent();
intent.getParcelableExtra("参数名");



2、在activity和service之间传递对象可以通过广播来传递数据,由一方发送数据另一方接收。
(注册广播)
1
2
3
4
5
IntentFilter filter = new IntentFilter();//创建IntentFilter对象
//注册一个广播,用于接收Activity传送过来的命令,控制Service的行为,如:发送数据,停止服务等
filter.addAction("AAAAAAA");
//注册Broadcast Receiver
registerReceiver(cmdReceiver, filter);s


(发送广播)
1
2
3
4
5
6
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中添加以下代码:
1
2
3
4
5
-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
页: [1]
查看完整版本: Android SDK 2.0文档 2-SDK流程简介