转载:https://blog.csdn.net/u013059441/article/details/79030998
最近在做Android SDK的测试,因为之前从来没有接触过,所以在这里需要记录下整个学习的进度,日后进行补充
一.关于SDK
SDK,全称:SoftWare DeveLopment Kit,一般是一些软件工程师伟特点的软件包建立的开发工具集合。它可以简单的为某个程序设计语言提供应用程序接口API,在我们当前整个项目,SDK就是把该软件所有的功能打包成SDK,可以在任何第三方应用中集成,方便使用。
注:我这里所说的SDK不是指Google提供给Android开发者的那个SDK,而是指一些在不同业务场景下诞生的,可能只适用于一部分人的SDK
二.需要开发提供的内容
1.提供如下内容:
1). SDK包
2). 相关文档,如:使用文档,接口说明
3). 示例程序(Demo)
2.一般来说,上述标签1所说的SDK包分两种类型:
1). *.jar:不带UI界面的SDK,只包含了Class文件与清单文件,不包含资源文件。如 图片等所有res中的文件
2). *.aar:带UI界面的SDK,包含所有资源,Class以及res资源文件全部包含。比如一些用于APP开发者方便开发分享界面的组件,会提供一些默认的UI界面(一般也会提供让用户自定义UI的功能)
三.环境配置
1. 测试工具:Android Studio
2. 创建工程:这里就不详细赘述了
3. 导入jar包:将* .jar拷贝在APP的libs的文件夹下
4. 配置Build.gradle:
在应用的build.gradle文件的dependencies中增加如下配置:(注:高于一下版本的也可以,配置需要根据SDK内容,而非无脑配置)
-
compile
'com.google.code.gson:gson:2.7'
-
compile
'com.squareup.retrofit2:retrofit:2.1.0'
-
compile
'com.squareup.retrofit2:adapter-rxjava:2.1.0'
-
compile
'com.squareup.retrofit2:converter-gson:2.1.0'
-
compile
'io.reactivex:rxandroid:1.1.0'
5. 配置AndroidManifest文件,并且在当前文件中配置权限,此处权限需要跟研发确认
-
<!--Xpush权限-->
-
<uses-permission android:name="android.permission.WAKE_LOCK" />
-
<uses-permission android:name="android.permission.INTERNET" />
-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
-
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-
-
<!—手机权限-->
-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
6. 注册服务以及广播,仍然在AndroidManifest.xml中配置
-
<!—注册服务
-->
-
<
service
android
:name="
com
.test
.csersdk
.CserSdkService" />
-
<
service
android
:name="
com
.test
.imncs
.NcsImSdkService" />
-
-
<!
-- 注册广播
-->
-
<
receiver
android
:name="
com
.test
.csersdk
.receiver
.XPushReceiver">
-
<
intent-filter>
-
<
action
android
:name="
com
.test
.apushsdk" />
-
<
action
android
:name="
com
.test
.npcs
.PUSHSTATE"/>
-
</
intent-filter>
-
</
receiver>
-
<
receiver
android
:name="
com
.test
.imncs
.receiver
.NcsNetworkStatusReceiver">
-
<
intent-filter>
-
<
action
android
:name="
com
.test
.apushsdk" />
-
</
intent-filter>
-
</
receiver>
-
<
receiver
-
android
:name="
com
.test
.imncs
.receiver
.NcsXPushReceiver"
-
>
-
<
intent-filter>
-
<
action
android
:name="
com
.test
.apushsdk" />
-
</
intent-filter>
-
</
receiver>
-
-
<!
-- 用于保障推送服务的正常运行
-->
-
<
receiver
android
:name="
com
.test
.pushsdk
.npc
.npcs
.util
.NPCUtilReceiver">
-
<
intent-filter>
-
-
<!
-- 用于推送服务内部消息
-->
-
<
action
android
:name="
com
.xdja
.npcs
.INVITESUB" />
-
<!
-- 用于接收系统消息,确保推送远程服务的存在
-->
-
<
action
android
:name="
android
.intent
.action
.MEDIA_MOUNTED" />
-
<
action
android
:name="
android
.intent
.action
.USER_PRESENT" />
-
<
action
android
:name="
android
.intent
.action
.ACTION_POWER_CONNECTED" />
-
<
action
四. 开始测试
根据研发给出的Demo添加接口说明书的接口设计用例测试,这里附上我一丢丢的用例设计
1. 用例设计
2. 开发提供的接口说明书,大致就需要提供如下图这些东东
3. 自己写在MainActivity中写用例,怎么酷怎么来
-
public void wechat (View view){
-
......
-
-
}