收藏官网首页
查看: 8142|回复: 0

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

562

主题

1222

帖子

8127

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8127
跳转到指定楼层
楼主
发表于 2016-7-7 16:17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 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来传递
(传递)
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、机智云QQ群: 287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits /   机智云智能宠物屋go-kit
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表