【Android论文栏目提醒】:网学会员为需要Android论文的朋友们搜集整理了Android手机平台优酷客户端的设计 - 期刊论文相关资料,希望对各位网友有所帮助!
第 31 卷第 4 期 煤 炭 技 术 Vol.31No.04 2012 年4 期 Coal Technology April2012
Android 手机平台优酷客户端的设计 曾新锋,徐飞龙 ( ) 江西蓝天学院,南昌 330098 摘 要:基于时下非常流行的
Android 移动设备系统开发, 客户端与优酷服务器连接来获取视频信息,之后调用系 统播放器进行播放,完成网络视频与
Android 系统的整合。
用户在自己的
Android 系统中打开手机优酷客户端,呈 现在其面前的各种内容与网页浏览器中看到的内容是实时对应的。
关键词:优酷;
Android;视频 中图分类号:TP393 文献标识码:A 文章编号:1008-8725 ) (2012 04-0230-03 Design of
Android Mobile Phone Platform Youku Client ZENG Xin-feng XU Fei-long (Jiangxi Blue Sky University Nanchang 330098 China) Abstract:Based on a very popular
android mobile equipment this paper develops a system. It gains video information through client and server s connection and then plays video by the system player. It completes integration of network video and the
android system. Users can open a handset Youku client in theirs own
Android system. It presents each kind of content in front of users which corresponds with the content from Web browsing. Key words:Youku
Android video0 引言
Android 平台的飞速发展、互联网在未来生活的不可或缺以及多媒体资讯的被接受能力促成这个手机客户的生成。
Android 系统的推出给智能手机的发展带来了新的飞跃,各大厂商借鉴该系统的开源性 使设计自己的产品,
Android 手机、 平板电脑、 嵌入式系统逐渐步入人们的生活。
作为中国最大的视频 图 1 协议条款流程图网站, 优酷的影响力渗透到了大多数网民当中。
文中 退按钮时弹出对话框提示用户是否退出优酷。
对话将当前最大的视频网站集成到
Android 系统中, 完 框需要有 2 个按钮确定及取消, 单击确定退出优酷,成了最大视频网站与最流行移动设备系统的整合。
点击取消停留在当前页面。
关键代码及注释如下:1 关键技术和关键模块 / 获取视频信息 /1.1 协议条款 con new ArrayList 首次使用该客户端,用户需阅读协议条款, 同意 if con.size 0 之后方可继续使用软件。
如果用户选择退出, 则退出 con.clear客户端程序, 下次登录时仍然显示该选项, 直到用户 同意协议条款。
用户同意之后,再次在该手机上使用 try 该软件时, 不再弹出协议条款页面。
其流程图如图 1 initContents所示。
catch XmlPullParserException e 1.2 今日推荐 e.printStackTrace 显示 10 个播放推荐视频列表,整个列表可以滚 catch IOException e 动,用户点击后进入视频详情。
e.printStackTrace 菜单选项:包含分类视频,我的优酷,视频搜索, 帮助 4 个菜单。
if con.size 0 后退按钮:监听后退事件。
用户在此页面点击后 Log.icon value: con is empty收稿日期:2011-09-20修订日期:2012-03-07作者简介:曾新锋 ) 男, 讲师, (1977- , 江西宁都人, 研究方向:计算机应用。
硕士, 第4期 等: 曾新锋,
Android 手机平台优酷客户端的设计 231 new AlertDialog.Builderthis .setTitlegetStringR.string.remind .setMessagegetStringR.string.message .setPositiveButtongetStringR.string.exit new public static Bitmap getImage String str throws DialogInterface.OnClickListener IOException Override HttpURLConnection connection null public void onClick DialogInterface dialog URL url new URLstrint which connection HttpURLConnection url. finish openConnection Bitmap bm BitmapFactory.decodeStream .show connection.getInputStream else return bm setContentViewR.layout.videolistview adapter new VideoListAdaptercon this 1.3 我的优酷 getListView.setAdapteradapter 我的优酷包含本机收藏和播放历史两类,该记 handlernew VideoListHandleradapter con 录存在于本地。
其流程图如图 2 所示。
new Thread public void run InitImage.initImagecon Message msg new Message msg.what 0 handler.sendMessagemsg .start 图2 我的优酷模块流程图//目标选中事件处理 本机收藏记录了用户关注的视频,用户点击某 contents con.getposition 条收藏记录后进入视频详情。
播放历史记录了用户 Intent intent new Intent 的播放记录, 用户点击某条播放记录后进入视频详情。
Bundle bundle new Bundle 用户长按某一条播放记录或者收藏记录,弹出 bundle.putStringurl contents.imageURL 选项菜单,提示用户删除本条记录或者删除所有记 bundle.putStringvid contents.vid 录。
选择删除本条记录后本条记录被删除, 记录列表 intent.putExtrasbundle 刷新。
选择删除所有记录后所有记录被删除同时弹 System.out.printlncontents.vid:contents.vid 出对话框当前没有相关记录,用户点击确认后退出 intent.setClassRecommendActivity.this AboutAc- 当前页面。
关键代码及注释如下:tivity.class //数据库创建或更新数据 startActivityintent public void onCreateSQLiteDatabase db super.onListItemClickl v position id String sql1 CREATE TABLE IF NOT EXISTS //图片异步加载 getFAVORITE public static void initImageList con getVID varchar primary key get- TITLE text for Contents mContents:con getDURATION varchar if mContents.img null getIMGURL text try String sql2 CREATE TABLE IF NOT mContents.img getImagemContents.imageURL EXISTS getHISTORY getVID catch Exception e varchar getTITLE text // TODO: handle exception getDURATION varchar 232 煤 炭 技 术 第 31 卷getIMGURL text ContextMenuInfo menuInfo db.execSQLsql1 menu.setHeaderTitle删除选项 db.execSQLsql2 menu.add0 0 0 删除本条收藏 menu.add0 1 0 删除所有收藏 Override public void onUpgrade SQLiteDatabase db int old- Version int newVersion db.execSQL 1.4 视频详情DROP TABLE IF EXISTS getFAVORITE 其视频流程图如图 3 所示。
用户点击收藏按钮 db.execSQL DROP TABLE IF EXISTS 后向本地添加一条收藏记录,然后弹出消息提示用 getHISTORY 户收藏成功,如果收藏夹中已经存在该条视频收藏 onCreatedb 记录则提示用户已经收藏过该视频。
//数据库读取con new ArrayList myHelpter new DatabaseHelperthis db myHelpter.getReadableDatabase String sql select from favorite cs db.rawQuerysql null if cs.moveToFirst do contents new Contents contents.vid cs.getString0 contents.title cs.getString1 contents.duration cs.getString2 图3 视频详情模块流程图 contents.imageURLcs.getString3 用户点击分享按钮后, 调用系统短信发送界面, con.addcontents 同时已经撰写好了短信内容,短信内容中包含了视 contents null 频链接信息,如果接收用户手机支持无线上网则可 while cs.moveToNext 以直接点击视频链接进行播放。
用户点击顶踩按钮后提示顶踩成功,由于服务//长按选择收藏或者播放记录事件处理 器端 API 关系,这两个按钮暂时无法实现。
this.getListView .setOnItemLongClickListener new 2 结语OnItemLongClickListener 文中除了手机平台优酷客户端基本功能设计Override 外,为了完善用户体验,应用程序还提供了 Widgetpublic boolean onItemLongClick AdapterView 小组件,更换了各个界面默认的标题栏,提供给用户arg0 各种操作提示,使该客户端的使用变得更加方便、简 View arg1 int arg2 long arg3 单。
selected arg2 //获得当前选中 ID 参考文献: 1 王世江余志龙.Google
Android SDK 范例大全M.北京:人民邮 return false 电出版社2009. 2 靳岩姚尚朗.Google
Android 开发入门与实践M.北京:人民邮 电出版社2009. getListView .setOnCreateContextMenuLis- 3 Donn Felker Joshua Dobbs.
Android Application Developmenttenernew OnCreateContextMenuListener For DummiesM. Indiana: Wiley Publishing Inc 2011. 4 Mark L.Murphy. Begin the journey toward your own successful/ 创建长按列表后产生的菜单选项 /
android 2 applicationsM. United States: Paul Manning 2010.Override 5 Jeff JavaJeff Friesen. Learn Java for
Android DevelopmentM.public void onCreateContextMenu ContextMenu United States: Paul Manning 2010.menu View v (责任编辑 张欣)