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

Size: px
Start display at page:

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

Transcription

1 Table of Contents SDK 简介文档版本说明阅读对象支持系统版本整体结构图播放器 VideoView 关系图播放器 Player 关系图 SDK 名词解释播放器功能篇支持播放的格式 SDK 接入篇移动直播全景功能解析混淆规则播放器状态篇 FAQ\( 问答 \) 更新说明

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

3 文档版本说明 版本号版本说明修改者更新日期 1.5 移动直播 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 相关词语解释 移动直播 : 根据 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 = LeCl 这个 if 判断必须有, 在自己的进程初始化 cde if (getapplicationinfo().packagename.equals(processname)) { try { LeCloudPlayerConfig.LOG_LOGCAT 打印日志到控制台 LeCloudPlayerConfig.LOG_FILE 日志打印到文件 LeCloudPlayerConfig.LOG_NONE 不打印日志 LeCloudPlayerConfig.LOG_ALL 日志打印到控制台和文件 LeCloudPlayerConfig.setLogOutputType(LeCloudPlayerConfig.LOG_LOGCAT); LeCloudPlayerConfig.setHostType(host); LeCloudPlayerConfig.init(getApplicationContext()); LeCloudPlayerConfig.setmInitCmfListener( new OnInitCmfListener() public void oncdestartsuccess() { cde 启动成功, 可以开始播放如果使用 remote 版本这个方法会回调的晚一些, 因为有个下载过程只有回调了该方法, 才可以正常播放视频建议用户通过 cde 初始化的回调进行控制,

13 public void oncdestartfail() { cde 启动失败, 不能正常播放 ; 如果使用 remote 版本则可能是 remote 下载失败 public void oncmfcoreinitsuccess() { // 不包含 cde 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 = if (runningapps!= null) { for (RunningAppProcessInfo procinfo : runningapps) { if (procinfo.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 移动直播 1 添加播放器 移动直播播放器分为有皮肤 ( UIMobileLiveVideoView ) 无皮肤 ( MobileLiveVideoView ) 类型在目标界面代码中, 新建并添加播放器 ( 请勿在布局文件中直接添加播放器 ) private IMediaDataVideoView 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); // 无皮肤播放器请初始化 MobileLiveVideoView // videoview = new MobileLiveVideoView(this); // 有皮肤播放器请初始化 UIMobileLiveVideoView videoview = new UIMobileLiveVideoView(this,uuid)); // 有皮肤开启录制功能播放器 videoview = new UIMobileLiveVideoView(this,uuid,true)); // 将播放器添加到容器中 // 在这儿, 我们使用的是 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 布局文件内容如下 :

17 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="203dp" > </RelativeLayout> 2 播放器参数配置 1. 通过 Url 播放视频的参数配置 // Url 是一个播放地址, 扔给播放器直接播放 boolean ispano = true;// 全景播放 String playpath = " videoview.setpanorama(ispano) videoview.setdatasource(playpath); 3 开始播放 处理播放器回调事件 VideoViewListener videoviewlistener = new VideoViewListener() public void onstateresult(int event, Bundle bundle) { handleplayerevent(event, bundle);// 处理播放器事件 ; videoview.setvideoviewlistener(videoviewlistener); handleplayerevent 的实现为 :

18 * 处理播放器本身事件, 具体事件可以参见 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 @Override protected void onresume() { super.onresume(); protected void onpause() { super.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); 说明 : 移动直播通过设置 Url 播放在线视频资源, 录制端是什么码率, 播放端只能播放对应码率的视 频, 不能动态切换 ;

20 移动直播 1.5 全景功能解析 更新说明 (1)1.5 版本全景使用了 Google VR (2)1.5 版本云点播 [uu,vu] 云直播[ 活动 Id] 是否是全景播放, 取决于后台配置 (3)1.5 版本播放 url 时候, 是否是全景播放, 还和 1.4 一样, 在界面上选择关于全景的接口介绍 interface IPanoListener * 给播放器设置 surface void setsurface(surface surface); * 点击视频区域 void onsingletapup(motionevent e); * mode * { 全景 #BasePanoSurfaceView.DISPLAY_MODE_NORMAL * {VR mode #BasePanoSurfaceView.DISPLAY_MODE_GLASS * { 手势 #BasePanoSurfaceView.CONTROLL_MODE_TOUCH * { 陀螺仪 #BasePanoSurfaceView.CONTROLL_MODE_MOTION * { 手势 + 陀螺仪 BasePanoSurfaceView.CONTROLL_MODE_MOTION_WITH_TOUCH // 手机不支持这些模式时候会回调这个方法 void onnotsupport(int mode); interface IPanoEventProcess 具体实现参考 PanoEventProcessImp

21 * 创建 surfaceview, 初始化 Mode ISurfaceView getpanovideoview(); * { 手势 #BasePanoSurfaceView.CONTROLL_MODE_TOUCH * { 陀螺仪 #BasePanoSurfaceView.CONTROLL_MODE_MOTION * { 手势 + 陀螺仪 BasePanoSurfaceView.CONTROLL_MODE_MOTION_WITH_TOUCH int switchcontrollmode(int mode); * { 全景 #BasePanoSurfaceView.DISPLAY_MODE_NORMAL * {VR mode #BasePanoSurfaceView.DISPLAY_MODE_GLASS int switchdisplaymode(int mode); 根据解码方式不同设置 format void preparesoft(int decodertype); 生命周期 onresume() void onpanoresume(); 生命周期 onpause() void onpanopause(); 生命周期 ondestroy() void onpanodestroy(); 设置关于 Player 的一些 Listener void setplayerpropertylistener(); 移动直播 1.4 全景功能解析 全景 ( 含 Vr) 功能和普通点播, 直播不同, 主要区别有 : (1) 使用 ViedeoView 不同, 需要在 UIPanoMobileVideoView 类里重写方法 preparevideosurface(), 具体代码请看该类 (2) 实现接口 IPanoListener

22 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; (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;

23 (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;

24 应用混淆 # update time 最后提供给客户的混淆规则 # LePlayerSdk----proguard-start -keep class com.lecloud.sdk.api.stats.** { *; -keep class com.lecloud.sdk.api.** { *; -keep class com.lecloud.sdk.player.** { *; -keep class com.lecloud.sdk.utils.**{ *; -keep class com.lecloud.sdk.videoview.** { *; -keep class com.lecloud.sdk.listener.** { *; -keep class com.lecloud.sdk.download.**{ *; -keep class com.lecloud.sdk.config.** { *; -keep class com.lecloud.sdk.surfaceview.** { *; -keep class com.lecloud.sdk.constant.** { *; -keep class com.lecloud.sdk.pano.** { *; # cmf-proguard-start -keep class com.letvcloud.cmf.** { *; -keep class com.lecloud.uploadservice.** { *; -keep class android.os.systemproperties -keepclassmembers class android.os.systemproperties{ public <fields>; public <methods>; # LeNetWork----proguard-start -keep class com.lecloud.sdk.http.** { *; # org.apache.http.legacy----proguard-start -keep class android.net.** { *; -keep class com.android.internal.http.multipart.** { *; -keep class org.apache.** { *; # lecloudutils----proguard-start -keep class com.lecloud.xutils.** { *; # 全景 ----proguard-start -keep class com.lecloud.vrlib.** { *; -keep class com.letv.pano.** { *; -keep class com.google.vr.** { *; -keep class com.google.vrtoolkit.cardboard.** { *; # 艾瑞统计 ----proguard-start -keep class cn.com.iresearch.mapptracker.** { *; -keep class cn.com.iresearch.vvtracker.** { *; # 广告提供 jar 包 ----proguard-start -keep public class com.letv.ads.**{ *; -keep public class com.letv.plugin.pluginloader.**{ *;

25 状态篇 从 IVideoView 层接入的用户请参考如下接口 interface IVideoView 获取视频宽度 int getvideowidth() 获取视频高度 int getvideoheight() 说明 : 想要获取视频宽 高计算 SurfaceView( 也可能是 TextureView) 大小, 事件 PlayerEvent.PLAY_VIDEOSIZE_CHANGED 回调时候就可以获取到视频宽 高 收到播放器准备完成事件 PlayerEvent.PLAY_PREPARED 调用此方法, 开始播放视频 void onstart() 继续播放 ( 需要在在 Activity 生命周期 onpause 调用 ) void onresume() 暂停播放 ( 需要在在 Activity 生命周期 onpause 调用 ) void onpause() 停止播放并销毁播放器 ( 需要在在 Activity 生命周期 ondestroy 调用 ) 和 stopandrelease() 方法做的操作一样 void ondestroy() 停止播放并释放播放器资源 void stopandrelease() 设置监听返回事件回调 ( 播放器事件 媒资事件 ) void setvideoviewlistener(videoviewlistener listener) 处理屏幕方向改变 ( 需要在 Activity 生命周期 onconfigurationchanged 调用 ) void onconfigurationchanged(configuration newconfig)

26 设置播放地址 Url( 把视频地址直接传到播放器 ) void setdatasource(string playurl) 视频正在播放 true, 反之 false boolean isplaying() 点播使用,seek 到某个位置 void seekto(long msec) 点播时候获取当前播放位置 long getcurrentposition() 点播获取视频总时长 long getduration() leftvolume,rightvolume 取值范围 在事件 PlayerEvent.PLAY_INIT 时候设置 setvolume(0,0), 视频静音 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)

27 活动直播时移 void seektimeshift(long date) 活动直播时候设置监听, 只要接收返回来自服务器时间信息, 更新直播时间和进度条显示 void settimeshiftlistener(itimeshiftlistener listener) 点播切换下一首, 调用该方法 void resetplayer() 获取视频下载速率, 单位 :B/s long getdownloadrate() 播放 url 时候需要指定是否是全景视频 void setpanorama(boolean ispano); interface VideoViewListener 点播 直播 移动直播返回事件 ( 播放器事件 媒资事件 ) void onstateresult(int event,bundle bundle) 点播 活动直播获取服务器返回的码率列表 String ongetvideoratelist(linkedhashmap<string,string> map) interface IMediaDataVideoView

28 设置请求视频播信息时候需要的参数 void setdatasource(bundle bundle); 移动直播时候将 uuid 传进来 void setcustomid(string id); 获取日志反馈时候需要的参数 Bundle getreportparams(); 切换码率, 将选择好的码率传进来 (21, 标清 ), 传递标清对应的 key void setrate(string rate); interface IVodVideoView 视频是否试看 1 试看片 0 正常片 int getneedbuy(); 视频试看时长时间 >0 代表试看 int gettrylooktime(); 设置视频是否自动播放 [true: 自动播放 ;false: 不自动播放 ] void setvideoautoplay(boolean autoplay); interface PlayerEvent 播放器 player 对象创建成功之后回调的事件 int PLAY_INIT = 200; 点播时候二级进度条缓冲回调事件, 缓冲值 =bundle.getint(playerparams.key_play_bufferpercent) int PLAY_BUFFERING = 201; 视频播放结束回调事件 int PLAY_COMPLETION = 202;

29 解码方式改变回调事件 ( 默认 lec 硬解,lec 硬解失败自动切换为 lec 软解时回调该事件 ) int PLAY_DECODER_CHANGED = 203; 播放器数据下载完成时回调 ( 使用 LecPlayer 时有效 ) int PLAY_DOWNLOAD_FINISHED = 204; 导致 205 错误的可能原因如下所示 : 打印具体错误代码 int errorcode; errorcode=bundle.getint(playerparams.key_result_status_code ); (1)errorCode=500007, 没有将 SDK 里 demo 工程下面 assets 里面的内容拷贝过去 (2)errorCode=500008, 播放在线视频时候没有网络 (3)errorCode=100,cde 初始化失败 ( 可能导致 cde 初始化失败的原因 : 在 AndroidManifest.xml 里面是否配置 cmf 服务 ; 在 Application 的 OnCreate 里面, 是否只在自己的进程进行了 cde 的初始化 ; 如果使用 remote 版本, 请确认 so 文件是否下载成功 ) (4)errorCode=500001, 视频资源未找到 ( 一般网络正常情况下报这个错, 是设置到播放器的 url 有问题 ) (5)errorCode=500002, 播放器解码错误 ( 一般是播放资源的音频或者视频编码方式不属于咱现在支持的范围之内 ) int PLAY_ERRO = 205; 视频信息回调事件 int statuscode = bundle.getint(playerparams.key_result_status_code ); (1) 视频开始缓冲 statuscode = StatusCode.PLAY_INFO_BUFFERING_START; (2) 视频结束缓冲 statuscode = StatusCode.PLAY_INFO_BUFFERING_END; (3) 视频播放第一帧 statuscode = StatusCode.PLAY_INFO_VIDEO_RENDERING_START; (4) 视频缓冲进度 ( 一级进度条 ) statuscode = StatusCode.PLAY_INFO_VIDEO_BUFFERPERCENT ; 获取缓冲进度 int buffercode = bundle.getint(playerparams.key_video_buffer ); int PLAY_INFO = 206; 视频开始加载时候的回调事件 播放器已经创建但还未 prepare, 此时可以设置音量 设置缓冲等等 int PLAY_LOADINGSTART = 207; 播放器准备完成事件, 此刻调用 start() 就可以开始播放了 int PLAY_PREPARED = 208; 播放器 seek 完成回调事件

30 int PLAY_SEEK_COMPLETE = 209; 返回视频宽高 int width = bundle.getint(playerparams.key_width); int height = bundle.getint(playerparams.key_height); int PLAY_VIDEOSIZE_CHANGED = 210; 过载保护,cde 出错时候回调 int PLAY_ERROR_CDE = 212; 点播请求媒资信息的回调事件 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 time = bundle.putint(iadplayer.ad_time, adtime); int AD_PROGRESS = 7007; 广告播放错误 int AD_ERROR = 7008;

31 准备播放正片的 surface 创建 SurfaceView 并将 surface 设置给播放器 int VIEW_PREPARE_VIDEO_SURFACE = 8001; 准备播放广告的 surface 创建 SurfaceView 并将 surface 设置给播放器 int VIEW_PREPARE_AD_SURFACE = 8002; 从 IPlayer 层接入的用户参考如下接口 interface IPlayer 获取播放器状态, 返回值如下 : IPlayer.PLAYER_STATUS_INIT 播放器初始化 IPlayer.PLAYER_STATUS_PREPARED 播放器准备完成 IPlayer.PLAYER_STATUS_PLAYING 正在播放 IPlayer.PLAYER_STATUS_PAUSED 暂停播放 IPlayer.PLAYER_STATUS_STOPED 停止播放 IPlayer.PLAYER_STATUS_EOS 播放到末尾 IPlayer.PLAYER_STATUS_ERROR 播放错误 int getstatus(); 设置播放器状态监听回调 void setonplaystatelistener(onplaystatelistener playstatelistener); 设置 surface 给播放器 void setdisplay(surface surface) 视频停止播放 void stop() 视频开始播放 void start() 视频暂停 void pause() 获取视频宽度

32 int getvideowidth() 获取视频高 int getvideoheight() 视频是否正在播放 boolean isplaying() 将视频拖动到某个位置 void seekto(long msec) 获取当前播放位置 long getcurrentposition() 获取视频总时长 long getduration() 释放播放器 void release() 重置播放器 void reset() 设置播放 url void setdatasource(string url) leftvolume,rightvolume 取值范围 在事件 PlayerEvent.PLAY_INIT 时候设置 setvolume(0,0), 视频为静音 void setvolume(float leftvolume,float rightvolume) 点播挂起播放 boolean suspend() 点播恢复播放 void regain() 重新播放 boolean retry()

33 设置最大延时单位 :ms void setmaxdelaytime(int max) 设置高低水位值单位 :ms void setcachewatermark(int hight, int low) 设置最大缓冲值单位 :ms void setcachemaxsize(int max) 设置起播缓冲值单位 :ms void setcachepresize(int pre) 在播放下一首之前, 将当前数据设置为初始化状态 void cleardatasource(); 获取下载视频码率单位 :B/s long getdownloadrate(); 设置解码方式 MediaPlayer.DECODER_TYPE_LEC_AUTO 软解 MediaPlayer.DECODER_TYPE_LEC_SOFT 硬解 void setdecoder(int mode) interface OnPlayStateListener 回调事件处理 ( 播放器回调事件 ) void videostate(int event,bundle bundle) interface IAdPlayer

34 设置广告回调监听 void setonadplayerlistener(adplayerlistener adplayerlistener) 处理点击广告后事件, 跳转广告对应网页链接 void clickad() 释放广告播放资源 void onaddestroy() interface AdPlayerListener 处理广告回调事件广告开始播放 广告播放结束 广告播放错误 广告播放进度 void onadplayerevent(int event, Bundle bundle) interface IMediaDataPlayer

35 设置媒资请求结果回调监听 void setonmediadataplayerlistener(mediadataplayerlistener mediaplayerlistener) 设置视频播放时候的码率 void setdatasourcebyrate(string ratetype) 设置请求视频信息所携带的参数 void setdatasourcebymediadata(bundle mediadataparams) 设置用户 UUID void setcustomid(string customid) 返回上次播放码率 ( 比如, 视频刚开始播放时候使用标清, 播放过程中切换码率为高清, 则这次播放结束后, 点击播放按钮, 播放时候就是使用高清 ) String getlastrate() 获取上报参数 Bundle getreportparams() interface MediaDataPlayerListener 媒资请求结果回调事件 void onmediadataplayerevent(int event, Bundle bundle) interface IMediaDataLivePlayer

36 云直播时移到某个位置单位 :ms void seektimeshift(long date) 注册时移回调事件 void registertimeshiftlistener(itimeshiftlistener listener) 开始更新界面播放时间 void starttimeshift() 停止更新界面时间显示 void stoptimeshift() interface ItimeShiftListener 三个参数分别是 : 服务器时间, 当前播放时间, 直播开始时间 void onchange(long servertime, long currenttime, long begin) interface IMediaDataActionPlayer 设置直播的 liveid 根据 liveid 请求机位信息 void setdatasourcebyliveid(string liveid) 设置活动状态回调监听 void setactionstatuslistener(actionstatuslistener listener) 设置在线人数变化回调监听 void setonlinepeoplelistener(onlinepeoplechangelistener listener)

37 常见问题 问 : 移动直播按比例播放视频? 按下面步骤做 答 :(1) 在 extends BaseVideoView 的类里面 ( 比如 UIMobileLiveVideoVie) 添加这些代码 ISurfaceView 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 UIMobileLiveVideoVie) { ISurfaceView surfaceview = ((UIMobileLiveVideoVie)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); 问 : 移动直播, 默认是竖屏播放视频, 想直接横屏播放视频, 按下面步骤去做? 答 : 移动直播需要横屏播放, 则在类 UIMobileLiveVideoView 的 onresume() 修改 `letvliveuicon.setrequestedorientation(iletvvoduicon.screen_landscape, this); 问 : 移动直播, 有皮肤播放的时候需要去掉重力感应? 按下面步骤修改 答 : 点播在类 UIMobileLiveVideoVie 的方法 inituicon() 里面加这个代码 `letvliveuicon.setgravitysensor(false); 问 : 需要自定义皮肤, 我应该如何操作?

38 答 : 我们提供了专门的皮肤工程 LePlayerSkin, 皮肤工程是开源的 如果你觉得 SDK 提供的皮肤不 符合你的设计, 那么你可以不使用 LePlayerSkin 工程, 直接在无皮肤播放上添加自己需要的皮肤样 式 问 : 觉得提供的 SDK 过于庞大, 如何能够缩小它? 答 : 通过以下缩减以下的几个步骤, 可以很快的缩小 SDK: (1) 删掉 SDK 自带的皮肤包, 使用自定义皮肤 (2) 在 libs 目录下只保留 armeabi_v7a, 删掉其他的目录 现在大多数手机都已经兼容了 armeabi_v7a (3) 使用我们播放框架的 remote 版本, 使用该版本, 直接替换 jar 包就可以, 不需要修改代码 问 : 第一次创建 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 等清理工具清理掉了 这种情况下怎么处理?

39 答 : 在使用离线下载功能中, 建议最好把下载的视频放到 SD 卡的一个随便目录下, 不要放在 "android/data/packname/" 目录下 如果放在这个目录下,360 清理工具会检测到这是程序运行的垃圾, 每次都会自动清理掉 如果视频被自动清理掉,SDK 会在播放时抛给用户这个事件, 用户如果需要重新下载必须清理掉数据库中的数据 问 : 播放视频过程中, 发现有的视频音视频不同步, 这种现象怎么排查? 答 : 这种情况一般在电视等特别低的 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 能播放点播 直播和活动直播 但是我只想要一个点播 ( 或直播 ) 应该如何处理?

40 答 : 在我们提供的 SDK 中, 不管是点播 直播还是活动直播, 都使用的是同一套视频的编解码 器 所以单独保留一个功能不会减少 SDK 包的大小 各个功能模块也是独立的, 所以保留其他的 模块不会相互影响 问 : 错误日志 " 鉴权失败 " 和 " 白名单验证未通过 " 答 : 对于新接入的用户或者是使用新的 APP 包名, 需要在乐视云计算官网接入 APP 在填写表单 过程中, 包名必须一致 问 : 接入播放器的时候, 出现 so 库找不到的问题 答 : 在有些手机中, 如果出现 so 库找不到的问题, 需要通过以下三个步骤解决 : 1. 查看当前手机支持的 CPU 型号, 一般需要支持 armeabi_v7a 2. 如果当前手机支持这中类型的编码, 那么看看工程中 libs 目录下是不是包涵其他的型号, 比如 armeabi 或者 arm64 等, 如果存在需要删掉 3. 看看是不是引用的有些 jar 包中打入了其他类型的 so 库

41 更新说明 (sdk_v1.5) (1)1.5 版本全景使用了 Google VR (2)1.5 版本播放 url 时候, 是否是全景播放, 在界面上选择确定, 和 4.5 一样 (3) 增加 https 支持 默认支持 http, 在 MApplication 里面修改 // 设置支持 http parameters.put(icdesetting.scheme_type, LeCloudPlayerConfig.SCHEME_HTTP + ""); // 设置支持 https parameters.put(icdesetting.scheme_type, LeCloudPlayerConfig.SCHEME_HTTPS + ""); 更新说明 (sdk_v1.4) 1. 替换播放框架 ( 播放器解决一些播放的兼容性问题 ) 2. 移动直播可以获取下载视频速率 在类 IVideoView 中增加接口 返回下载速率, 单位 B/s long getdownloadrate(); 3. 移动直播可以录制视频

42 增加接口 public interface IMobileLiveVideoView extends IMediaDataVideoView{ * 开始录制视频 path 录制视频保存路径 format 视频格式, 比如 mp4 * return 返回值小于 0 代表录制失败, 等于 0 代表录制成功 * int startstreamer(string savepath, String format); * 结束录制视频 * int stopstreamer(); (1) 如果你要使用录制功能 new UIMobileLiveVideoView(this, customerid, true) (2) 不需要使用录制功能 new UIMobileLiveVideoView(this, customerid, false) 或者 new UIMobileLiveVideoView(this, customerid) 4. 视频高度按比例匹配布局容器, 宽度超出范围可以左右拖拽观看, 具体代码如下 在收到播放器事件的时候做如下处理 : case PlayerEvent.PLAY_VIDEOSIZE_CHANGED: if (videoview!= null && videoview instanceof UIMobileLiveVideoView) { surfaceview = ((UIMobileLiveVideoView) videoview).getsurfaceview(); if (surfaceview!= null && surfaceview instanceof VideoDragSurfaceView) { // 这是移动直播有皮肤, 视频大小竖屏占满, 横屏超出屏幕时候可以拖动的例子 ((VideoDragSurfaceView) surfaceview).setdisplaymode(basesurfaceview.display_ int width = bundle.getint(playerparams.key_width); int height = bundle.getint(playerparams.key_height); ((VideoDragSurfaceView) surfaceview).onvideosizechanged(width, height); break; 5. 增加日志打印开关

43 默认打印日志到控制台 LeCloudPlayerConfig.LOG_LOGCAT 打印日志到控制台 LeCloudPlayerConfig.LOG_FILE 日志打印到文件 LeCloudPlayerConfig.LOG_NONE 不打印日志 LeCloudPlayerConfig.LOG_ALL 日志打印到控制台和文件 LeCloudPlayerConfig.setLogOutputType(LeCloudPlayerConfig.LOG_LOGCAT); 6. 创建播放器时候用户可以指定解码方式

44 你可以在 UIMobileLiveVideoView protected void initplayer() { // 只开启录制功能 player = new MobileLivePlayer(context, 界面上传递是否录制 Boolean 值 ); // 指定 lec 硬解播放 ( 默认是 lec 硬解 ) player = new MobileLivePlayer(context, MediaPlayer.DECODER_TYPE_LEC_AUTO); // 指定 lec 硬解播放 ( 默认是 lec 硬解 ), 且开启录制功能 player = new MobileLivePlayer(context, MediaPlayer.DECODER_TYPE_LEC_AUTO, 界面上传递是否 // 使用默认解码方式, 不开启录制功能 player = new MobileLivePlayer(context); 在移动直播类 MobileLivePlayer 里面增加三个构造方法 context decodertype 取值为 : MediaPlayer.DECODER_TYPE_LEC_AUTO(Lec 硬解, 硬解失败, 自动软解 ) MediaPlayer.DECODER_TYPE_LEC_SOFT(Lec 软解 ) MediaPlayer.DECODER_TYPE_SYS_HARD( 系统硬解 ) public MobileLivePlayer(Context context, int decodertype) { super(context, decodertype); context decodertype 取值为 : MediaPlayer.DECODER_TYPE_LEC_AUTO(Lec 硬解, 硬解失败, 自动软解 ) MediaPlayer.DECODER_TYPE_LEC_SOFT(Lec 软解 ) MediaPlayer.DECODER_TYPE_SYS_HARD( 系统硬解 recordvideo true 表示开启录制视频功能,false 则没有 public MobileLivePlayer(Context context, int decodertype, boolean recordvideo) { super(context, decodertype); setplayertype(playertypemobilelive); mcreatestreamer = context recordvideo true 表示开启录制视频功能,false 则没有 public MobileLivePlayer(Context context, boolean recordvideo) { super(context); setplayertype(playertypemobilelive); mcreatestreamer = recordvideo;

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

目录 一 功能介绍 功能列表 使用限制...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

Android Service

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

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

_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

Microsoft Word - 01.DOC

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

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

掌盟 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

百度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

手册 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

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

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

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

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

百度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

(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

本章学习目标 小风 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

幻灯片 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

一、

一、 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

手说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

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

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

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

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

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

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

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

百度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

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

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

建模与图形思考

建模与图形思考 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

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

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

无类继承.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

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

《大话设计模式》第一章

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

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

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

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

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

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

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

建模与图形思考

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

More information

石油大学(北京)

石油大学(北京) 大 學 生 安 全 教 育 參 考 資 料 1 對 大 學 生 進 行 安 全 教 育 的 必 要 性 第 一 篇 遵 紀 守 法 篇 第 1 章 安 全 教 育 大 學 生 活 對 於 每 一 位 莘 莘 學 子 來 說 都 是 一 段 美 好 而 又 難 忘 的 時 光 而 這 一 切 從 頭 開 始 的 時 候, 不 大 容 易 被 同 學 們 重 視 的 往 往 是 安 全 問 題 安 全

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

Guava学习之Resources

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

More information

法律说明 : 版权所有乐视云计算有限公司 本文档包含的所有内容除特别声明之外, 版权均属于乐视云计算有限公司所有, 乐视云计算可在不作任何申明的情况下对本文档内容进行修改 本文档中所使用的商标所有权属于该商标的所有者 更新说明 : *A: 增加 M: 修改 D: 删除 日期 变更原因描述 : 类型

法律说明 : 版权所有乐视云计算有限公司 本文档包含的所有内容除特别声明之外, 版权均属于乐视云计算有限公司所有, 乐视云计算可在不作任何申明的情况下对本文档内容进行修改 本文档中所使用的商标所有权属于该商标的所有者 更新说明 : *A: 增加 M: 修改 D: 删除 日期 变更原因描述 : 类型 乐视云计算视频播放器 SDK4.0 开发指南 (PC 端 +H5 端 ) 涵盖点播 + 直播功能 乐视云计算有限公司 2015 年 11 月 28 日北京 1 法律说明 : 版权所有乐视云计算有限公司 本文档包含的所有内容除特别声明之外, 版权均属于乐视云计算有限公司所有, 乐视云计算可在不作任何申明的情况下对本文档内容进行修改 本文档中所使用的商标所有权属于该商标的所有者 更新说明 : *A: 增加

More information

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID 58 2016. 14 * LireSolr LireSolr CEDD Ajax CSpace LireSolr CEDD Abstract In order to offer better image support services it is necessary to extend the image retrieval function of our institutional repository.

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

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

可 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

百度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

ChinaBI企业会员服务- BI企业

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

More information

拦截器(Interceptor)的学习

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

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

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

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

1. 2. Flex Adobe 3.

1. 2. Flex Adobe 3. 1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA

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

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

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

More information

技 术 文 件

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

More information

Microsoft Word - A201103-528_1299547322.doc

Microsoft Word - A201103-528_1299547322.doc 5 10 15 20 25 30 基 于 Android 平 台 的 人 机 交 互 的 研 究 与 实 现 郁 亚 男 ( 北 京 邮 电 大 学 软 件 学 院, 北 京 100876) 摘 要 : 随 着 计 算 的 发 展, 计 算 变 得 越 来 越 自 由, 在 资 源 使 用 方 面 也 越 来 越 灵 活 移 动 终 端 由 于 无 线 通 信 网 络 传 输 速 率 的 提 高,

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

第一章 章标题-F2 上空24,下空24

第一章 章标题-F2 上空24,下空24 Web 9 XML.NET Web Web Service Web Service Web Service Web Service Web Service ASP.NET Session Application SOAP Web Service 9.1 Web Web.NET Web Service Web SOAP Simple Object Access Protocol 9.1.1 Web Web

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

// 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 - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

Microsoft Word - BaiduMobAds_MSSP_bd_SDK_android.doc

Microsoft Word - BaiduMobAds_MSSP_bd_SDK_android.doc 百度 Mobile SSP 移动应用推广 SDK 百度 Mobile SSP 移动应用推广 SDK 用户手册 (Android 版 ) 百度在线网络技术 ( 北京 ) 有限公司 ( 版权所有, 翻版必究 ) 1 百度 Mobile SSP 移动应用推广 SDK 目录 一 简介... 4 二 运行环境... 4 三 代码混淆... 4 四 SDK 包导入及权限配置... 4 1. 申请应用的 APPSID...

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

FY.DOC

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

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

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

More information

状 态, 规 划 车 辆 行 驶 路 径, 可 进 入 网 站 充 电 服 务 栏 目 (2) 查 询 位 置 联 系 方 式 营 业 时 间 等 信 息, 可 进 入 网 站 服 务 指 南 栏 目 建 议 您 出 行 前 通 过 易 充 电 互 动 网 站 提 前 了 解 所 经 高 速 快 充

状 态, 规 划 车 辆 行 驶 路 径, 可 进 入 网 站 充 电 服 务 栏 目 (2) 查 询 位 置 联 系 方 式 营 业 时 间 等 信 息, 可 进 入 网 站 服 务 指 南 栏 目 建 议 您 出 行 前 通 过 易 充 电 互 动 网 站 提 前 了 解 所 经 高 速 快 充 国 家 电 网 高 速 公 路 快 充 网 络 服 务 指 南 (2016 版 ) 一 高 速 公 路 快 充 服 务 覆 盖 区 域 ( 一 ) 充 电 站 分 布 目 前 已 开 通 : 京 沪 高 速 ( 北 京 - 上 海 ) 京 台 高 速 ( 山 东 济 南 到 福 建 福 州 段 ) 京 港 澳 高 速 ( 北 京 到 湖 南 衡 阳 段 ) 沈 海 高 速 ( 山 东 烟 台 到 福

More information

使用Cassandra和Spark 2.0实现Rest API服务

使用Cassandra和Spark 2.0实现Rest API服务 使用 Cassandra 和 Spark 2.0 实现 Rest API 服务 在这篇文章中, 我将介绍如何在 Spark 中使用 Akkahttp 并结合 Cassandra 实现 REST 服务, 在这个系统中 Cassandra 用于数据的存储 我们已经见识到 Spark 的威力, 如果和 Cassandra 正确地结合可以实现更强大的系统 我们先创建一个 build.sbt 文件, 内容如下

More information

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 : EditText 实现城市搜索 1801210778 邹宇航 摘要 : 使用 EditText 实现搜索城市的功能, 以此为依据更新 ListView 1. 效果图 : 2. 主要步骤 (1) 在 select-city.xml 布局文件中中添加 EditText 控件用作搜索框, 然后添加 ListView 控件用来显示城市名字内容 代码如下 : 预览图 : (2) 在 SelectCity.java

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

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

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

Android Fragment

Android Fragment Android Fragment 建國科技大學資管系饒瑞佶 2017/10 V1 Android 3.0 後才支援 Fragment 解決部分 App 適應螢幕大小的問題 它類似於 Activity, 可以像 Activity 可以擁有自己的版面設計, 也和 Activity 一樣有自己的生命週期 ( 具備 oncreate() oncreateview() 與 onpause() 方法 ) LifeCycle

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

Microsoft Word zw

Microsoft Word zw 第 1 章 Android 概述 学习目标 : Android Android Android Studio Android Android APK 1.1 1. 智能手机的定义 Smartphone 2. 智能手机的发展 1973 4 3 PC IBM 1994 IBM Simon PDA PDA Zaurus OS 1996 Nokia 9000 Communicator Nokia 9000

More information

Android + NFC

Android + NFC Android + NFC 建國科技大學資管系饒瑞佶 2017/3 v1 讀取 Tag UUID Android 2.3.3 (API Level 10) 才有支援完整的 NFC 功能 只要 NFC 相容都讀的到 (NFC 或 Mifare) 建立新專案修改 AndroidManifest.xml 加入 , 如果有 NFC Tag 進入感測範圍, 本 App 也會變成可處理的

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

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

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat 本章学习目标 小风 Java 实战系列教程 AOP 思想概述 AOP 底层技术实现 AOP 术语介绍 SpringAOP 的 XML 方式 HelloWorld SpringAOP 的 XML 方式配置细节 SpringAOP 的注解方式 SpringAOP 的零配置方式 1. AOP 思想概述 1.1. AOP 思想简介 1.2. AOP 的作用 2. AOP 底层技术实现 小风 Java 实战系列教程

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

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

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

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

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

通过Hive将数据写入到ElasticSearch

通过Hive将数据写入到ElasticSearch 我在 使用 Hive 读取 ElasticSearch 中的数据 文章中介绍了如何使用 Hive 读取 ElasticSearch 中的数据, 本文将接着上文继续介绍如何使用 Hive 将数据写入到 ElasticSearch 中 在使用前同样需要加入 elasticsearch-hadoop-2.3.4.jar 依赖, 具体请参见前文介绍 我们先在 Hive 里面建个名为 iteblog 的表,

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

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

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

任務二 : 產生 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

版本修订记录 版本修订记录 日期版本号修订人修改内容 kangrong 初稿 kangrong 更新接口 kangrong 修订

版本修订记录 版本修订记录 日期版本号修订人修改内容 kangrong 初稿 kangrong 更新接口 kangrong 修订 TVS Device SDK Android 版本接入说明 拟制 : kangrong 日期 : 2017 年 8 月 审核 : 日期 : 深圳腾讯计算机系统有限公司 版权所有不得复制 版本修订记录 版本修订记录 日期版本号修订人修改内容 2017-8-20 kangrong 初稿 2017-9-21 kangrong 更新接口 2017-10-8 kangrong 修订 目录 TVS Device

More information

暴风云视点播解决方案

暴风云视点播解决方案 暴 风 云 视 频 点 播 解 决 方 案 目 录 1. 简 介...2 1.1. 点 播 的 定 义...2 1.2. 点 播 的 基 本 功 能 描 述... 2 1.2.1. 基 本 功 能...2 1.2.2. 功 能 示 意 图...3 1.2.3. 工 作 流 程 演 示 图... 4 1.2.4. 特 性 和 指 标 描 述... 4 2. 应 用 场 景...5 2.1. 适 合 的

More information

清华大学2013年毕业生就业质量报告

清华大学2013年毕业生就业质量报告 清 华 大 学 2013 年 毕 业 生 就 业 质 量 报 告 清 华 大 学 就 业 指 导 中 心 2014 年 2 月 2013 年, 清 华 大 学 认 真 贯 彻 落 实 中 央 及 教 育 部 北 京 市 关 于 大 学 生 就 业 的 各 项 政 策, 并 充 分 结 合 学 校 定 位 和 学 生 发 展, 以 充 分 就 业 为 基 础, 以 提 升 质 量 为 重 点, 以 就

More information