android实验报告模板
- 格式:doc
- 大小:823.50 KB
- 文档页数:7
<<Web开发技术>>大作业设计题目:Web开发技术实验学院:专业:班级:1班2班姓名:学号:2姓名:学号:2姓名:学号:2姓名:学号:22015年月日山东科技大学实验一页面跳转一、实验目的通过使用Java语言,在Android环境下实现页面跳转,加深对Android开发的理解。
二、实验环境:Windows8.1 64位系统+ Android Developer Tools三、实验步骤:1.新建项目工程android,框线部分为整个项目要完成的代码和配置部分:2.拖拽button和textfield到activity_index.xml画布上,位置如图:3.编写代码Index.java划线部分的代码:4.Scancode.java接收片段代码,拖拽一个text field接收:5.查看修改android Manifest.xml文件,如下图:四、实验结果实验二URI跳转一、实验目的实现URI跳转即百度链接跳转,加深对Android开发的理解,为后面的学习奠定基础。
二、实验环境:Windows8.1 64位系统+ Android Developer Tools三、实验步骤:1.新建activity: Summary.java:2.添加页面及代码:四、实验结果1.完成页面如图:2.跳转至百度页面所示如图:实验三TextView超链接一、实验目的添加TextView超链接,加深对Android开发所使用控件的理解,全面掌握Android开发所使用的各种控件。
二、实验环境:Windows8.1 64位系统+ Android Developer Tools三、实验步骤:1.打开Form Widgets,将TextView拖到画布上:四、实验结果所添加的TextView超链接如图所示:实验四TextView改变样式一、实验目的改变TextView样式,对控件进行更进一步的修改,全面掌握Android开发过程中的页面布局。
Android课程实验报告实验题目:实现一个简单的Android计算器应用实验目的:通过实现一个简单的Android计算器应用,掌握Android 应用的开发流程和常用控件的使用方法。
一、实验要求1. 实现一个包含加减乘除四则运算功能的Android计算器应用。
2.应用界面至少包含一个显示结果的文本框和15个按钮(包括数字按钮0-9、小数点按钮“.”、加减乘除按钮和等号按钮“=”)。
3. 按钮点击事件的处理采用Lambda表达式实现。
二、实验过程1. 创建一个新的Android项目,并在activity_main.xml文件中添加一个显示结果的文本框(TextView)和15个按钮(Button)。
2. 在MainActivity.java文件中,通过findViewById(方法获取文本框和按钮的实例。
3. 使用Lambda表达式为按钮注册点击事件的处理程序,在处理程序中根据按钮的ID执行相应的操作。
4. 使用StringBuilder类来拼接用户输入的数字和运算符,并将结果显示在文本框中。
三、实验代码1. activity_main.xml```xmlandroid:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"><TextViewandroid:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="10dp" android:textSize="20sp"android:textStyle="bold"android:textAlignment="center" /><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content" android:layout_weight="1"android:text="0" /><!--其他按钮的布局与此类似,省略--> <Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="." /><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="=" /></RelativeLayout>```2. MainActivity.java```javaprivate TextView resultTextView;private StringBuilder expression;protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(yout.activity_main); resultTextView = findViewById(R.id.resultTextView);Button btn0 = findViewById(R.id.btn0);Button btn1 = findViewById(R.id.btn1);//其他按钮的初始化与此类似,省略Button btnDot = findViewById(R.id.btnDot);Button btnEq = findViewById(R.id.btnEq);expression = new StringBuilder(;btn0.setOnClickListener(v -> expression.append("0"));btn1.setOnClickListener(v -> expression.append("1"));//其他按钮的点击事件注册与此类似,省略btnDot.setOnClickListener(v -> expression.append(".")); btnEq.setOnClickListener(v ->double result = evaluateExpression(expression.toString(); resultTextView.setText(String.valueOf(result));});}private double evaluateExpression(String exp)//解析并计算表达式的值//省略}```四、实验结果和分析通过运行实验代码,可以在模拟器或真机上打开一个包含加减乘除四则运算功能的Android计算器应用。
安卓开发实验报告专业:地理信息系统姓名:***学号:************Android编程报告一、安卓系统简介Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。
它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。
底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。
2010年末数据显示,仅正式推出两年的操作系统Android已经超越称霸十年的诺基亚(Nokia)Symbian OS系统,采用Android系统主要手机厂商包括宏达电子(HTC)、三星(SAMSUNG)、摩托罗拉(MOTOROLA)、LG、Sony Ericsson等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。
以Google、苹果和路基亚为中心各自形成的生态链将以原来数倍的速度推动移动互联网的发展,这正式Google发布Android平台的意义,也是Andorid 平台存在的使命所在。
而作为Android平台成员之一的中国移动也投资成立了一家通讯公司,专门从事Google手机软件的应用以及本地化的软件的开发,比如将在Google手机平台上添加飞信、输入法等一系列符合国内用户使用特色的功能。
国内众多企业也将眼光投入到Andorid上面,并启动了相关的计划来深入的理解并发展Android。
更多的手机软件开发企业已经或者筹备着将公司进行转型,从其方向的开发转向到Android的开发。
二、初识安卓程序Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。
第1篇一、实验目的1. 熟悉安卓开发环境及工具的使用。
2. 掌握安卓应用程序的基本开发流程。
3. 学习安卓界面设计、布局、事件处理等基本技能。
4. 提高编程能力及团队协作能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Android Studio3.53. 编程语言:Java4. 虚拟机:Android 9.0 (Pie)三、实验内容1. 创建安卓项目2. 设计界面3. 编写功能代码4. 测试与调试四、实验步骤1. 创建安卓项目(1)打开Android Studio,点击“Start a new Android Studio project”;(2)选择“Empty Activity”模板,点击“Next”;(3)输入项目名称、保存位置等信息,点击“Finish”;(4)在项目目录中,找到MainActivity.java文件,修改其中的代码,以实现特定功能。
2. 设计界面(1)打开res/layout/activity_main.xml文件;(2)使用布局编辑器设计界面,添加控件(如Button、EditText等);(3)设置控件的属性(如文本、颜色、大小等)。
3. 编写功能代码(1)在MainActivity.java文件中,编写代码实现功能;(2)例如,编写按钮点击事件,实现数据计算、页面跳转等操作。
4. 测试与调试(1)在Android Studio中,点击“Run”按钮,启动模拟器或连接真机进行测试;(2)观察程序运行效果,如有问题,进行调试;(3)根据需要,修改代码,直至程序正常运行。
五、实验结果与分析1. 实验结果本次实验成功创建了一个安卓应用程序,实现了简单的功能,如按钮点击事件、页面跳转等。
2. 实验分析(1)在创建安卓项目时,熟悉了Android Studio的使用,掌握了项目结构及文件管理方法;(2)在设计界面时,学会了使用布局编辑器,掌握了常用控件的属性设置;(3)在编写功能代码时,学习了Java编程语言的基本语法,掌握了事件处理及页面跳转等操作;(4)在测试与调试过程中,提高了问题定位及解决能力。
引言:本文是关于安卓实验的报告书,主要对实验过程、实验结果和实验总结进行详细阐述。
本次实验的目的是学习和实践安卓开发的基础知识和技能,通过实验掌握安卓应用的开发流程以及常用控件和功能的实现方法。
概述:正文内容:1.控件的使用1.1Button按钮的使用1.2EditText文本输入框的使用1.3TextView文本显示控件的使用1.4ImageView图片显示控件的使用1.5CheckBox复选框的使用1.6RadioButton单选按钮的使用1.7Spinner下拉列表的使用1.8ListView列表控件的使用1.9ProgressBar进度条控件的使用2.布局的设计2.1LinearLayout线性布局的使用2.2RelativeLayout相对布局的使用2.3FrameLayout帧布局的使用2.4TableLayout表格布局的使用2.5ConstrntLayout约束布局的使用2.6ScrollView滚动布局的使用2.7GridLayout网格布局的使用2.8DrawerLayout抽屉布局的使用2.9CoordinatorLayout协调布局的使用3.数据存储与读取3.1SharedPreferences轻量级数据存储的使用3.2文件存储与读取的方法3.3SQLite数据库的使用3.4ContentProvider内容提供者的使用3.5数据库升级与版本管理4.网络通信4.4Retrofit的使用4.5JSON数据的解析与封装4.6网络请求的异步处理4.7WebSocket的实现方法4.8WebView的使用5.应用调试与测试5.1Logcat日志调试工具的使用5.2AndroidProfiler性能分析工具的使用5.3Monkey测试工具的使用5.4JUnit测试框架的使用5.5Espresso自动化测试的使用5.6MonkeyRunner自动化测试的使用5.7UIAutomator自动化测试的使用5.8Appium跨平台测试框架的使用5.9FirebaseTestLab云端测试的使用总结:通过本次实验,我对安卓开发的基础知识和技能有了更深入的了解。
安卓开发实验报告安卓开发实验报告目录页面跳转二、长按图标抖动以及显示删除一、页面跳转功能:通过点击button实现2个activity之间的跳转。
1・设置监听器监听点击buttonclass OnClickListener implements View.OnClickLis七ener{public void onClick(View v){EditTex七name = (EditText)findViewById(R*id<name);EditText password ■ (EditTex七)FindVicwById(R・id.password);Bundle data-new Bundle。
;data・ pu七S七, name・ get:Tex七()•七oS七ring()); data・ pu七S*tri.ng(n password n, password• getText()• toString());2•使用intent传输数据In七ent inten七• new Inten七(UI_T已5t.this,UI^Result.class);intent・ pu七Ex七ras(data); startActivity(intent);完整代码l.uijest.javapublic class UI_Test extends Activity {^Overrideprotected void onCreate(Bundle savedinstanceState) { super ・onCreate(savedins tanceState); setContentView(R・layout ・incident_activity_l);Button bt = (Button) f indViewByld (R. id・;bt ・ setOnClickListener(new OnClickListener());}class OnClickListener implements View・OnClickListener{public void onClick(View v){EditText name = (EditText)findViewByld();EditText password = (EditText)findViewByld(R・id・password);Bundle data=new Bundle();data.putString("name”, name ・getText()・toString());data・putString("password”, password・getText()・ toString());Intent intent = new Intent (UI_Test ・this .UT_Resul.t .class);intent.putExtras(data);startActivity(intent);}2.ui_result.javapublic class UI_Result extends Activity {^Overrideprotected void onCreate(Bundle savedinstanceState) { super・onCreate(savedins tanceState);setContentView (R・ layout ・•incdden;Textview name = (Textview)findViewByld(Sbow);Textview password = (Textview)findViewByld(R・id・passwordshow);Intent intent=getlntent();Bundle result = intent・getExtras();name ・ setText 您的用户名为:M+result ・ gets tring (''name11)); password.setText ("您的密码为:H+result. gets tring (H password H));3.activity_l.xml<?xml version= H1・0" encoding= "utf-8 r,?><TableLayout xmlns:android= n http://schemas・ android・com/apk/res/android"android:layout_width="Will arent" android: layout__height= "fill arent11 ><TextViewandroid: 1 ay ou t_wid th=19fill_jp ar ent"android:layout_height=u wrap_content nandroid: text=11请输入您的信息nandroid:textSize=n20sp H/><TableRowandroid:id= H@^id/tableRowl"android: 1 ay ou t_wid th= "fill aren t11android:1ayout_height= u wrap_content u><TextViewandroid: 1 ay ou t_wid th= n fill_jparen t11android: layout_height= H wrap_con ten t11android: 用户名“android: textSize= "16sp,f/><EditTextandroid:id= ”@+id/name"android: 1 ay ou t_wid th= "fill aren t11android: layout_height= "wrap^con ten t11android: hint= n请填写登录用户名”android:selectA110nFocus="true"><requestFocus /></EditText></TableRow><TableRowandroid: id= H@-kid/tableRow2 ”android:1ayout_width= u fill_jp ar ent"android:1ayout_height= u wrap_content n><TextViewandroid: 1 ayout_width= "fill_jparent uandroid:layout_height=H wrap_content"android: text= ”锻絢A密码"android:textSize="16sp "/><EditTextandroid: id= ''Q+id/password"android:1ayout_width= u fill_jparent uandroid: layout_height= tf wrap_content"android:password="true"android:selectA110nFocus= n true"><requestFocus /></EditText></TableRow><TableRowandroid: id= H@-kid/tableRow3 nandroid: 1 ay ou t_wid th= "fill aren t11android: layout_height= u wrap_con ten t,f><Buttonandroid:id= H@^id/login"android:layout_width= u wrap_content nandroid:layout_height="wrap^content"android: text=「丑录”android: textSi ze= n l 6sp11/></TableRow></TableLayout>4.activity_2.xml<?xml version=H1・0" encoding= n utf-8N?><LinearLayout xmlns : android= r,h ttp: //schemas ・ android・ com/apk/res/android f, android: layout_width= n ma tch^paren t11android: layout__height= u ma tch_paren t11android:orientation= ^vertical” ><TextViewandroid:id= H@^id/nameShow uandroid:1ayout_width= u fill_jparent"android:1ayout_height= u wrap_content nandroid:textSize=n18sp H/><TextViewandroid: id= n0^id/passwordShow,r android: 1 ay ou t_wid th=19fill_par ent"android: layout_height= n wrap_con ten t11 android: textSize= n18sp lf/></LinearLayout>一.长按图标抖动以及显示删除功能:将app列举在界面上,并且长按图标使图标进行抖动以及显示删除图标。
Android实验一实验报告一、实验目的本次 Android 实验的主要目的是让我们熟悉 Android 开发环境的搭建,并通过创建一个简单的 Android 应用程序,初步了解 Android 应用的基本架构和开发流程。
二、实验环境1、操作系统:Windows 102、 Android Studio:版本 4123、 JDK:版本 18三、实验内容及步骤(一)Android 开发环境搭建1、下载并安装 JDK,配置好环境变量。
2、下载 Android Studio 安装包,按照安装向导进行安装。
3、启动 Android Studio,进行一些初始设置,如选择主题、安装必要的组件等。
(二)创建 Android 项目1、打开 Android Studio,选择“Start a new Android Studio project”。
2、填写项目名称(如“MyFirstAndroidApp”)、项目位置、包名等信息。
3、选择应用的最低支持 Android 版本和目标 Android 版本。
4、选择项目模板,这里我们选择“Empty Activity”。
(三)项目结构介绍1、打开项目后,我们可以看到项目的结构。
主要包括“app”目录、“gradle”目录等。
2、“app”目录下包含了应用的代码、资源文件等。
其中,“java”目录存放 Java 代码,“res”目录存放资源文件,如布局文件(layout)、字符串资源(values)、图片资源(drawable)等。
(四)编写代码1、打开“MainActivityjava”文件,这是应用的主活动类。
2、在“onCreate”方法中,我们可以进行一些初始化操作。
(五)设计布局1、打开“activity_mainxml”文件,这是应用的主布局文件。
2、使用 XML 标记语言来设计界面布局,如添加 TextView、Button 等控件。
(六)运行应用1、连接真机或使用模拟器。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==android,ui实习报告篇一:安卓实习报告通信与电子信息专业实训报告项目名称:基于android的游戏开发班级 10通信1班姓名学号指导教师成绩实训时间:年月日—目录一、实训目的及其意义 (3)1.1、目的及意义 (3)1.2、研究现状 (3)二、实训主要任务、重点及难点 (4)2.1、任务 (4)2.2、重点内容及实现途径 (4)三、实训具体内容及完成的主要工作 (5)3.1、认识基础开发 (6)3.2、了解数据存储 (6)3.3、总体实训过程 (7)四、实际遇到的困难,解决问题的方法和措施 (8)(一)、所遇问题 (8)(二)、解决方法与措施 (9)五、心得体会 (9)一、实训目的及其意义1.1、目的及意义了解现阶段互联网发展主流,了解移动互联网,认识移动互联网的发展与展望,认识android,了解基于android的应用软件开发方法及其商业流程。
把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。
使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。
使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。
生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。
它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。
它不仅是校内教学的延续,而且是校内教学的总结。
Xxxxxx大学专业实习报告实习时间:201X.XX.X ——201X.XX.XX 学院:XXXXXXXXX XX院专业名称:计算机通信学号:XXXXXXXXXX姓名:XXXX指导老师:XXXX实习地点:XXXXXXXX 信息技术有限公司实训地点XXXXXXX信息技术有限公司是一家隶属于 XXXXXXX凍团主要从事软件开发、技术咨询与服务、IT教育投资、大学生实习实训等业务的民营科技型企业。
二、实训目的实习是把理论与实际结合通过对理论知识的理解领悟从而运用到生活实际巩固所学的知识提高对实际生活的认识积累经验。
同时生产实习也是大学生以学生身份到工作者身份的一个重要过度阶段。
在此期间学生能够初次体会到实际生产中的种种技能与经验。
完成一项项项目能体现出独立思考能力。
An droid生产实习对目前应用现状进行了分析与比较进而研究分析了 An droid 平台的系统架构和组件模型在此基础上基于An droid平台设计和开发实现对an droid编程的理解与应用特别是在对于控件的应用产生很深的理解。
An droid平台是目前最普遍的手机应用平台 an droid实习可以让我们与时代最新最广泛的软件开发联系起来锻炼我们的学习能力并且让我们可以更加人性化清晰的为用户考虑目的:1、培养学生运用所学课程Java语言程序设计的理论知识和技能,分析解决计算机实际应用中的问题的能力。
培养学生在Java语言程序设计的基础上,开发An droid应用程序的思想和方法。
培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
通过课程设计,要求学生在指导教师的指导下,独立完成课程设计的全部内容包括:1、确定开发的程序,收集和调查有关技术资料。
2、按软件工程步骤进行程序设计。
3、对完成的程序进行测试和完善。
4、完成课程设计报告。
三、实训内容学习实训的内容主要包括如下:开发环境:了解了 an droid的起源与发展,学习安装Eclipse 插件(ADT)学习An droidSDK包含了开发An droid应用所依赖的jar文件、运行环境及相关工具An droid项目结构:src/ java 原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由 An droid开发工具自动生成的文件。
Android实训报告学院:******班级:******学号:******姓名:******目录一、实训背景及目的要求 (3)1。
1背景简介 (3)1。
2实训目的及要求 (3)二、设计思路 (3)2。
1设计题目 (3)2.2功能分析 (4)2。
3模块划分 (4)三、设计实现及代码分析 (4)3。
1第一个Activity (4)3.1.1布局文件:main.xml: (4)3。
1。
2源代码文件:MainActivity.java (7)3.2第二个Activity (9)3。
2。
1布局文件:result。
xml (9)3。
2。
2源代码文件:ResultActivity.java (10)3。
3字符串资源文件:strings。
xml (12)3。
4程序清单文件:AndroidManifest.xml (13)四、程序功能测试及截图 (14)4.1工程项目目录 (14)4。
2程序运行界面: (14)4.3未填身高提示: (15)4。
4计算示例: (15)五、课程设计(实训)总结 (16)一、实训背景及目的要求1.1背景简介Android(读音:[’ændrɔid])是一种以Linux为基础的开放源码操作系统,主要使用于便携设备,目前尚未有统一中文名称,中国大陆地区较多人使用安卓或安致。
Android操作系统最初由Andy Rubin创办[5],最初只支持手机。
2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟(Open Handset Alliance)开发改良,逐渐扩展到到平板电脑及其他领域上[6]。
2010年末数据显示,仅正式推出两年的操作系统的Android已经超越称霸十年的诺基亚Symbian系统,跃居全球最受欢迎的智慧手机平台。
采用Android系统手机厂商包括HTC、Samsung、Motorola、Lenovo、LG、Sony Ericsson等.1.2实训目的及要求Android以Linux为核心的Android行动平台,使用Java作为编程语言。
移动应用开发实验报告
实验名称音乐播放器
班级
学号
姓名
指导教师
实验成绩
2016 年04月
一、实验目的
本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。
使人们的生活更加多样化。
也使设计者更加熟练Android的技术和其它在市场上的特点。
二、实验内容及要求
在其中写清楚这个实验具体要你做什么,怎么做,要达到什么样的效果等。
本设计实现的主要功能是播放Mp3,Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,,下一首,上一首播放列等基本播放控制功能,界面简明,操作简单。
三、实验方案设计
在其中写清楚你的程序的详细设计,用流程图配文字的形式描述。
如果其中涉及到算法,一定要把算法阐述清楚。
3.1.1假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作,启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下
图2.1 播放器基本用例图
3.1.2用例分析
①用例名称:启动软件参与者:用户目标:使得用户启动软件并加载手机和sd 卡上的音频文件到播放列表前置条件:无基本事件流:1.用户启动软件
2.播放器将播放列表中的当前的歌曲
②用例名称:播放参与者:用户目标:使得用户可以播放在播放列表中选中的歌曲前置条件:播放器正在运行基本事件流:1.用户单击“播放”按钮 2.播放器将播放列表中的当前的歌曲
③用例名称:暂停参与者:用户目标:使得用户可以暂停正在播放的歌曲前置条件:歌曲正在播放且未停止和暂停基本事件流:1.用户单击“暂停”按钮
2.播放器将暂停当前的歌曲
④用例名称:停止参与者:用户目标:使得用户可以停止正在播放的歌曲前置条件:歌曲正在播放或暂停基本事件流:1.用户单击“停止”按钮
2.播放器将停止当前播放的歌曲
⑤用例名称:推出参与者:用户目标:使得用户退出或者后台播放音乐前置条件:程序在运行
基本事件流:1.用户按返回键 2.播放器退出或者进入后台播放
四、实验测试
Step1.启动软件后,软件自动检索手机和sd卡的音频文件,并组织显示成列表.
Step2.点击列表的歌曲名字。
Step3.播放音乐。
Step4.点击暂停,音乐暂停
Step5.点击播放转到step3
Step6.点击停止停止播放音乐
Step7.点击退出,若音乐处于播放状态,则音乐转向后台播放,界面退出。
Step8.点击退户,若音乐处于暂停或者停止状态,直接退出。
音乐播放器流程图
4.1MusicInfoController类这个类继承于service,是播放音乐的服务类。
播放音乐,暂停音乐,停止播放等操作都封装在这个类中。
主要的执行动作有:
4.1.1.类启动onCreate(){ mMediaPlayer = new MediaPlayer();//分配一个播放对象mMediaPlayer.setOnPreparedListener(mPrepareListener);//绑定之前
mMediaPlayer.setOnCompletionListener(mCompleteListener);//绑定之后}
4.1.2.服务绑定activity MediaPlayer.OnCompletionListener mCompleteListener = new MediaPlayer.OnCompletionListener() //实例化一个绑定监听器的匿名类{ public void onCompletion(MediaPlayer mp) //完成绑定后
{ broadcastEvent(PLAY_COMPLETED);//广播消息} };
4.2MusicInfoController类这个类主要用于获取android系统中的音频文件,并提供访问接口,它是一个单例类。
4.2.1获得播放文件列表private Cursor query(Uri uri, String[] prjs, String selections, String[] selectArgs, String order){ ContentResolver resolver = pApp.getContentResolver();//取得一个连接对象
if (resolver == null){ return null; } return resolver.query(uri, prjs, selections, selectArgs, order); } public Cursor getAllSongs(){ return
query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);//查询ContentResolver 的所有音频文件}
4.3MusicList类改类继承于ListActivity,主要用于显示歌曲列表,并且封装部分操作,以及与父级目标通信。
4.3.1播放protected void onListItemClick(ListView l, View v, int position, long id) { //歌曲列表的某项被点击super.onListItemClick(l, v, position, id); if (mCursor == null
||mCursor.getCount() == 0) { return; }
mCursor.moveToPosition(position);//游标移动到当前路径String url =
mCursor.getString(mCursor .getColumnIndexOrThrow(MediaStore.Audi o.Media.DA TA));//取得绝对路径mMusicPlayerService.setDataSource(url);//传递绝对路径mMusicPlayerService.start();//播放音乐}
4.3.2暂停/播放mPlayPauseButton.setOnClickListener(new Button.OnClickListener()
{ public void onClick(View v) { if (mMusicPlayerService != null && mMusicPlayerService.isPlaying()) { mMusicPlayerService.pause();//音乐播放的
服务暂停mPlayPauseButton.setText(R.string.play);//改变按钮文字} else if (mMusicPlayerService != null){ mMusicPlayerService.start();//如果已经是暂停,则播放音乐mPlayPauseButton.setText(R.string.pause);//改变文
字} } });
4.3.3停止mStopButton.setOnClickListener(new Button.OnClickListener()
{ public void onClick(View v) { // Perform action on click
if (mMusicPlayerService != null ) { mTextView.setVisibility(View.VISIBLE);//改变文字状态mPlayPauseButton.setVisibility(View.INVISIBLE);//隐藏按钮mStopButton.setVisibility(View.INVISIBLE);//隐藏停止按钮
mMusicPlayerService.stop();//后台音乐停止播放} } });
4.4MusicPlayerApp类该类继承与Application,是程序的生存类。
可以标识音乐播放器的生命周期,包括音乐在后台播放等。
4.4.1单例模式public void onCreate() { super.onCreate(); mMusicInfoController = MusicInfoController.getInstance(this); //返回该类的一个唯一实例} public MusicInfoController
getMusicInfoController() { return mMusicInfoController; }
五、程序的使用手册
系统编译生成apk文件,将apk文件拷到手机或者sd卡中,直接打开即可安装,或者安装360手机助手通过usb调试的方式进行安装。
启动软件后,加载歌曲列表现在这个界面上,如01表示歌曲名,unknown表示歌曲的演唱者
软件启动界面
从加载的歌曲列表中点击要播放的歌曲,开始播放
音乐播放界面
六、心得体会
通过对Android手机平台的音乐播放器软件的开发,使我对Android音乐播放器系统的整体设计有一个深入的了解,对整个流程也会有一个清晰的认识。
开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成,只要掌握了这六部分的开发,音乐播放器就能初具规模。
而其它的功能都是在这六个功能的基础上去补充添加的,但是这是功能的确是必不可少的功能,否则就不能算是音乐播放器了。