基于安卓android的多功能视频播放器的系统设计与实现毕业论文内容摘要:
varchar 255 Y 文件书签 videoArtist varchar 255 Y 艺术家信息 videoSize varchar 255 Y 文件大小 历史播放文件表 历史播放文件表记录了播放器中播放过的文件信息,这里包括文件名,文件绝对路径两个选项,方便用户读取历史播放记录信息,以及在此播放等功能。 其表详情见表。 表 历史播放文件列表 名称 类型 长度 十进制 允许空。 备注 _id integer 11 0 N 主键 videoName varchar 255 0 N 视频文件名 videoPath varchar 255 N 文件的绝对路径 收藏文件表 收藏 文件表记录了手机内部存储的视频文件,这样方便用户读取收藏文件列表的视频文件进行播放,其表详情见表。 名称 类型 长度 十进制 允许空。 备注 _id integer 11 0 N 主键 videoName varchar 255 0 N 视频文件名 videoPath varchar 255 N 文件的绝对路径 表 收藏文件列表 14 4 基于 Android 的多功能视频播放的系统实现 数据库管理 Android 在运行时( runtime)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库。 对于熟悉 SQL 的开发人员来时,在 Android 开发中使用 SQLite 相当简单。 但是,由于 JDBC 会消耗太多的系统资源,所以 JDBC 对于手机这种内存受限设备来说并不合适。 因此, Android 提供了一些新的 API 来使用 SQLite 数据库, Android 开发中,程序员需要学使用这些 API。 Android 不自动提供数据库。 在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。 Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。 SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。 SQLiteOpenHelper 的子类,至少需要实现三个方法:构造函数,调用父类 SQLiteOpenHelper 的构造函数。 这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模 型版本的整数。 onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。 onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。 在 中,继承了 SQLiteOpenHelper 类,定义了需要建立的表,在 onCreate()方法中进行了创建,在 onUpgrage()需要先来判断表的存在性,这样避免出现表的二义性。 SQLiteOpenHelper 构造, onUpgrage(),onCreate()的具体实现如下: public DatabaseHelper(Context context) { super(context, DB_NAME, null, VERSION)。 // TODO Autogenerated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Autogenerated method stub (DB_CREATE)。 15 (DB_CREATE1)。 (DB_CREATE2)。 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Autogenerated method stub (drop table if exists + TABLE_NAME)。 (drop table if exists + TABLE_NAME1)。 (drop table if exists + TABLE_NAME2)。 onCreate(db)。 } 在 文件中,对 SQLite 中的数据查询,删除,添加等操作进行了实际操作的封装。 其中需要注意的是,鉴于数据库的操作安全,需要在每次对数据库操作完成之后,执行 close()操作,用于实时同步数据库数据。 其中主要针对,实际建立的 3 个表进行的查询,插入,清楚表操作的封装。 重要代码如下: public void insertLocal(int type,Video_Info vinfo){ (TAG, insert ())。 dBase = ()。 (TAG, insert1 ())。 switch(type){ case localList: (TAG, insert localList ())。 (insert into locallist (videoName,videoPath,videoDuration,videoDescription,videoBookMark,videoArtist,videoSize) + values(?,?,?,?,?,?,?),new Object[]{, ,deoSize})。 break。 } ()。 } public void cleartable(int type){ (TAG, cleartable ())。 dBase = ()。 switch(type){ case localList: (locallist, 1,null)。 (TAG, clear locallist is ok)。 break。 ..... 16 } ()。 } UI 界面的实现 主界面 UI 如图 所示 : 图 主界面 UI 运用到 Android 的滑动效果。 比如菜单栏是滑动而入。 有流动感 ; PlayList的数据要求有记忆功能。 运用到 SQLite; 随着 PlayList 的视窗的可见性,调节播放窗体,以及播放进度条的长度。 智能搜索模块的实现 智能搜索模块主要是用于通过在手机里面通过列表框列出所有的视频文件看,然后,通过文件名的搜索框对指定的文件进行简单的快速定位。 其主要界面结构图如图 所示。 FileOpen PlayList About Favourite PlayList Window of play Video Is Visible when has the mand of search in Inter! WebBrowser 17 图 智能搜索界面框架图 下面为应用程序实例中存在的实际智能搜索模块的界面设计。 智能搜索框实例如图 所示。 图 智能搜索框实例 智能搜索框中对视频文件响应界面实例如图 所示。 Search(智能查找) Listview(获取当前 sdcard 中所有视频文件,显示名称,以及修改时间等信息。 当 listview 中的选项被选中,底部显示多媒体文件详细路径 Play Remove 当单击 listview 中的选项的操作。 More Back 18 图 智能搜索模块当 文件被点击后的界面实例 获取视频文件详细信息实例如图 所示: 图 选择界面中点击 More Info 之后县市的有关文件详细信息实例 在智能搜索框的设计中,主要涉及到的是如何遍历 sdcard 中的视频文件,如何实现智能框的智能化搜索。 再就是控制智能搜索结构与其他控制相关的操作。 在遍历 sdcard中的视频文件的方法是调用 android系统中自带的检测视频文件的功能,然后对其结果进行过滤记录,载入数据库中。 其精简代码如下: cursor = managedQuery(, null, null, null, null)。 19 if (()) { do { = (cursor .getColumnIndex())。 = (cursor .getColumnIndexOrThrow())。 = (cursor .getColumnIndexOrThrow())。 ()。 ........( 省略 ) (TAG, before sql insert)。 (1, myVideoInfo)。 (TAG, after sql insert)。 } while (())。 这里通过 android 的游标特性 , 进行 CONTENT_URI 的查询 , 就是在 sdcard 存储卡中对多媒体进行通过 URI 的扫描。 而对于实现智能搜索框的智能搜索功能的实现如下: ArrayAdapterString searchAdapter = new ArrayAdapterString(this, , searchTextName)。 (searchAdapter)。 (1)。 class searchListOnItemSelectedListener implements OnItemSelectedListener{ 首先建立一个适配器 Adapter,适配类型为前面搜索出来的所有 sdcard 中视频文件,然后将其绑定到 Android 的一个 AutoCompleteTextView 类型的搜索文本。 之后对其控件进行一个状态监听,这里包括选中监听,以及单击监听。 public void onItemSelected(AdapterView? arg0, View arg1, int arg2, long arg3) { // TODO Autogenerated method stub (TAG, onItemSelected()..)。 20 int location = ()。 long id = ()。 if( (location == arg2) amp。 amp。 (id == arg3)){ ()。 Media_Search_Items selectedItem = (location)。 (文件路径: +())。 (())。 } } public void onNothingSelected(AdapterView? arg0) { // TODO Autogenerated method stub (TAG, onNothingSelected()..)。 ()。 } } 以上为单击响应的监听。 单击之后出来的界面也就是上面的表 所示。 这里显示了新的模态对话框,以及在其背后会显示出来的是选中状态的信息。 class searchListOnItemSelectedListener implements OnItemSelectedListener{ public void onItemSelected(AdapterView? arg0, View arg1, int arg2, long arg3) { // TODO Autogenerated method stub (TAG, onItemSelected()..)。 int location = ()。 long id = ()。 if( (location == arg2) amp。 amp。 (id == arg3)){ ()。 Media_Search_Items selectedItem = (location)。 (文件路径 +())。 (())。 } } public void onNothingSelected(AdapterView? arg0) { // TODO Autogenerated。基于安卓android的多功能视频播放器的系统设计与实现毕业论文
相关推荐
采用加入保护间隔( guard interval)的方法来最大限度的减小符号间干扰,最常用的一种保护间隔就是循环前缀( cyclic prefix),即将经过 IFFT 调制后的信号的最后一部分复制到本符号的前面,当循环前缀的长度大于最长的多径时延长度时 ,系统就可以完全消除符号间的干扰。 图 2 OFDM 系统加入保护间隔后的发射机框图 图 2 为 OFDM 系统中加入保护间隔之后的发射机框图
知识学习比较困难,所以采用类比和直观教学,将直观教学法充分贯穿在本节课的教学设计当中。 写好教案做 好课件后请老师提出修改意见 ...... 本文来自公务员之家,查看正文请使用公务员之家站内搜索查看正文。 第三篇 :师范专业中学教育实习总结 作为师范生地我怀着希望与期盼的心情来到腾冲县第一中学,开始了我的教育实习工作,转眼就到了月 30 日,我的实习生活也划上了圆满的记号
lass libraries),以 C++类的形式封装了 Windows 的 API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。 其中包含的类包含大量 Windows 句柄封装类和很多 Windows 的内建控件和组件的封装类。 的确 , MFC 给我们提供了很便捷的编程方式,我们几乎可以不需要写任何代码就能生成一个带有菜单,工具栏和视图的窗口, MFC也提供了丰富的控件类
............................ 45 第七章 系统测试 ........................................................................................................................................................ 46
ogy)集合论方法发展起 来的图像处理方法。 数学形态学是图像处理和模式识别领域的新方法,其基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到对图像分析和识别的作用。 ( 2)形态学基本运算 通常,形态学图像处理表现为一种邻域运算形式。 有一种特殊定义的邻域称为“结构元素”( Structure Element) ,在每个像素位置上它与二值图像对应的区域进行特定的逻辑运算
) b1E1( K1) ( 6) 式中 a1 = e – T/TB; a2 = KB1 )1( BTTe ; b1 = b0 WTTe ; b0 = K )1/()1( WB TTTT ee ; K是差分方程阶次。 从实验中用阶跃响应曲线测得系数的 KW、 Z及 TW后,就可分别求出 a1, a2,b0, b1,四个参数。 电机 和水泵系统传递函数的建立 电机动态过程描述