Android实验报告—UI设计(定稿)

时间:2019-05-12 11:59:22下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Android实验报告—UI设计(定稿)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Android实验报告—UI设计(定稿)》。

第一篇:Android实验报告—UI设计(定稿)

Android UI设计

实验目的:

本实验的目的是使学生深入了解Android程序框架结构、了解和掌握Android界面设计和界面编程。通过程序设计,掌握常用界面控件、菜单、以及界面事件的响应。

实验要求:

设计程序实现一个电子菜单,应具有显示菜单功能和选菜功能。通过选择,将选中的菜单选项在界面做显示,如下图:

[实现提示]

1、建立Android工程,其中 工程名称:MenuSelect579 应用名称:MenuSelect579 包名称:cn.edu.bistu.dj1001.MenuSelect579 Activity名称:MenuSelect579

2、工程建立完毕后,进行相应界面设计,再编写Java文件

程序源码

package cn.edu.bistu.dj1001.MenuSelect579;import android.app.Activity;

import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;public class MenuSelect579 extends Activity {

/** Called when the activity is first created.*/

TextView LabelView = null;

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

LabelView =(TextView)findViewById(R.id.label);registerForContextMenu(LabelView);

}

final static int CONTEXT_MENU_1 = Menu.FIRST;

final static int CONTEXT_MENU_2 = Menu.FIRST+1;

final static int CONTEXT_MENU_3 = Menu.FIRST+2;

@Override

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo){

menu.setHeaderTitle(“今日菜单”);

menu.add(0, CONTEXT_MENU_1, 0,“宫保鸡丁”);

menu.add(0, CONTEXT_MENU_2, 1,“干煸豆角”);

menu.add(0, CONTEXT_MENU_3, 2,“鱼香肉丝”);

}

@Override

}

public boolean onContextItemSelected(MenuItem item){

} switch(item.getItemId()){

case CONTEXT_MENU_1: LabelView.setText(“宫保鸡丁”);return true;case CONTEXT_MENU_2: LabelView.setText(“干煸豆角”);return true;case CONTEXT_MENU_3: LabelView.setText(“鱼香肉丝”);return true;} return false;

程序运行结果:

实验心得体会:(可选)

通过本次实验熟悉了android的界面设计简单方法和界面编程,锻炼了实际动手能力,熟悉了 Android程序框架结构、Android界面设通过程序设计,掌握了常用界面控件、菜单、以及界面事件的响应。

第二篇:android实验报告

移动应用开发实验报告

实验名称

音乐播放器

指导教师

实验成绩

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.Audio.Media.DATA));//取得绝对路径

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音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成,只要掌握了这六部分的开发,音乐播放器就能初具规模。而其它的功能都是在这六个功能的基础上去补充添加的,但是这是功能的确是必不可少的功能,否则就不能算是音乐播放器了。

第三篇:Android实验报告—网络通信

实验三

Android网络通信

实验目的:

本实验的目的是使学生深入了解利用Intent实现进程间的通信过程。学会利用Intent进行Activity的跳转,以及链接网页信息;学会利用Intent将其他Activity的信息返回到Activity中的方法。体会Activity间通信的过程。

实验要求:

编程实现下述功能:主界面上有一个“登录”按钮和“链接网页”按钮,点击“登录”按钮后打开一个新的Activity;新的Activity上面有输入用户名和密码的控件(如下图所示)点击“链接网页”按钮,新的Activity上面有输入Uri信息的控件,可以链接到相应的网站,在用户关闭这个Activity后,返回到主界面中

程序界面如下图所示:

[实现提示]

1、建立Android工程,其中 工程名称:WebCommunication579

包名称:cn.edu.bistu.dj1001.WebCommunication579 Activity名称:WebCommunication579

2、工程建立完毕后,首先进行界面设计,建立相应的子Layout界面

3、在工程中添加相应的.java文件,处理各个Activity的事件响应

4、在Manifest中添加新建的Activity信息,进行注册。

程序源码:

主界面java文件代码: package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;

public class WebCommunication579 extends Activity { private Button btnLogin,btnGoToWeb;private TextView show;private static final int SUBACTIVITY1 = 1;@Override

public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.main);btnLogin=(Button)findViewById(R.id.btnLogin);btnGoToWeb=(Button)findViewById(R.id.btnGoToWeb);show=(TextView)findViewById(R.id.A1show);

btnLogin.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(WebCommunication592.this, activity1.class);

startActivityForResult(intent, SUBACTIVITY1);

}});btnGoToWeb.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(WebCommunication592.this, activity2.class);startActivity(intent);}});} protected void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode, resultCode, data);switch(requestCode){ case SUBACTIVITY1: if(resultCode == RESULT_OK){Uri uriData = data.getData();show.setText(uriData.toString());} break;}};} 界面一java文件代码:

package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;

public class activity1 extends Activity { private Button btnOK,btnCancel;private EditText edtInput;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity1);edtInput=(EditText)findViewById(R.id.edtA1Input);btnOK=(Button)findViewById(R.id.btnA1OK);btnCancel=(Button)findViewById(R.id.btnA1Cancel);btnOK.setOnClickListener(new OnClickListener(){

public void onClick(View v){ String uriString = edtInput.getText().toString();Uri data = Uri.parse(uriString);Intent result = new Intent(null, data);setResult(RESULT_OK, result);finish();}});btnCancel.setOnClickListener(new OnClickListener(){ public void onClick(View view){ finish();}});}} 界面二java文件代码:

package cn.deu.bistu.dj1001.WebCommunication579;

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;

import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;

public class activity2 extends Activity { private EditText edtInput;private Button btnOK,btnCancel;public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(R.layout.activity2);edtInput=(EditText)findViewById(R.id.edtA2Input);btnOK=(Button)findViewById(R.id.btnA2OK);btnCancel=(Button)findViewById(R.id.btnA2Cancel);btnOK.setOnClickListener(new OnClickListener(){ public void onClick(View v){ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(edtInput.getText().toString()));startActivity(intent);}});btnCancel.setOnClickListener(new OnClickListener(){

public void onClick(View v){

finish();

}});}} 主界面的xml文件代码:

xmlns:android=“http://schemas.android.com/apk/res/android” android:orientation=“Horizontal” android:layout_width=“fill_parent” android:layout_height=“fill_parent”>

android:text=“登录”

android:id=“@+id/btnLogin”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”>

android:text=“链接网页”

android:id=“@+id/btnGoToWeb”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”>

android:text=“"

android:id=”@+id/A1show“ android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

界面一的xml文件代码:

android:orientation=”Horizontal“ android:layout_width=”fill_parent“ android:layout_height=”fill_parent“

xmlns:android=”http://schemas.android.com/apk/res/android“>

android:layout_width=”wrap_content“ android:layout_height=”wrap_content“>

android:text=”用户名和密码:“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:text=”“

android:id=”@+id/edtA1Input“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:layout_width=”wrap_content“ android:layout_height=”wrap_content“>

android:text=”确定“

android:id=”@+id/btnA1OK“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:text=”取消 “

android:id=”@+id/btnA1Cancel“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

界面二的xml文件代码:

xmlns:android=”http://schemas.android.com/apk/res/android“>

android:text=”“

android:id=”@+id/edtA2Input“

android:layout_width=”match_parent“

android:layout_height=”wrap_content“>

android:text=”确定“

android:id=”@+id/btnA2OK“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content“>

android:text=”取消“

android:id=”@+id/btnA2Cancel“

android:layout_width=”wrap_content“

android:layout_height=”wrap_content">

程序运行结果:

程序包:

主界面:

点击登录按钮后:

点击确定按钮后:

点击链接网页按钮后:

点击确定按钮后:

实验心得体会:

通过本次实验深入了解了Intent实现进程间的通信过程。熟悉了利用Intent将其他Activity的信息返回到Activity中的方法,可以更熟练的使用安卓编程软件。

第四篇:Android UI开发专题(三) 各种Drawable

本次我们主要讲解Android平台下的各种Drawable,这里在SDK的android.graphics.drawable包下面可以看到有各种Drawable类多达十几种,它们到底之间有什么关系和区别呢?

一、AnimationDrawable

顾名思义该类主要表示动画的图形类,可以实现逐帧播放的效果,下面代码示例如下

1.定义一个cwj_animation.xml 放到res/drawable 目录下,其中定义的属性duration为延时,单位为毫秒,而oneshot属性表示是否仅播放一次,内容为:!--

Code highlighting produced by Actipro CodeHighlighter(freeware)http:///

-->1

2.在java中调用也很简单

ImageView img =(ImageView)findViewById(R.id.cwj_image);//首先声明一个ImageView对象在xml布局文件中

img.setBackgroundResource(R.drawable.cwj_animation);//我们刚才的animation定义的xml文件

AnimationDrawable frameAnimation =(AnimationDrawable)

img.getBackground();//构造AnimationDrawable对象

frameAnimation.start()//开始播放动画

3.AnimationDrawable类还提供了一些常用的方法如下:

void stop()停止

void addFrame(Drawable frame, int duration)添加一帧,类似xml中的布局

Drawable getFrame(int index)返回某帧的Drawable图形

int getNumberOfFrames()返回总共动画帧数

boolean isOneShot()是否仅播放一次

boolean isRunning()是否正在播放

二、BitmapDrawable

在Android平台中对于缩放、变形的Bitmap对象由BitmapDrawable类表示,其构造方法也很简单,由于该类继承于 android.graphics.drawable.Drawable,相对Drawable而言提供了更多的有关位图的操作方法,主要的构造方法如 下:BitmapDrawable()//直接构造一个空的对象,这样方式不推荐使用,SDK标记为deprecated.未来可能无法使用。

BitmapDrawable(Resources res)//从资源中构造

BitmapDrawable(Bitmap bitmap)//从Bitmap对象直接构造,但也是不推荐,而是希望用下一种

BitmapDrawable(Resources res, Bitmap bitmap)//从bitmap中创建设置初始的分辨率从res中

BitmapDrawable(String filepath)//从具体文件路径构造,也不推荐使用,而是下一种更好

BitmapDrawable(Resources res, String filepath)//同上

BitmapDrawable(InputStream is)//从输入流中构造,同样推荐下面的方法

BitmapDrawable(Resources res, InputStream is)//同上

在BitmapDrawable类中相对于Drawable类主要新增了以下几种方法,均比较实用:

final Bitmap getBitmap()获取一个Bitmap对象

int getOpacity()//获取透明度

void setAntiAlias(boolean aa)//是否抗锯齿

void setTargetDensity(Canvas canvas)//设置目标Canvas密度void setTargetDensity(DisplayMetrics metrics)

三、ClipDrawable

ColorDrawable

Drawable

GradientDrawable

InsetDrawable

LayerDrawable

LevelListDrawable

NinePatchDrawable

PaintDrawable

PictureDrawable

RotateDrawable

ScaleDrawable

ShapeDrawable

StateListDrawable

TransitionDrawable

以上的类型在常见的开发一般较少出现,主要是基类构造使用,Android内部的多个Widget基础控件使用了,感兴趣的网友可以查看开源GIT中的相关内容。

第五篇:Android实验格式简易计算器实验报告

实验报告

2013-2014 学年第2学期

课程名称:嵌入式操作系统

实验题目:简易计算器的设计与实现

专业:计算机科学与技术、信息处理(是什么专业,写什么专业)班级:计算本1101(按自己班级填写)

日期填写 2014年4月 8日

实验题目:简易计算器的设计与实现

实验类型:上机实验

一、实验目的及要求

1.掌握线性布局的应用;

2.掌握表格布局的应用;

3.掌握数组的应用;

4.掌握如何Button组件的使用;

5.掌握代码中访问布局组件的方法;

6.掌握特定组件的事件设计方法。

二、实验仪器设备与软件环境

1、电脑。

2、Android集成开发工具adt-bundle。

三、实验过程

1、布局设计

…这部分自己填

2.程序设计

…这部分自己填

下载Android实验报告—UI设计(定稿)word格式文档
下载Android实验报告—UI设计(定稿).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Android 3D相册实验报告(精选5篇)

    中原工学院计算机学院 软件平台开发技术 大作业 专 业: 软件工程 班 级: 软件121 作品名称: 3D相册 姓 名: 辛俊闪 学 号: 201200834101 指导教师: 刘凤华 2015年 6 月 15 日 一、......

    《UI设计》课程标准

    《UI设计》学习领域课程标准执笔:甄珍审核:时间: 2013-5-5一、学习领域定位“UI”热是近几年来兴起的潮流,近几年国内很多从事手机,软件,网站,增值服务等企业和公司都设立了这个部......

    UI设计流程

    UI设计流程 阶段一:分析 1用户需求分析 2用户交互场景分析 3竞争产品分析这两者可以说是相辅相成的。对于一个较为正规的项目而言,必然有对用户需求的分析内容。Tanjurd瑭锦资......

    UI设计流程

    UI设计流程 分析、设计、配合、验证 确认目标用户 在软件设计过程中,需求设计角色会确定软件的目标用户,获取最终用户和直接用户的需求。 用户交互要考虑到目标用户的不同......

    UI设计基础知识 免费范文合集

    UI设计基础知识 UI设计学习者经常会陷入迷茫期,学习内容零碎杂乱、自觉性差、水平不够、无人指导走弯路等问题接踵而来,导致很多人半途而废。要想从零基础小白成长为真正的UI......

    UI设计合同样本

    北京XXX有限公司技术服务暨委托UI设计合同本合同由以下当事人订立,并于年月日签订:甲方:上海XXX有限公司乙方:北京XXX有限公司依据《中华人民共和国合同法》的规定,合同双方就甲......

    UI设计思路

    演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案 UI设计思路 UI测试用例设计方向[转] 设计功能和界面测试用例1.1 文本框、按钮等控件测试1.1.1 文本框的测......

    UI设计年终工作总结

    工作总结 时光飞逝转眼间2013年即将离我们而去,新的2014年已近接踵而来,光阴似箭,岁月匆匆,时间伴随着我们的脚步急驰而去,穆然回首,才发现过去的一年并不能画上圆满的句号,内心不......