Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇云点播云直播视频下载应用混淆全景功能解析水印功能使用播放器状态篇应用白名单 FAQ\(

Size: px
Start display at page:

Download "Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇云点播云直播视频下载应用混淆全景功能解析水印功能使用播放器状态篇应用白名单 FAQ\("

Transcription

1 Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇云点播云直播视频下载应用混淆全景功能解析水印功能使用播放器状态篇应用白名单 FAQ\( 问答 \) 更新说明

2 什么是乐视云播放 SDK 乐视云播放 SDK 是基于 Android 4.1 及以上版本设备提供的云视频服务接口 依托于强大的乐视云网络视频应用平台, 您可以使用该 SDK 开发内容丰富的 Android 端移动视频应用 乐视云 SDK 支持的业务如下 : 云点播云直播点播视频下载

3 文档版本说明 版本号版本说明修改者更新日期 4.4 播放 SDK 文档高林花

4 面向的读者 乐视云 SDK 是提供给具有一定 Android 编程经验的开发者使用 您在使用中, 遇到任何问题, 都可以通 过乐视云支持中心反馈给我们

5 兼容性 1. Android 版本 4.1 及以上 2. CPU 类型支持 armeabi armeabi-v7a arm64-v8a 3. 适配市场大部分手机型号

6 整体结构主要从两个方面介绍 :(1)IPlayer 层, 用户可以从该层接入 ; (2)IVideoView 层, 在该层我们封装了 SurfaceView, 用户需要实现的代码量 较少

7 播放器 VideoView 关系图 播放器 VideoView 接口与类的关系图如下 :

8 播放器 Player 关系图 播放器 Player 接口与类的关系图如下 :

9 播放 SDK 相关词语解释 云点播 : 云点播支持根据 UU VU 去请求相应的视频资源播放 ; 也支持 Url 直接播放 点播参数 UU: 登录乐视云官网 --> 用户中心 --> 用户私钥 -->UUID 点播参数 VU: 代表视频 id, 成功上传视频到乐视云官网, 查看 VU 值, 控制台 --> 云点播 --> 视频 --> 视频管理 --> 代码 -->VU 点播参数 PU: 获取自定义水印需要用到, 是播放器 ID, 具体请参考水印功能使用点播参数 Path: 传给播放器 url, 可以直接播放云直播 : 根据活动 ID 请求相应的直播视频资源播放云直播参数 ActionId: 在官网云直播模块, 创建活动即可生成活动 ID 云直播参数 PU: 获取自定义水印需要用到, 是播放器 ID, 具体请参考水印功能使用移动直播 : 根据 Url 请求相应的视频资源播放移动直播参数 Path: 传给播放器 url, 可以直接播放

10 播放器支持的功能介绍 点播功能 : 暂停 播放 快进 回退 横竖屏切换 码率切换 横屏时触摸调节屏幕亮度 横屏时触摸调节音量 锁定横屏 全景播放视频云直播功能 : 播放 结束播放 回看 回到最新直播 横竖屏切换 码率切换 横屏时触摸调节屏幕亮度 横屏时触摸调节音量 锁定横屏 全景播放视频

11 支持播放的视频格式 说明 : 播放器能否成功播放某个视频, 取决于 3 个因素 : 传输协议 封装格式 编码格式 ; 乐视播放 SDK 支持格式如下所示 : (1) 传输协议 :hls,rtmp,rtsp,http,https,file (2) 封装格式 :mp4,ts,mp3,flv (3) 音频编码格式 :aac,pcm_mulaw,mpegaudio (4) 视频编码格式 :h264

12 项目集成 在 AndroidStudio 中, 把我们的播放 sdk 集成到你的项目中, 需按以下步骤接入, 每个步骤都不可省略 : (1) 创建自己的工程 (2) 将 LePlayerDemo 工程下 assets 下面的 arkapsconf.json,sdkconfig.xml, 以及文件夹 ad_jars, 拷贝到你自己工程的 assets 目录下面 (3) 如果使用有皮肤播放 : 直接依赖皮肤工程 LePlayerSkin, 皮肤工程依赖 LePlayerSdk ; 如果使用无皮肤版本, 直接依赖 LePlayerSdk (4) 在工程中的 application 中添加下面代码 : public void oncreate() { super.oncreate(); String processname = getprocessname(this, android.os.process.mypid()); // 设置域名 LeCloudPlayerConfig.HOST_DEFAULT 代表国内版 //LeCloudPlayerConfig.HOST_US 代表国际版 //LeCloudPlayerConfig.HOST_GUOGUANG 代表国广版 // 国内用户都使用默认的 LeCloudPlayerConfig.HOST_DEFAULT int host = LeCloudPlayerConfig.HOST_DEFAULT; if (getapplicationinfo().packagename.equals(processname)) { //CrashHandler 是一个抓取崩溃 log 的工具类 ( 可选 ) CrashHandler.getInstance(this); try { LeCloudPlayerConfig.setHostType(host); LeCloudPlayerConfig.init(getApplicationContext()); LeCloudPlayerConfig.setmInitCmfListener(new OnInitCmfListener() { public void oncdestartsuccess() { //cde 启动成功, 可以开始播放 // 如果使用 remote 版本这个方法会回调的晚一些, 因为有个下载过程 // 只有回调了该方法, 才可以正常播放视频 ( 点播, 直播 ) // 建议用户通过 cde 初始化的回调进行控制, 点击开始播放是否创建播放器 public void oncdestartfail() { // 如果使用 remote 版本则可能是 remote 下载失败 ; // 如果使用普通版本, 则可能是 so 文件加载失败导致 public void oncmfcoreinitsuccess() { // 不包含 cde 的播放框架需要处理

13 public void oncmfcoreinitfail() { // 不包含 cde 的播放框架需要处理 ); public void oncmfdisconnected() { //cde 服务断开, 会导致播放失败, 重启一次服务 try { LeCloudPlayerConfig.init(getApplicationContext()); catch (Exception e) { e.printstacktrace(); catch (Exception e) { // TODO Auto-generated catch block e.printstacktrace(); // 获取当前进程名字 public static String getprocessname(context cxt, int pid) { ActivityManager am = (ActivityManager) cxt.getsystemservice(context.activity_service); List<RunningAppProcessInfo> runningapps = am.getrunningappprocesses(); if (runningapps!= null) { for (RunningAppProcessInfo procinfo : runningapps) { if (procinfo.pid == pid) { return procinfo.processname; return null; (5) 在工程的 AndroidManifest.xml 中添加所需权限 :

14 <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.read_external_storage" /> <uses-permission android:name="android.permission.mount_unmount_filesystems" /> <uses-permission android:name="android.permission.access_fine_location" /> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.modify_audio_settings" /> <uses-permission android:name="android.permission.vibrate" /> <uses-permission android:name="android.permission.read_logs" /> <uses-permission android:name="android.permission.flashlight" /> <uses-permission android:name="android.permission.get_tasks" /> <uses-permission android:name="android.permission.read_phone_state" /> <uses-permission android:name="android.permission.receive_user_present" /> (6) 在工程的 AndroidManifest.xml 中添加服务声明 : <service android:name="com.letvcloud.cmf.mediaservice" android:process=":cmf" /> (7) 如果使用有皮肤播放, 在工程的 AndroidManifest.xml 中添加下面代码 : <activity android:name="com.lecloud.skin.activity.feedbackactivity" android:configchanges="keyboard screensize orientation layoutdirection" android:screenorientation="portrait" android:theme="@android:style/theme.notitlebar" > </activity> (8) 在乐视云官网接入你的应用, 接入步骤如下图 注 : 接入应用之前需要登录乐视云官网, 乐视云登录网址

15 (9) 在完成上述步骤之后, 开始集成云点播 云直播 说明 播放器的接入方式有三种 (demo 中我们主要介绍无皮肤接入和有皮肤接入 ): (1)IPlayer 层接入, 参考 IVideoView 的无皮肤实现和有皮肤实现 (2)IVideoView 无皮肤播放接入 (3)IVideoView 有皮肤播放接入

16 云点播功能说明 乐视云点播接口, 可以将您预先上传到乐视云服务器的视频资源, 在 Android 端在线播放 关于视频上传请参考云点播 - 快速使用 SDK 云点播接口使用 1 添加播放器 点播播放器分为有皮肤 ( UIVodVideoView ) 有皮肤全景( UIPanoVodVideoView ) 和无皮肤 ( VodVideoView ) 三种类型在目标界面代码中, 新建并添加播放器 ( 请勿在布局文件中直接添加播放器 ) private IMediaDataVideoView videoview; protected void oncreate(bundle savedinstancestate) { // 设置窗口透明, 可避免播放器 SurfaceView 初始化时的黑屏现象 getwindow().setformat(pixelformat.translucent); // 视频播放界面, 保持屏幕常亮利于视频观看体验 getwindow().addflags(windowmanager.layoutparams.flag_keep_screen_on); super.oncreate(savedinstancestate); setcontentview(r.layout.video_play); // videocontainer 作为视频播放器的容器使用 RelativeLayout videocontainer = (RelativeLayout) findviewbyid(r.id.videocontainer); // 无皮肤播放器请初始化 VodVideoView // videoview = new VodVideoView(this); // 有皮肤播放器请初始化 UIVodVideoView videoview = new UIVodVideoView(this)); // 有皮肤全景 ( 包括 VR) 播放器请初始化 UIPanoVodVideoView //videoview = new UIPanoVodVideoView(this)); // 将播放器添加到容器中 // 在这儿, 我们使用的是 16:9 的比例适配播放器界面 // 详细请参考 Demo 工程 PlayActivity 布局添加播放器时的 param 配置 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); videocontainer.addview((view) videoview, params);

17 video_play 布局文件内容如下 : <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" android:id="@+id/videocontainer" android:layout_width="match_parent" android:layout_height="203dp" > </RelativeLayout> 2 播放器参数配置 1. 通过 Url 播放视频的参数配置 // Url 可以是在线视频, 也可以是本地视频 // String playpath = "/sdcard/demo.mp4" String playpath = " videoview.setdatasource(playpath); 2. 通过 UUID 和 VUID 播放视频配置 String uuid = "e0bd16c57a"; String vuid = "2276b51876"; String pu = "0"; Bundle mbundle = new Bundle(); // 配置播放类型为点播 mbundle.putint(playerparams.key_play_mode, PlayerParams.Value_PLAYER_VOD); // UUID 和 VUID 配置 mbundle.putstring(playerparams.key_play_uuid, uuid); mbundle.putstring(playerparams.key_play_vuid, vuid); mbundle.putstring(playerparams.key_play_pu, pu); videoview.setdatasource(mbundle); UUID 和 VUID 的值可以通过如下方法获取

18 3 开始播放 处理播放器回调事件 VideoViewListener videoviewlistener = new VideoViewListener() { public void onstateresult(int event, Bundle bundle) { handleplayerevent(event, bundle);// 处理播放器事件 ; videoview.setvideoviewlistener(videoviewlistener); handleplayerevent 的实现为 : /** * 处理播放器本身事件, 具体事件可以参见 IPlayer 类 */ private void handleplayerevent(int state, Bundle bundle) { switch (state) { case PlayerEvent.Play.PREPARED: // 播放器准备完成, 此刻调用 start() 就可以进行播放了 if (videoview!= null) { videoview.onstart(); break; default: break; 4 处理播放器的生命周期

19 protected void onresume() { super.onresume(); videoview.onresume(); protected void onpause() { super.onpause(); videoview.onpause(); protected void ondestroy() { super.ondestroy(); if (videoview!= null) { videoview.ondestroy(); // 在 AndroidManifest.xml 中 Activity 申明时, 需要添加配置 //android:configchanges="keyboard screensize orientation layoutdirection", 以使该回调方法生 public void onconfigurationchanged(configuration newconfig) { super.onconfigurationchanged(newconfig); if (videoview!= null) { videoview.onconfigurationchanged(newconfig); 如果你完全按上述步骤集成点播功能, 那么点播就可以正常播放了 如果你还有什么疑问, 都可以通 过乐视云支持中心反馈给我们, 我们会及时为您解答, 也会将您所提出的具有代表性的问题放到常见 问题里

20 云直播功能说明 乐视云直播, 可将您通过网页或嵌入式智能设备上传的直播视频流进行在线播放 具体如何创建云直播活动, 请参考云直播 - 快速使用 SDK 云直播接口使用 1 添加播放器 直播播放器分为有皮肤 ( UIActionLiveVideoView ) 有皮肤全景( UIPanoActionLiveVideoView ) 和无皮肤 ( ActionLiveVideoView ) 三种类型在目标界面代码中, 新建并添加播放器 ( 请勿在布局文件中直接添加播放器 ) private IMediaDataVideoView videoview; protected void oncreate(bundle savedinstancestate) { // 设置窗口透明, 可避免播放器 SurfaceView 初始化时的黑屏现象 getwindow().setformat(pixelformat.translucent); // 视频播放界面, 保持屏幕常亮利于视频观看体验 getwindow().addflags(windowmanager.layoutparams.flag_keep_screen_on); super.oncreate(savedinstancestate); setcontentview(r.layout.video_play); // videocontainer 作为视频播放器的容器使用 RelativeLayout videocontainer = (RelativeLayout) findviewbyid(r.id.videocontainer); // 无皮肤播放器请初始化 ActionLiveVideoView // videoview = new ActionLiveVideoView(this); // 有皮肤播放器请初始化 UIActionLiveVideoView videoview = new UIActionLiveVideoView(this)); // 有皮肤全景 ( 包括 VR) 播放器请初始化 UIPanoActionLiveVideoView //videoview = new UIPanoActionLiveVideoView(this)); // 将播放器添加到容器中 // 在这儿, 我们使用的是 16:9 的比例适配播放器界面 // 详细请参考 Demo 工程 PlayActivity 布局添加播放器时的 param 配置 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); videocontainer.addview((view) videoview, params); video_play 布局文件内容如下 :

21 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="203dp" > </RelativeLayout> 2 播放器参数配置 1. 通过 ActionId 播放视频配置 String mactionid = "A gx"; //musehls = true, 表示使用 hls 协议播放 ;musehls = false, 表示使用 rtmp 协议播放 ; // 默认使用 rtmp 协议播放 private boolean musehls = false; // 根据 pu 获取水印和缓冲片头 String pu = "0"; //cuid,utoken 是直播付费验证需要的两个参数 String cuid = ""; String utoken = ""; Bundle mbundle = new Bundle(); // 配置播放类型为活动直播 mbundle.putint(playerparams.key_play_mode, PlayerParams.Value_PLAYER_ACTION_LIVE); // ActionId 配置 mbundle.putstring(playerparams.key_play_actionid,mactionid); mbundle.putboolean(playerparams.key_play_usehls,musehls); mbundle.putstring(playerparams.key_play_pu, pu); mbundle.putstring(playerparams.key_action_cuid, cuid); mbundle.putstring(playerparams.key_action_utoken, utoken); videoview.setdatasource(mbundle); ActionId 的值可以通过如下方法获取 3 开始播放 处理播放器回调事件

22 VideoViewListener videoviewlistener = new VideoViewListener() { public void onstateresult(int event, Bundle bundle) { handleplayerevent(event, bundle);// 处理播放器事件 ; videoview.setvideoviewlistener(videoviewlistener); handleplayerevent 的实现为 : /** * 处理播放器本身事件, 具体事件可以参见 IPlayer 类 */ private void handleplayerevent(int state, Bundle bundle) { switch (state) { case PlayerEvent.Play.PREPARED: // 播放器准备完成, 此刻调用 start() 就可以进行播放了 if (videoview!= null) { videoview.onstart(); break; default: break; 4 处理播放器的生命周期

23 protected void onresume() { super.onresume(); videoview.onresume(); protected void onpause() { super.onpause(); videoview.onpause(); protected void ondestroy() { super.ondestroy(); if (videoview!= null) { videoview.ondestroy(); // 在 AndroidManifest.xml 中 Activity 申明时, 需要添加配置 android:configchanges="keyboard screen public void onconfigurationchanged(configuration newconfig) { super.onconfigurationchanged(newconfig); if (videoview!= null) { videoview.onconfigurationchanged(newconfig); 如果你完全按上述步骤集成云直播功能, 那么云直播就可以正常播放了 如果你还有什么疑问, 都可 以通过乐视云支持中心反馈给我们, 我们会及时为您解答, 也会将您所提出的具有代表性的问题放到 常见问题里

24 视频下载功能说明 下载模块和乐视云点播业务搭配使用, 可以下载云点播视频到 SD 卡上, 方便用户在无法使用网络的情况下观看视频 点播视频下载接口使用接入步骤如下 : DEMO 中的下载模块案例在 DownloadActivity 中 这里以下载一个点播视频为例进行讲解, 快速对接步骤如下 : // 定义 uuid vuid private String uuid = "3a9d21720d"; private String vuid = "f524458b4f"; // 定义下载列表对象参考类 LeDownloadInfo private List<LeDownloadInfo> mdownloadinfos; // 定义 DownloadCenter 对象, 这个对象就是对视频下载类的封装,DownloadCenter 对象全局只有一个 private DownloadCenter mdownloadcenter; // 实现 LeDownloadObserver 对象,observer 主要用于监听下载过程中的各状态的改变 LeDownloadObserver observer = new LeDownloadObserver() { public void ondownloadsuccess(ledownloadinfo info) { // 下载成功 public void ondownloadstop(ledownloadinfo info) { // 下载暂停 public void ondownloadstart(ledownloadinfo info) { // 开始下载 public void ondownloadprogress(ledownloadinfo info) { // 下载进度通知

25 public void ondownloadfailed(ledownloadinfo info, String msg) { // 下载失败 public void ondownloadcancel(ledownloadinfo info) { // 取消下载 public void ondownloadinit(ledownloadinfo info, String msg) { // 下载初始化 public void ondownloadwait(ledownloadinfo info) { // 当请求视频的 url 成功时, 回调这个方法, 表示开始等待下载 ; public void ongetvideoinforate(ledownloadinfo info, List<String> rates) { // 获取你当前下载视频的码率 ( 比如标清 高清 原画等等 ) protected void oncreate(bundle savedinstancestate) { // 实例化 DownloadCenter 对象 mdownloadcenter = DownloadCenter.getInstances(this.getApplicationContext()); // 向 DownloadCenter 注册 observer; // 一个 DownloadCenter 可以注册多个 observer, 事件会通知每一个 observer; mdownloadcenter.registerdownloadobserver(observer); // 获取所有添加到下载列表中的视频 这里需要注意 : 获取到的列表包括未开始 // 正在下载 已完成 失败等所有状态的视频 mdownloadinfos = mdownloadcenter.getdownloadinfolist(); // 点击下载按钮后调用该方法 mdownloadcenter.downloadvideo("", uuid, vuid); // 点击下载按钮后, 如果不调用 mdownloadcenter.downloadvideo("", uuid,vuid); // 则可以调用该方法, 建议使用该方法 LeDownloadInfo info = new LeDownloadInfo(); info.setuu(uuid); // 必填, 否则不能下载视频 info.setvu(vuid); // 必填, 否则不能下载视频 mdownloadcenter.downloadvideo(info);

26 protected void ondestroy() { super.ondestroy(); if (mdownloadcenter!= null) { mdownloadcenter.unregisterdownloadobserver(observer); 关于视频下载的快速接入, 写入上述代码即可完成, 下面是关于接口和实体类的详细描述 interface LeDownloadObserver 属性 值 说明 int DOWLOAD_STATE_WAITING 0 下载状态 -- 等待中 int DOWLOAD_STATE_DOWNLOADING 1 下载状态 - 下载中 int DOWLOAD_STATE_STOP 2 下载状态 - 下载暂停 int DOWLOAD_STATE_SUCCESS 3 下载状态 - 下载成功 int DOWLOAD_STATE_FAILED 4 下载状态 - 下载失败 int DOWLOAD_STATE_NO_DISPATCH 5 当前视频已经添加到下载队列, 但是没有开始调度 int DOWLOAD_STATE_URL_REQUEST_FAILED 6 视频 url 地址请求失败 int DOWLOAD_STATE_NO_PERMISSION 7 没有权限下载 int DOWLOAD_STATE_DISPATCHING 8 正在调度中 int DOWLOAD_STATE_CANCEL 10 下载状态 - 下载取消

27 method 说明 void ondownloadstart(ledownloadinfo info) void ondownloadprogress(ledownloadinfo info) void ondownloadstop(ledownloadinfo info) void ondownloadsuccess(ledownloadinfo info) void ondownloadfailed(ledownloadinfo info, String msg) void ondownloadcancel(ledownloadinfo info) void ondownloadinit(ledownloadinfo info, String msg) void ondownloadwait(ledownloadinfo info) void ongetvideoinforate(ledownloadinfo info, List rates) 开始下载 下载进度更新 下载暂停 下载完成 下载失败 取消下载 下载初始化 等待下载 获取你当前下载视频的码率 ( 比如标清 高清 原画等等 ) class DownloadCenter

28 method DownloadCenter getinstances(context context) void downloadvideo(string userkey, String uu, String vu) downloadvideo(string userkey, String uu, String vu,string ratetext) void downloadvideo(ledownloadinfo info) void allowshowmsg(boolean b) void setdownloadsavepath(string path) void setdownloadratetext(string text) List getdownloadinfolist() int getdownloadinfosize() void setmaxdownloadthread(int mmaxdownloadthread) void resumedownload(ledownloadinfo downloadinfo) void stopdownload(ledownloadinfo downloadinfo) void retrydownload(ledownloadinfo downloadinfo) void stopalldownload() void canceldownload(ledownloadinfo downloadinfo, boolean isdeletefile) LeDownloadInfo finddownloadinfo(string vu) String getdownloadfilepath(string vu) boolean isdownloadcompleted(string vu) void registerdownloadobserver(ledownloadobserver observer) void unregisterdownloadobserver(ledownloadobserver observer) 说明 单例模式, 获取 DownloadCenter 对象 下载视频 (3.0 已有的接口 ),userkey 可以为空,uu vu 必填 下载视频 (3.0 已有的接口 ), 已过期, 不建议使用这种方式 推荐使用这种方式, 参考 LedownloadInfo 下载过程是否显示 toast 提示,ture 提示,false 不提示 设置本地视频文件保存路径 设置当前视频的默认下载码率 返回所有的下载任务列表, 包括未开始 正在下载 下载完成 失败等所有的列表 获取下载任务的数量 设置同时下载的最大线程数, 建议值 1~5, 最大线程数, 默认为 3 恢复视频下载 暂停当前视频的下载 重试下载失败的视频 停止当前所有正在下载的视频 取消下载, 并且如果 isdeletefile = true, 则删除数据库中的信息, 删除本地文件 查找当前 VU 所对应的数据库中的 DownloadInfo 信息 获取当前视频保存的本地路径 查询当前视频是否下载完成 注册下载状态监听的 Observer, 可以注册多个 取消注册状态监听 Observer class LeDownloadInfo 下载过程中需要用到的方法如下 :

29 method 说明 int getdownloadstate() String getfilename() String getfilesavepath() long getprogress() long getfilelength() String getratetext() 获取当前视频的下载状态获取当前视频文件的名称获取当前视频文件保存的路径获取当前视频的下载进度获取当前视频文件的大小获取当前数据库中保存的视频所对应的码率

30 应用混淆 如果您的应用用到了混淆, 请在混淆脚本添加如下内容 :

31 -dontwarn cn.mmachina.** -keep class cn.mmachina.** { *; -dontwarn com.letv.adlib.** -keep class com.letv.adlib.** { *; -dontwarn com.lecloud.sdk.** -keep class com.lecloud.sdk.** { *; -dontwarn android.net.compatibility.** -keep class android.net.compatibility.** { *; -dontwarn android.net.http.** -keep class android.net.http.** { *; -dontwarn com.android.internal.http.multipart.** -keep class com.android.internal.http.multipart.** { *; -dontwarn org.apache.commons.** -keep class org.apache.commons.** { *; -dontwarn org.apache.http.** -keep class org.apache.http.** { *; -dontwarn com.lecloud.xutils.** -keep class com.lecloud.xutils.** { *; -dontwarn com.letv.pano.** -keep class com.letv.pano.** { *; -dontwarn android.os.** -keep class android.os.** { *; -dontwarn com.letvcloud.cmf.** -keep class com.letvcloud.cmf.** { *; -dontwarn com.lecloud.sdk.** -keep class com.lecloud.sdk.** { *; -dontwarn cn.com.iresearch.mvideotracker.** -keep class cn.com.iresearch.mvideotracker.** { *; -dontwarn com.letv.controller.tracker.** -keep class com.letv.controller.tracker.** { *; -dontwarn com.lecloud.skin.** -keep class com.lecloud.skin.** { *;

32 全景功能解析 功能说明 在 4.2 全景功能的基础上,4.3 版本又加入了 VR 功能 全景 ( 含 Vr) 功能和普通点播, 直播不同, 主要区别有 : (1) 使用 ViedeoView 不同, 需要在 UIPanoVodVideoView 类里重写方法 preparevideosurface(), 具体代码请看该类 (2) 实现接口 IPanoListener void setsurface(surface surface); /** * Click Video Area * 点击视频区域 */ void onsingletapup(motionevent e); /** * mode * {@link #PanoVideoControllerView.CONTROLL_MODE_MOTION * {@link #PanoVideoControllerView.CONTROLL_MODE_TOUCH * {@link #PanoVideoControllerView.CONTROLL_MOTION_WITH_TOUCH * {@link #PanoVideoControllerView.DISPLAY_MODE_NORMAL * {@link #PanoVideoControllerView.DISPLAY_MODE_GLASS */ //not support some mode void onnotsupport(int mode); (3) 实现 View 的 OnTouchListener 接口 public boolean ontouch(view v, MotionEvent event) { // 处理手势的事件 ((BasePanoSurfaceView) surfaceview).onpanotouch(v, event); return true;

33 (4) 重写该方法 switchcontrollmode(int mode),mode 为用户设置的值 ( 陀螺仪 PanoVideoControllerView.CONTROLL_MODE_MOTION 手势 PanoVideoControllerView.CONTROLL_MODE_TOUCH 手势 + 陀螺仪 PanoVideoControllerView.CONTROLL_MODE_MOTION_WITH_TOUCH ) protected int switchcontrollmode(int mode) { controllmode = ((BasePanoSurfaceView) surfaceview).switchcontrollmode(mode); return controllmode; (5) 重写该方法 switchdisplaymode(int mode),mode 为用户设置的值 ( 普通全 景 PanoVideoControllerView.DISPLAY_MODE_NORMAL 双目 VR PanoVideoControllerView.DISPLAY_MODE_GLASS ) protected int switchdisplaymode(int mode) { displaymode = ((BasePanoSurfaceView) surfaceview).switchdisplaymode(mode); return displaymode;

34 水印功能使用 说明 : 登录乐视云官网, 点播和直播设置水印方式参考下图 (1) 点播水印设置说明 : 给点播视频添加自定义水印, 按照下面图 (1)(2) 操作即可 ; 在播放 SDKdemo 点播界面, 需要传 PU 值,PU 值就是播放器 ID 图 (1) 图 (2) (2) 直播水印设置 说明 : 给直播视频添加自定义水印, 按照下面图 (3) 操作, 点击保存即可 ;

35 图 (3)

36 状态篇 interface IVideoView 方法后面标志 Vod, 代表该方法点播可用 ; 方法后面标志 Live, 代表该方法直播可用 ;

37 int getvideowidth() int getvideoheight() void onstart() void onresume() void onpause() void ondestroy() method void stopandrelease() void setvideoviewlistener(videoviewlistener listener) void onconfigurationchanged(configuration newconfig) void setdatasource(string playurl) boolean isplaying() void seekto(long msec) long getcurrentposition() long getduration() void setvolume(float leftvolume, float rightvolume) boolean retry() void setcachewatermark(int hight,int low) void setcachepresize(int pre) void setcachemaxsize(int max) void setmaxdelaytime(int max) seektimeshift(long date) void settimeshiftlistener(itimeshiftlistener listener) void resetplayer() 说明 获取视频宽 ( 像素 )(Vod,Live) 获取视频高 ( 像素 )(Vod,Live) 开始播放 ( 需要在播放器准备完成时调用 )(Vod,Live) 继续播放 ( 需要在在 Activity 生命周期 onresume 调用 )(Vod,Live) 暂停播放 ( 需要在在 Activity 生命周期 onpause 调用 ) (Vod,Live) 停止播放并销毁播放器 ( 需要在在 Activity 生命周期 ondestroy 调用 )(Vod,Live) 停止播放并释放播放器资源 (Vod,Live) 设置播放器状态回调参考 VideoViewListener (Vod,Live) 处理屏幕方向改变 ( 需要在 Activity 生命周期 onconfigurationchanged 调用 )(Vod,Live) 设置播放地址 Url( 把视频地址直接传到播放器 ) (Vod,Live) 视频正在播放 (Vod,Live) seek 到某个位置播放 (Vod) 获取当前播放位置 (Vod) 获取视频总时长 (Vod) 设置左右声道 (Vod,Live) 重新播放 ( 按 Home 键后回来继续播放 )(Vod,Live) 设置高低水位 (Live) 设置起播缓冲值 (Live) 设置最大缓冲值 (Live) 设置最大延时 (Live) 直播时移 (Live) 直播时移监听主要用于更新直播时间和进度条显示 (live) 重置播放器状态, 用于直接切换下一首 (vod) interface VideoViewListener

38 method void onstateresult(int event,bundle bundle) String ongetvideoratelist(linkedhashmap<string,string> map) 说明 播放器状态回调可以处理的事件参考 PlayerEvent 云点播 云直播选择码率的回调方法 PlayerEvent 属性值说明 int PLAY_INIT 200 播放器初始化 int PLAY_BUFFERING 201 获取视频二级进度条缓冲值 bundle.getint(playerparams.key_play_buffer int PLAY_COMPLETION 202 播放结束 int PLAY_DECODER_CHANGED 203 解码方式改变 ( 软解和硬解 ) int PLAY_ERROR 205 播放器错误 int PLAY_INFO 206 bundle 获取播放器状态 code <br>= bundle.getint(playerparams.key.result_statu code 有三种状态, 分别是 : 缓冲开始 StatusCode.PLAY_INFO_BUFFERING_STA 缓冲结束 StatusCode.PLAY_INFO_BUFFERING_END 渲染第一帧完成 StatusCode.PLAY_INFO_VIDEO_RENDERING_START 视频缓冲进度 ( 转圈时候的进度 StatusCode.PLAY_INFO_VIDEO_RENDERING_START int PLAY_LOADINGSTART 207 开始缓冲视频 int PLAY_PREPARED 208 播放器准备完成 int PLAY_SEEK_COMPLETE 209 seek 完成 int PLAY_VIDEOSIZE_CHANGED 210 视频宽高变化的时候触发 int VIEW_PREPARE_VIDEO_SURFACE 8001 收到该事件时, 添加视频播放器 SurfaceView int VIEW_PREPARE_AD_SURFACE 8002 收到该事件时, 添加广告播放器 SurfaceView int MEDIADATA_VOD 6000 处理媒资服务器返回点播对应的数据 int MEDIADATA_LIVE 6001 处理媒资服务器返回直播对应的数据 int MEDIADATA_GET_PLAYURL 6002 处理调度服务器返回 ( 直播 活动直播 ) 对应的数据 int MEDIADATA_ACTION 6003 处理媒资服务器返回活动直播对应的数据 int AD_START 7005 广告开始播放 int AD_COMPLETE 7006 广告播放结束 int AD_PROGRESS 7007 广告播放进度 int AD_ERROR 7008 广告播放错误

39 interface IMediaDataVideoView (extends IVideoView) method 说明 void setdatasource(bundle bundle) void setcustomid(string id) Bundle getreportparams() void setrate(string rate) 设置请求视频播放时需要的参数 设置 customid 获取日志反馈时候需要的参数 切换码率,rate 代表接口 VideoViewListener 里面 ongetvideoratelist(linkedhashmap<string,string> map) 返回 map 的 Key 值 IPlayer 播放器的状态, 使用 getstatus() 方法获取属性 值 说明 int PLAYER_STATUS_INIT 0 播放器初始化 int PLAYER_STATUS_PREPARED 1 播放器准备完成 int PLAYER_STATUS_PLAYING 2 正在播放 int PLAYER_STATUS_PAUSED 3 暂停播放 int PLAYER_STATUS_STOPED 4 停止播放 int PLAYER_STATUS_EOS 5 播放到末尾 int PLAYER_STATUS_ERROR 6 播放错误

40 method void setonplaystatelistener(onplaystatelistener playstatelistener) void setdisplay(surface surface) void stop() void start() void pause() int getvideowidth() int getvideoheight() boolean isplaying() void seekto(long msec) long getcurrentposition() long getduration() void reset() void setdatasource(string url) void setvolume(float leftvolume,float rightvolume) int getstatus() 说明 设置播放器事件回调参考 OnPlayStateListener 设置 Surface 停止播放 开始播放 暂停播放 获取视频宽 获取视频高 是否正在播放 播放器 seek 到某一个位置 获取播放器当前播放时间 获取视频时长 播放器状态重置 设置播放源 设置音量 获取播放器状态参考上面播放器属性值 boolean suspend() 播放挂起 ( 只支持点播 ) void regain() boolean retry() void seektolastpostion(long msec) void release() void cleardatasource() void setmaxdelaytime(int max) void setcachewatermark(int hight, int low) void setcachemaxsize(int max) void setcachepresize(int pre) void setdecoder(int mode) 恢复播放 重新播放 回到上次播放的位置, 参数单位 : 毫秒 释放播放器资源 在播放下一首之前, 清空数据 设置最大延时单位 :ms 设置高低水位值单位 :ms 设置最大缓冲值单位 :ms 设置起播缓冲值单位 :ms 设置解码方式, 模式有 : 自动 MediaPlayer.DECODER_TYPE_LEC_AUTO 软解 MediaPlayer.DECODER_TYPE_LEC_SOFT 硬解 MediaPlayer.DECODER_TYPE_SYS_HARD interface OnPlayStateListener

41 method void videostate(int event,bundle bundle) 说明 可以处理的事件参考 PlayerEvent interface IAdPlayer (extends IExPlayer) 属性值说明 int AD_PLAY_ERROR 0 广告播放错误 String AD_TIME "AdTime" 作为 Key 键保存广告播放时间 method void setonadplayerlistener(adplayerlistener adplayerlistener) void clickad() 说明 设置广告播放回调事件参考 AdPlayerListener 处理点击广告后事件, 跳转广告对应网页链接 interface AdPlayerListener method void onadplayerevent(int event, Bundle bundle) 说明 可以处理的广告事件参考 PlayerEvent interface IMediaDataPlayer (extends IAdPlayer) method void setonmediadataplayerlistener(mediadataplayerlistener mediaplayerlistener) void setdatasourcebyrate(string ratetype) void setdatasourcebymediadata(bundle mediadataparams) void setcustomid(string customid) String getlastrate() Bundle getreportparams() 说明 设置媒资回调事件参考 MediaDataPlayerListener 设置视频码率 设置请求视频所需参数 该方法主要用于统计 返回上次播放码率 ( 比如, 视频刚开始播放时候使用标清, 播放过程中切换码率为高清, 则这次播放结束后, 点击播放按钮, 播放时候就是使用高清 ) 获取上报参数 interface MediaDataPlayerListener

42 method void onmediadataplayerevent(int event, Bundle bundle) 说明 可以处理的媒资事件参考 MediaData interface IMediaDataLivePlayer (extends IMediaDataPlayer) method void seektimeshift(long date) void registertimeshiftlistener(itimeshiftlistener listener) void starttimeshift() void stoptimeshift() 说明 设置播放时移单位 :ms 注册时移回调事件参考 ItimeShiftListener 开始更新界面播放时间 停止更新界面时间显示 interface ItimeShiftListener method void onchange(long servertime, long currenttime, long begin) 说明 三个参数分别是 : 服务器时间, 当前播放时间, 直播开始时间 interface IMediaDataActionPlayer (extends IMediaDataLivePlayer) method void setdatasourcebyliveid(string liveid) void setactionstatuslistener(actionstatuslistener listener) void setonlinepeoplelistener(onlinepeoplechangelistener listener) 说明 设置直播的 liveid 设置活动状态回调参考 ActionStatusListener 设置在线人数变化回调参考 OnlinePeopleChangeListener

43 白名单 关于点播白名单 : 点播播放视频之前, 需要在乐视云官网注册您 app 应用包名, 注册类型为点播, 这样您可以根据 uu,vu 去请求相应的视频资源播放 否则, 如果没有在官网接入应用, 则请求资源时候会鉴权失败, 请求不到 uu,vu 对应的视频资源, 只能播放乐视宣传片 关于直播白名单 : 直播播放视频之前, 需要在乐视云官网注册您 app 应用包名, 注册类型为直播 否则, 如果没有在官网接入应用, 则请求资源时候会鉴权失败, 最终播放失败, 会提示您的应用不在白名单之内

44 常见问题问 : 点播, 直播如何切换码率? 按下面步骤做 答 : 调用接口 IMediaDataVideoView 里面设置码率的方法 void setrate(string rate), 注 : 接口 VideoViewListener 里面的方法 String ongetvideoratelist(linkedhashmap<string,string> map) 返回所有的码率 问 : 点播时候想获取视频下载进度值 (SeekBar 的二级进度 )? 按下面步骤做 答 : 截取播放器事件 PlayerEvent.PLAY_BUFFERING, 取 值 bundle.getint(playerparams.key_play_bufferpercent) 问 : 点播按比例播放视频? 按下面步骤做 答 :(1) 在 extends BaseVideoView 的类里面 ( 比如 UIVodVideoView) 添加这些代码 ISurfaceView surfaceview; protected void setvideoview(isurfaceview surfaceview) { this.surfaceview = surfaceview; super.setvideoview(surfaceview); public ISurfaceView getsurfaceview() { return surfaceview; (2) 在 PlayActivity 类里面处理事件地方加代码 case PlayerEvent.PLAY_VIDEOSIZE_CHANGED 如下 : if (videoview!= null && videoview instanceof UIVodVideoView) { ISurfaceView surfaceview = ((UIVodVideoView)videoView).getSurfaceView(); if (surfaceview!= null && surfaceview instanceof BaseSurfaceView) { ((BaseSurfaceView)surfaceView).setDisplayMode(BaseSurfaceView.DISPLAY_MODE_SCALE_ZOOM); int width = bundle.getint(playerparams.key_width); int height = bundle.getint(playerparams.key_height); ((BaseSurfaceView)surfaceView).onVideoSizeChanged(width, height); 问 : 点播想直接切换下一首? 按下面步骤做 答 : 在点击 下一个 按钮的响应事件里面这么做 :

45 if(videoview!= null){ videoview.resetplayer(); mbundle.putstring(playerparams.key_play_uuid, "hxn7psp8ot"); mbundle.putstring(playerparams.key_play_vuid, "49bf3407cb"); videoview.setdatasource(mbundle); 这段代码在我们 demo 的类 PlayActivity 里面有 问 : 点播 直播 移动直播, 默认是竖屏播放视频, 想直接横屏播放视频, 按下面步骤去做? 答 : 点播需要横屏播放, 则在类 UIVodVideoView 的 onresume() 修 改 letvvoduicon.setrequestedorientation(iletvvoduicon.screen_landscape, this); 直播在 类 UIActionLiveVideoView 里面进行同样的修改, 移动直播在类 UIMobileLiveVideoView 里面进行 同样的修改 问 : 点播不想使用默认码率播放时候, 如何选择码率? 答 : 在 interface VideoViewListener 提供方法 String ongetvideoratelist(linkedhashmap<string,string> map),map 里面包含所有的码率,map.entrySet().getValue() 表示标清, 高清, 超清等, 你可以根据 value 过滤, 返回对应的 key 值 map.entryset().getkey() 问 : 点播, 直播, 移动直播, 有皮肤播放的时候需要去掉重力感应? 按下面步骤修改 答 : 点播在类 UIVodVideoView 的方法 inituicon() 里面加这个代 码 letvvoduicon.setgravitysensor(false); 同理, 直播在类 UIActionLiveVideoView 里面进行同 样的修改, 移动直播在类 UIMobileLiveVideoView 里面进行同样的修改 问 : 需要自定义皮肤, 我应该如何操作? 答 : 我们提供了专门的皮肤工程 LePlayerSkin, 皮肤工程是开源的 如果你觉得 SDK 提供的皮肤不符合你的设计, 那么你可以不使用 LePlayerSkin 工程, 直接在无皮肤播放上添加自己需要的皮肤样式 问 : 觉得提供的 SDK 过于庞大, 如何能够缩小它? 答 : 通过以下缩减以下的几个步骤, 可以很快的缩小 SDK: (1) 删掉 SDK 自带的皮肤包, 使用自定义皮肤 (2) 在 libs 目录下只保留 armeabi_v7a, 删掉其他的目录 现在大多数手机都已经兼容了 armeabi_v7a (3) 使用我们播放框架的 remote 版本, 使用该版本, 直接替换 jar 包就可以, 不需要修改代码

46 问 : 第一次创建 SurfaceView 时, 出现黑屏一下的现象 该如何处理? 答 : 在 activity 的 oncreate 方法中加 入 getwindow().setformat(pixelformat.translucent) ; 需要导入包 import android.graphics.pixelformat; 在 fragment 中使用在 getwindow 前加 getactivity() 问 :SDK 中提供了点播 直播和移动直播, 有什么区别, 在什么情况下使用? 答 : 在 SDK 中, 提供了三种播放方式 : 点播 直播和移动直播 : 点播 : 和乐视云计算中的云点播的播放有关 播放点播视频, 需要传入参数 UUID ( 必 须 ) VUID ( 必须 ) PU( 设置你自定义水印时候, 必须填写, 具体值, 文档里面有介绍 ) 直播 : 直播需要的参数有 action_id ( 活动 ID) use_hls ( 默认走 rtmp 的播放 ) PU 值 ( 自定义 水印需要填写 ) 在直播中支持时移功能 移动直播 : 移动直播需要的参数 url, 这个可以是在线视频, 也可以是本地视频 问 : 我需要借助 SDK 提供的播放器播放我本地的视频, 这种情况下我应该怎么去播放它? 答 : 提供播放本地视频的接口 videoview.setdatasource(path) 在接口 IVideoView 里面 问 : 使用乐视 SDK 之后, 出现混淆打包失败的情况, 这样我应该如何处理? 答 : 如果使用乐视 SDK 混淆打包失败, 大多数情况都是对 SDK 进行了再次混淆 乐视 SDK 在提供 时就已经混淆了, 所以在第二次打包时, 我们不建议在对 SDK 进行混淆 问 : 我使用离线下载功能, 结果发现下载的视频被 360 等清理工具清理掉了 这种情况下怎么处理? 答 : 在使用离线下载功能中, 建议最好把下载的视频放到 SD 卡的一个随便目录下, 不要放 在 "android/data/packname/" 目录下 如果放在这个目录下,360 清理工具会检测到这是程序 运行的垃圾, 每次都会自动清理掉 如果视频被自动清理掉,SDK 会在播放时抛给用户这个事 件, 用户如果需要重新下载必须清理掉数据库中的数据 问 : 播放视频过程中, 发现有的视频音视频不同步, 这种现象怎么排查?

47 答 : 这种情况一般在电视等特别低的 CPU 中出现过, 一般排查步骤有 : 1. 看看视频源, 是不是视频源本身就是音视频不同步 2. 通过浏览器或者 IOS 或者其他手机测试一下, 看看是不是所有的都是这种现象 3. 是不是 CPU 性能太差, 建议使用硬解测试 问 : 使用离线下载功能, 同时添加了很多视频, 结果发现有些视频下载失败了怎么处理? 答 : 1. 使用离线下载功能时, 不要同时开太多的任务, 我们建议最大线程数为 1 3 个, 默认为 3 个 2. 视频能否下载, 需要检测当前视频是不是开启了下载功能 3. 当视频下载失败时, 会回调下载失败的事件, 这时就需要用户点击重试下载 问 : 视频可以跟随手机一起旋转方向, 但是我想实现那种视频单独旋转的特效要如何处理? 就像花椒直播中的横屏效果 答 : 如果想要花椒直播中类似的横屏效果 可以通过 textureview 去处理 然后调 用 setrotation(float rotation) 设置旋转方向 注意 : 旋转后需要自己计算视频宽高 问 : 起播的时候, 听到声音了, 但是过了几秒之后才看到画面 这种情况如何处理? 答 : 这种情况一般在电视等特别低的 CPU 中出现过, 一般排查步骤有 : 1. 看看视频源, 是不是有这种前几秒是先有声音的现象 2. 通过浏览器或者 IOS 或者其他手机测试一下, 看看是不是所有的都是这种现象 3. 如果在 TV 上出现, 很有可能是皮肤问题导致的, 建议使用 4.0 上无皮肤的 SDK 播放测试一 下 也可以使用硬解测试 ( 一般默认是软解方式 ) 问 :SDK 能播放点播 直播和活动直播 但是我只想要一个点播 ( 或直播 ) 应该如何处理? 答 : 在我们提供的 SDK 中, 不管是点播 直播还是活动直播, 都使用的是同一套视频的编解码 器 所以单独保留一个功能不会减少 SDK 包的大小 各个功能模块也是独立的, 所以保留其他的 模块不会相互影响 问 : 错误日志 " 鉴权失败 " 和 " 白名单验证未通过 " 答 : 对于新接入的用户或者是使用新的 APP 包名, 需要在乐视云计算官网接入 APP 在填写表单 过程中, 包名必须一致 问 : 接入播放器的时候, 出现 so 库找不到的问题

48 答 : 在有些手机中, 如果出现 so 库找不到的问题, 需要通过以下三个步骤解决 : 1. 查看当前手机支持的 CPU 型号, 一般需要支持 armeabi_v7a 2. 如果当前手机支持这中类型的编码, 那么看看工程中 libs 目录下是不是包涵其他的型号, 比如 armeabi 或者 arm64 等, 如果存在需要删掉 3. 看看是不是引用的有些 jar 包中打入了其他类型的 so 库

49 更新说明 1. 直播进度条改版 2. 增加本地日志记录和上传功能 3. 修改统计功能 4. 修复播放框架及服务端错误 5. 竖屏添加翻页功能 6. 修复播放卡顿问题 7. 修复上版遗留及新增 bug

Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇云点播云直播视频下载应用混淆全景功能解析水印功能使用播放器状态篇应用白名单 FAQ\(

Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇云点播云直播视频下载应用混淆全景功能解析水印功能使用播放器状态篇应用白名单 FAQ\( Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇云点播云直播视频下载应用混淆全景功能解析水印功能使用播放器状态篇应用白名单 FAQ\( 问答 \) 更新说明 0 1 2 3 4 4.1 4.2 5 6 7 8 8.1 8.2 8.3 8.4

More information

什么是乐视云播放 SDK 乐视云播放 SDK 是基于 Android 4.1 及以上版本设备提供的云视频服务接口 依托于强大的乐视云网络视频应用平台, 您可以使用该 SDK 开发内容丰富的 Android 端移动视频应用 乐视云 SDK 支持的业务如下 : 移动直播

什么是乐视云播放 SDK 乐视云播放 SDK 是基于 Android 4.1 及以上版本设备提供的云视频服务接口 依托于强大的乐视云网络视频应用平台, 您可以使用该 SDK 开发内容丰富的 Android 端移动视频应用 乐视云 SDK 支持的业务如下 : 移动直播 Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇移动直播全景功能解析混淆规则播放器状态篇 FAQ\( 问答 \) 更新说明 0 1 2 3 4 4.1 4.2 5 6 7 8 8.1 8.2 8.3 9 10 11 什么是乐视云播放 SDK

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

目录 一 功能介绍 功能列表 使用限制...3 二 Android studio 如何导入 SDK SDK 文件结构 导入必要文件 工程配置...6 三 调用 SDK 初始化 如何开始预览...1

目录 一 功能介绍 功能列表 使用限制...3 二 Android studio 如何导入 SDK SDK 文件结构 导入必要文件 工程配置...6 三 调用 SDK 初始化 如何开始预览...1 PISOFTTECH 圆周率全景相机 Android SDK 使用指南 版本 :V0.9.0.DOUBLE Louise 本文主要指导用户如何将本公司的 Android SDK 集成到自己的 Android 项目中, 及提供 API 说明 目录 一 功能介绍...3 1. 功能列表...3 2. 使用限制...3 二 Android studio 如何导入 SDK... 3 1. SDK 文件结构...

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

DU Ad Platform_SDK 安卓接入指南 DU Ad Platform_SDK for Android 接入手册 ( 触发式广告 ) DUAd_SDK_Trigger v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 -

DU Ad Platform_SDK 安卓接入指南 DU Ad Platform_SDK for Android 接入手册 ( 触发式广告 ) DUAd_SDK_Trigger v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 - DU Ad Platform_SDK for Android 接入手册 ( 触发式广告 ) DUAd_SDK_Trigger v1.0-1 - 目录 1. 获取身份... 1 2. 加载与配置... 2 2.1 加载 SDK 文件... 2 2.2 配置 AndroidManifest.xml... 2 2.3 混淆代码... 3 3. 初始化... 4 4. 功能使用... 4 第 1 页共 1

More information

_banneradview.settest(true); _banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanner

_banneradview.settest(true); _banneradview.setuserkeywords(swimming); _banneradview.setusercategories(1,3,4); _banneradview.setusergender(jdbanner 京东 APP 联盟 SDK Android 版接口说明文档 1.0 1. 嵌入 SDK 1.1 添加 SDK Android Studio 环境 : 菜单 New->New Module->Import.jar or.aar package, 然后选中 App 联盟 SDK 所带的 jar 文件 Eclipse+ADT 环境 : 将 App 联盟 SDK 所带的 jar 文件拷贝到 libs/ 目录下

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

北京方研矩行科技有限公司 Android SDK 快速接入文档

北京方研矩行科技有限公司 Android SDK 快速接入文档 Android SDK 快速接入文档 目录 概要... 3 1 SDK 介绍... 3 2 AndroidMinfest.xml 配置... 4 3 SDK 初始化... 6 4 发送手机验证码... 10 5 注册... 11 6 登录... 11 7 获取产品列表... 12 8 获取设备列表... 13 9 发现设备... 14 10 绑定设备... 15 11 控制设备... 15 12 接收设备上报消息...

More information

掌盟 SoEasy SDK 开发者帮助文档 1. 接入前项目检查 根据游戏接入后出现的问题, 对游戏项目做以下几点要求 : a) AndroidManifest.xml 中 android:targetsdkversion="19" b) 如果 AndroidManifest.xml 有 insta

掌盟 SoEasy SDK 开发者帮助文档 1. 接入前项目检查 根据游戏接入后出现的问题, 对游戏项目做以下几点要求 : a) AndroidManifest.xml 中 android:targetsdkversion=19 b) 如果 AndroidManifest.xml 有 insta 1. 接入前项目检查 根据游戏接入后出现的问题, 对游戏项目做以下几点要求 : a) AndroidManifest.xml 中 android:targetsdkversion="19" b) 如果 AndroidManifest.xml 有 installlocation 选项时, 参数设置为 auto c) AndroidManifest.xml 中的 Activity 需要进行如下配置 android:configchanges="keyboardhidden

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2

腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 文档 腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2 必读 1. SDK 嵌入 1.1 步骤 1: 添加 SDK 到工程中 1.2 步骤 2: 修改 AndroidManifest.xml 文件 2. 接入代码 2.1 激活事件统计接口 2.1.1 接入代码示例 2.1.2 激活事件主要 API 2.2 更多转化类型统计接口

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

01_Service

01_Service 移动平台应用软件开发 Service 主讲 : 张齐勋 zhangqx@ss.pku.edu.cn 移动平台应用软件开发 课程建设小组 北京大学 二零一七年 什么是 Service 与 Activity 一样, 同属 Android 基本组件 后台运行, 不与用户交互, 没有可视化界面 最常见的 Service 如 : 在后台播放歌曲 后台执行文件的下载 同样需在 AndroidManifest.xml

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

百度xx SDK用户手册

百度xx SDK用户手册 社会化登录 Android 组件 用户手册 (1.1 版 ) 发布日期 : 2013 年 7 月 3 日 百度开发者中心 ( 版权所有, 翻版必究 ) 目录 第 1 章 概述... 3 第 2 章 运行环境... 3 第 3 章 使用说明... 3 3.1 新建工程... 3 3.2 引入社会化登录 JAR 包... 4 3.3 配置 ANDROIDMANIFEST.XML... 4 3.4 配置支持平台类型...

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

PlayerAPI_v1.0.0

PlayerAPI_v1.0.0 Player API 开发指南 版本 : 1.0.1 日期 : 2014-01-10 北京梦之窗数码科技有限公司 目录 1. 概述!... 1 2. 接 口!... 1 3. 配置!... 1 4. 插件介绍!... 4 4.1 字幕插件!... 4 附录 1. Flash 和 Javascript 交互!... 5 附录 2. 播放器错误码!... 5 1. 概述 利 用 Player API 与

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

百度xx SDK用户手册

百度xx SDK用户手册 社会化分享 Android 组件 用户手册 (1.1.0 版 ) 发布日期 : 2013 年 5 月 10 日 百度开发者中心 ( 版权所有, 翻版必究 ) 目录 第 1 章 概述... 3 第 2 章 运行环境... 3 第 3 章 使用说明... 3 3.1 新建工程... 3 3.2 引入社会化分享 JAR 包... 4 3.3 配置 ANDROIDMANIFEST.XML... 4 3.4

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

手说TTS开发指南

手说TTS开发指南 手说 TTS 开发指南 v1.3 2011 年 6 月 版权所有 : 手说工作室 shoushuo.com 版本时间作者说明 1.0 2010-11-15 张波 1.1 2010-12-27 在 ondestroy 方法 unbindservice 1.2 2010-12-30 1.3 2011-6-12 去掉 TTS 初始化 ; ttsservice.initialize() 方法调用添加接口方法

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21 Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21 Outlines for Today Future Planning Review System Architecture Dev. Tools & Making the First App Project Structure & File Details Application

More information

幻灯片 1

幻灯片 1 Delivering accurate maps to Chinese Android users 为中国安卓用户提供准确的地图服务 Work at Mapbox includes: Android apps, demos, starter kits, documentation, support, syncing Android team with other departments, etc.

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

一、

一、 2015 年 6 月 30 日 卓易广告平台 SDK1.0 二 申请流程...7 卓易广告平台 SDK1.0 一 简介 卓易移动推广 SDK(Android) 是卓易官方推出的移动推广 SDK 在 Android 平台上的版本 ( 以下简称 SDK) SDK 的发行版本 ( 完整下载包为 Adroi_MobAds_SDK.zip) 中包括 JAR 包 javadoc 文档 示例以及您正在阅读的用户手册

More information

_banneradview.setuserkeywords("swimming"); _banneradview.setusercategories("1,3,4"); _banneradview.setusergender(jdbanneradview.gender_male); _bannera

_banneradview.setuserkeywords(swimming); _banneradview.setusercategories(1,3,4); _banneradview.setusergender(jdbanneradview.gender_male); _bannera 京东与 AdView APP 联盟 SDK Android 版接口说明文档 1.5 1. 嵌入 SDK 1.1 添加 SDK Android Studio 环境 : 菜单 New->New Module->Import.jar or.aar package, 然后选中 App 联盟 SDK 所带的 jar 文件 Eclipse+ADT 环境 : 将 App 联盟 SDK 所带的 jar 文件拷贝到

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

可 Web 编程的NativeUI 设计与实现

可 Web 编程的NativeUI  设计与实现 可 Web 编程的 NativeUI 设计与实现 张袁炜 zhangyuanwei@baidu.com 欢迎转岗简历请发 About Me @ 张袁炜 直达号 网址导航 百度 音乐 前端 Node.js Android Arduino RaspberryPI https://github.com/zhangyuanwei Outline 一个 Hybrid App 的进化史 Native UI 实现原理

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址   access_token=access_token (http 停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 https://webapi.zego.im/cgi/stop-mix? access_token=access_token (https://webapi.zego.im/cgi/stop-mix? access_token=access_token)

More information

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

DU Ad Platform_SDK Cocos 接入指南 DU Ad Platform_SDK for Cocos 接入手册 DU Cocos SDK v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 -

DU Ad Platform_SDK Cocos 接入指南 DU Ad Platform_SDK for Cocos 接入手册 DU Cocos SDK v1.0 百度在线网络技术 ( 北京 ) 有限公司 百度在线网络技术 ( 北京 ) 有限公司 - 1 - DU Ad Platform_SDK for Cocos 接入手册 DU Cocos SDK v1.0-1 - 目录 1. 获取身份...1 1.1 APP_ID... 1 1.2 DAP 广告位 ID... 1 2. 加载与配置...1 2.1 加载 SDK 文件... 1 2.2 配置 AndroidManifest.xml... 2 2.3 混淆代码... 3 3. SDK 初始化...4 3.1

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

新美大酒店开放平台SDK(.NET版)使用说明.pages

新美大酒店开放平台SDK(.NET版)使用说明.pages SDK(.NET 版 ) 使 用说明 1 SDK 包说明 1.1 获取 SDK SDK 可以在数据平台下载, 也可直接通过下载地址获得 下载地址 : http://s3.meituan.net/v1/mss_de81c933e113413ea913a772b707b9c9/open-platform-sdk/mthotelopenplatform-sdk-1.0-net.zip 下载成功后, 解压后可获得

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

Your Document Name

Your Document Name 文件名称 : Windows&Linux 平台当前版本 :V0.9 苏州必捷网络有限公司 2018-11-10 必捷网络内部资料, 未经许可不得对外扩散第 1 页, 共 6 页 修订记录 版本号 拟制 / 修改人 拟制 / 修改日期 评审人 修改内容要点 0.9 吴刚 2018 初稿 文档初始拟定时, 可不填 评审人 以及 修改内容要点 归档批准 版本号批准人批准日期批准确认 归档批准一律要求打开

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

百度xx SDK用户手册

百度xx SDK用户手册 社会化分享 Android 组件 用户手册 (1.2.0 版 ) 发布日期 : 2013 年 5 月 24 日 百度开发者中心 ( 版权所有, 翻版必究 ) 目录 第 1 章 概述... 3 第 2 章 运行环境... 3 第 3 章 使用说明... 3 3.1 新建工程... 3 3.2 引入社会化分享 JAR 包... 4 3.3 配置 ANDROIDMANIFEST.XML... 4 3.4

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 友乾营 报表的 SQL 植入风险 规避风险 : 让你的报表变的安全起来 SQL 植入的概念 恶意的 SQL 归根结底 : 执行了不该允许执行的 SQL 命令, 达到非法的目的 常见案例 骗过登录验证非法获取账号信息篡改 删除数据 为什么存在 SQL 植入 植入原理 如何攻击 特殊的输入参数 未处理特殊字符 -- # 数据库配置不合理 植入原理 : 案例 1, 特殊输入参数 union or 猜表名

More information

技 术 文 件

技  术  文  件 技术文件 技术文件名称 :IAlert 接口使用说明 技术文件编号 : 版 本 :V1.0 共页 ( 包括封面 ) 拟制 审核 会签 标准化 批准 中兴通讯股份有限公司 XX 软件模块详细设计说明 版本号 修改记录 文件编号 版本号 拟制人 / 修改人 拟制 / 修改日期 1 V1.0 胡曦 2005-08-12 新建 更改理由 主要更改内容 ( 写要点即可 ) 注 1: 每次更改归档文件 ( 指归档到事业部或公司档案室的文件

More information

TVS厂商接入流程API文档

TVS厂商接入流程API文档 TVS 登录接 入 一. 登录验证流程 1. 厂商 APP-LWA-AVS 音箱 -AVS 验证流程 2. 厂商 APP- 微信开发平台 -TVS 后台 -TVS 音箱 -TVS 验证流程 3 厂商 APP-QQ 互联平台 -TVS 后台 -TVS 音箱 -TVS 验证流程 二 厂商 APP 接 入 TVS 登录系统配置步骤 1. 打开 工程 app 目录下的 build.gradle, (1) 确保

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

建模与图形思考

建模与图形思考 F06_c 观摩 :ContentProvider 基於軟硬整合觀點 架构與 DB 引擎移植方法 ( c) By 高煥堂 4 通用性基类 ContentProvider 基於軟硬整合觀點 的使用范例 刚才的范例里, 我们直接使用 DataPersist 类的接口来与 SQLite 沟通 本节将替 DataPersist 配上 ContentProvider 基类, 让 Client 能透过 ContentProvider

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

RxJava

RxJava RxJava By 侦跃 & @hi 头 hi RxJava 扩展的观察者模式 处 观察者模式 Observable 发出事件 Subscriber 订阅事件 bus.post(new AnswerEvent(42)); @Subscribe public void onanswer(answerevent event) {! }! Observable observable = Observable.create(new

More information

DU Ad Platform_SDK for Android 接 入 手册 Version: DuWeatherSDK_1.1.6 前提 : DuWeather SDK 需要依赖 DU Ad Platform_SDK HW 或 CW ( 含 ) 以上版本 在接 入 DuW

DU Ad Platform_SDK for Android 接 入 手册 Version: DuWeatherSDK_1.1.6 前提 : DuWeather SDK 需要依赖 DU Ad Platform_SDK HW 或 CW ( 含 ) 以上版本 在接 入 DuW DU Ad Platform_SDK for Android 接 入 手册 Version: DuWeatherSDK_1.1.6 前提 : DuWeather SDK 需要依赖 DU Ad Platform_SDK HW1.0.9.8 或 CW1.0.9.7 ( 含 ) 以上版本 在接 入 DuWeather 之前需要完成 HW 或 CW 初始化, 加载, 代码混淆三个部分 DU Ad Platform_SDK

More information

1. 概述 通过集成讯飞开放统计 SDK 可以跟踪移动应用的用户属性及操作行为, 您可以登入讯飞开放 平台 进入我的语音云 - 我的应用, 开通应用的开放统计服务, 即可查看 下载到 数据处理的结果 阅读如下文档, 您可以在几分钟之内轻松完成集成过程 2. 集成说明 2.

1. 概述 通过集成讯飞开放统计 SDK 可以跟踪移动应用的用户属性及操作行为, 您可以登入讯飞开放 平台   进入我的语音云 - 我的应用, 开通应用的开放统计服务, 即可查看 下载到 数据处理的结果 阅读如下文档, 您可以在几分钟之内轻松完成集成过程 2. 集成说明 2. 科大讯飞股份有限公司 iflytek CO.,LTD 科大讯飞统计分析 SDK 集成指南 1 1. 概述 通过集成讯飞开放统计 SDK 可以跟踪移动应用的用户属性及操作行为, 您可以登入讯飞开放 平台 www.xfyun.cn, 进入我的语音云 - 我的应用, 开通应用的开放统计服务, 即可查看 下载到 数据处理的结果 阅读如下文档, 您可以在几分钟之内轻松完成集成过程 2. 集成说明 2.1 申请

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active

More information

INTRODUCTION TO COM.DOC

INTRODUCTION TO COM.DOC How About COM & ActiveX Control With Visual C++ 6.0 Author: Curtis CHOU mahler@ms16.hinet.net This document can be freely release and distribute without modify. ACTIVEX CONTROLS... 3 ACTIVEX... 3 MFC ACTIVEX

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探 付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探索建设中 成时间 : 2017-07-20 12:13:21 Since 8.6 定义键盘 定义键盘使

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

建立Android新專案

建立Android新專案 Android 智 慧 型 手 機 程 式 設 計 Android WebService 建 國 科 技 大 學 資 管 系 饒 瑞 佶 2012/4 V1 2012/8 V2 2013/5 V3 2014/10 v4 提 醒 這 節 的 內 容 針 對 的 是 MS 的 Web Service 或 是 使 用 SOAP(Simple Object Access Protocol) 標 準 建 立

More information

Dynamic Layout in Android

Dynamic Layout in Android Dynamic Layout in Android 建國科技大學資管系 饒瑞佶 2013/5 V1 Layout 多半都透過 res/layout/xml 格式設定來達成 Android 是 OOP, 所以可以動態產生 Layout 重點是 Layout 的階層關係 (Hierarchy) 需要處理對應事件 最後一樣用 setcontentview 加入 Layout 一 加入現有 Layout 中

More information

untitled

untitled 1 Outline 類别 欄 (1) 類 類 狀 更 易 類 理 若 類 利 來 利 using 來 namespace 類 ; (2) namespace IBM class Notebook namespace Compaq class Notebook 類别 類 來 類 列 欄 (field) (property) (method) (event) 類 例 立 來 車 類 類 立 車 欄 料

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

RecyclerView and CardVew

RecyclerView and CardVew RecyclerView and CardView 建國科技大學資管系饒瑞佶 2017/10 V1 CardView CardView A CardView is a ViewGroup. Like any other ViewGroup, it can be added to youractivity or Fragment using a layout XML file. To create an

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

云数据库 RDS SDK

云数据库 RDS SDK 云数据库 RDS SDK SDK SDK 下载 SDK 下载 最新版本 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip 历史版本 2015-11-3 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip JAVA 教程 JAVA 创建 Access Key 登陆阿里云账号 打开 我的 Access

More information

Microsoft Word - QTP测试Flex.doc

Microsoft Word - QTP测试Flex.doc TIB 自动化测试工作室 http://www.cnblogs.com/testware 使用 QTP 进行 Flex 自动化测试 自动化测试工具与 Flex 应用程序之间是通过代理 (Agent) 来交互的, 如图所示 : 这也就是为什么后面在使用 QTP 进行 Flex 自动化测试之前要先安装 Flex 插件 配置和编译 Flex 程序的原因 前提条件 在使用 QTP 进行 Flex 4 的测试之前,

More information

F515_CS_Book.book

F515_CS_Book.book /USB , ( ) / L R 1 > > > 2, / 3 L 1 > > > 2 + - 3, 4 L 1 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 ( ) GSM 手机已连接到 GSM 网络 指示条越多, 接收质量越好 2 ...........................4.............................. 4 Micro SD (

More information

Android 编程基础 Android 开发教程 & 笔记 1

Android 编程基础 Android 开发教程 & 笔记 1 Android 开发教程 & 笔记 1 多式样 ProgressBar 撰写 : 地狱怒兽 联系 :zyf19870302@126.com 普通圆形 ProgressBar 该类型进度条也就是一个表示运转的过程, 例如发送短信, 连接网络等等, 表示一个过程正 在执行中 一般只要在 XML 布局中定义就可以了

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

congyunxu

congyunxu mobisage_android_sdk [ 使用说明 ] SDK Version: mobisage_android_sdk_6.4.5 2015-05 目录 1. SDK 主要功能指南... 3 1.1 导入 SDK... 3 1.2 配置 AndroidManifest.xml... 3 1.3 申请及设置 Publish ID... 4 1.4 申请 slottoken... 5 1.5 横幅广告...

More information

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政 ( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政 府 关 于 命 名 第 一 批 省 级 生 态 市 第 七 批 省 级 生 态 县 ( 市 区 )

More information

百度xx SDK用户手册

百度xx SDK用户手册 社会化分享 Android 组件 用户手册 (2.0.0 版 ) 发布日期 : 2013 年 9 月 6 日 百度开发者中心 ( 版权所有, 翻版必究 ) 目录 第 1 章 概述... 3 第 2 章 运行环境... 3 第 3 章 使用说明... 3 3.1 新建工程... 3 3.2 引入社会化分享 JAR 包... 4 3.3 配置 ANDROIDMANIFEST.XML... 4 3.4 配置文件说明...

More information