文档库 最新最全的文档下载
当前位置:文档库 › android多媒体和相机详解十

android多媒体和相机详解十

android多媒体和相机详解十
android多媒体和相机详解十

检测可用的特性// get Camera parameters

Camera.Parameters params = mCamera.getParameters();

List<String> focusModes = params.getSupportedFocusModes();

if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) {

// Autofocus mode is supported

} 你可以对大多数相机特性使用以上所示方法.Camera.Parameters对象提供了一个getSupported...(),is...Supported()orgetMax...()方法来确定一个特性是否被支持.如果你的应用需要特定的相机特性,你可以通过在你的应用的manifest文件中添加请求.当你声明要使用特定相机特性,比如闪光灯和自动对焦,GooglePlay就会阻止你的应用被安装到不支持这些特性的设备上.使用相机特性当设置要使用的相机特性时,首先要理解的是不是所有的设备都支持所有的特性.另外,一个特性可能被在不同的级别上支持或带有不同的选项.因此,当你开发一个相机应用时,需要决定支持哪些特性以及支持到什么级别.当决定之后,你应在代码中包含检测设备是否支持所需特性,然后在不支持时要有优雅的錯误处理.你可以通过获取一个相机参数对象的实例来检测,并且检测相关的方法们.下面的代码向你展示了如何得到一个Camera.Parameters对象并检测是否支持自动对焦特性:大多数相机特性都可以通过Camera.Parameters进行管理.你要获取此对象,首先获取一个相机对象的实例,然后调用getParameters()方法.改变所获取的parameter 对象,然后把它设置回相机对象,就像下面所演示的:// 获取Camera parameters Camera.Parameters params = mCamera.getParameters();

// 设置聚焦模式

params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);

// 设置Camera parameters

mCamera.setParameters(params);此方法对于绝大多数相机特性都有效,并且大多数参数可以在任何时刻进行改变.对于参数的改变通常都是马上在应用的相机预览中表现出来.在软件解度看,参数的改变可能经过多帧后才能生效,因为硬件要处理新的指令然后发送更新的图像数据.重要:一些相机特性不能被任务改变.特别的,改变相机预览的大小或方向需要你首先停止预览,改变预览大小或方向,然后重启预览.从Android4.0(APILevel14),预览方向可以不用重启而改变.其它的相机特性需要更多的代码,包括:lMeteringandfocusareaslFacedetectionlimelapsevideo测光与聚焦区域在一些情况下摄像,自动对焦和测光不能产生期望的结果.从Android4.0(APILevel14)开始,你的相机应用可以提供额外的控制,允许你的应用或用户指定图像中的某块区域进行聚焦或曝光级别设置,然后把这些值传给相机,以应用于抓取像片或录制视频.测光和聚焦区域的工作方式与其它相机特性十分相似,你通过Camera.Parameters对象控制它们.下面的代码演示了为一个相机实例设置两个测光区域://创建一个相机实例mCamera = getCameraInstance();

// 设置相机参数们

Camera.Parameters params = mCamera.getParameters();

if (params.getMaxNumMeteringAreas() > 0){ // 检查是否支持测光区域

List<Camera.Area> meteringAreas = new ArrayList<Camera.Area>();

Rect areaRect1 = new Rect(-100, -100, 100, 100); // 在图像的中心指定一个区域

meteringAreas.add(new Camera.Area(areaRect1, 600)); // 设置宽度到60%

Rect areaRect2 = new Rect(800, -1000, 1000, -800); // 在图像的右上角指定一个区域

meteringAreas.add(new Camera.Area(areaRect2, 400)); // 收置宽度为40%

params.setMeteringAreas(meteringAreas);

}

mCamera.setParameters(params);

Camera.Area对象包含两个数据参数:一个Rect对象指定了相机视口中的一块区域,还有一个宽度,告诉相机在测光或聚焦计算中此区域的重要程度.Camera.Area对象的Rect字段描述了一个矩形区域在一个2000x2000个单元格组成的区域中的映射位置.坐标-1000,-1000代表了top,left,并且坐标1000,1000代表了bottom,right,如下面示意图所示:图1.红线表示在相机预览中指定一个Camera.Area所在的坐标系.蓝框表示一个相机区域的位置和形状,其坐标值为:333,333,667,667.此坐标系的边界总是与相机预览图像的外边界一至,并且不会随着变焦变大或变小.同样的,使用Camera.setDisplayOrientation()旋转预览图像也不会改变做标系.人脸检测对于包含人的图像,脸往往是图像中最重要的部分,并且在拍照时,脸部被用于对焦和白平衡.Android4.0(APILevel14)框架提供了识别面部的和跟据其计算图像设置的API们.注:当启用面部检测特性时,setWhiteBalance(String),setFocusAreas(List)和setMeteringAreas(List)不再起作用.使用面部检测特性通常需要以下几步:l检查设备是否支持面部检测l创建一个面部检测监听器l添加面部检测监听器到你的相机对象.l预览开始后开始面部检测(并且每次重启预览后同样)面部检测特性不是在所有的设备上都支持.你可以调用getMaxNumDetectedFaces()来检测是否支持.为了接收到面部检测的通知并作出响应,你的相机应用中必须为面部检测事件设置一个监听器.所以你必须创建一个监听类,它实现Camera.FaceDetectionListener接口,如下代码所示:class MyFaceDetectionListener implements Camera.FaceDetectionListener {

@Override

public void onFaceDetection(Face[] faces, Camera camera) {

if (faces.length > 0){

Log.d("FaceDetection", "face detected: "+ faces.length +

" Face 1 Location X: " + faces[0].rect.centerX() + "Y: " + faces[0].rect.centerY() );

}

}

}创建此类后,你就可以把它设置给你的应用的相机对象,如下代码所示:

mCame(参考:https://www.wendangku.net/doc/be8876031.html,)ra.setFaceDetectionListener(new MyFaceDetectionListener());你的应用必须在每次启动(或重启)预览时启动面部检测.创建一个方法专用于开启面部检测,你便可以在需要时调用它,如下例如示:public void startFaceDetection(){

// Try starting Face Detection

Camera.Parameters params = mCamera.getParameters();

// start face detection only *after* preview has started

if (params.getMaxNumDetectedFaces() > 0){

// camera supports face detection, so can start it:

mCamera.startFaceDetection();

}

}你必须在每次开始(或重启)预览时开启脸部检测.如果你使用"创建一个预览类"一节中的预览类,把你的startFaceDetection()方法添加到你的预览类的surfaceCreated()和surfaceChanged()方法中,如下面代码所示:public void surfaceCreated(SurfaceHolder holder) {

try {

mCamera.setPreviewDisplay(holder);

mCamera.startPreview();

startFaceDetection(); // start face detection feature

} catch (IOException e) {

Log.d(TAG, "Error setting camera preview: " + e.getMessage()); }

}

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {

if (mHolder.getSurface() == null){

// preview surface does not exist

Log.d(TAG, "mHolder.getSurface() == null");

return;

}

try {

mCamera.stopPreview();

} catch (Exception e){

// ignore: tried to stop a non-existent preview

Log.d(TAG, "Error stopping camera preview: " + e.getMessage()); }

try {

mCamera.setPreviewDisplay(mHolder);

mCamera.startPreview();

startFaceDetection(); // re-start face detection feature

} catch (Exception e){

// ignore: tried to stop a non-existent preview

Log.d(TAG, "Error starting camera preview: " + e.getMessage()); }

}注:记住在调用startPreview()后要调用此函数.不要试图在你的应用的actvitiy的onCreate()中启动脸部检测,因为此时预览还没有启动呢.

Android4.0的多媒体框架Nuplayer介绍

Android4.x 的RTSP 框架学习 ——NuPlayer 介绍 本文介绍如下内容: 播放框架介绍 RTSP 源介绍 HTTP 流媒体的区别 要研究的点 NuPlayer 框图: NuPlayer NuPlayerDriver ALooper <<接口>> MediaPlayerInterface NuPlayer::Renderer NuPlayer::Decoder ACodec::UninitializedState AHierarchicalStateMachine ACodec ACodec::UninitializedState ACodec::LoadedToIdleState ACodec::IdleToExecutingState ACodec::ExecutingState ACodec::ExecutingToIdleState ACodec::IdleToLoadedState ACodec::FlushingState AHandler 1 * * 11* <<接口>>NuPlayer::Source *1 NuPlayer::HTTPLiveSource NuPlayer::RTSPSource ALooper 1* MyHandler * 1 ARTPConnection ARTSPConnection ALooper 1* mNetLooper for ARTPConnection ARTPSource ARTPAssembler AAVCAssembler AAVCAssembler AMPEG4AudioAssembler AH263Assembler AAMRAssembler AAMRAssembler AMPEG4ElementaryAssembler ARawAudioAssembler AnotherPacketSource <<接口>>MediaSource APacketSource * 1 * 1* 1OMX AHandler

Android实训报告

2016年 1 月 5 日

摘要: 本文首先介绍了Android开发环境的安装和部署过程;之后介绍了Android项目的架构及应用程序组成,着重讲解了手机用户界面的布局方法和常见开发控件的使用;然后介绍了Android中的文件存储管理、SQLite数据库存取与共享、2D绘图设计、多媒体应用以及和短信开发等知识;最后介绍了Android中的单元测试以及国际化的方法,通过发布案例程序完成Android知识的讲解,同时运用了photoshop,实现了对界面的优化设计。 关键词:Android;开发;SQL;多媒体运用;PHOTOSHOP

目录 一、实训背景及目的要求 (4) 1.1背景简介 (4) 1.2实训目的及要求 (4) 二、设计思路 (5) 2.1设计题目 (5) 2.2功能分析 (5) 2.3模块划分 (6) 三、设计实现及代码分析 (6) 3.1第一个Activity (6) 3.1.1布局文件:main.xml: (6) 3.1.2源代码文件:MainActivity.java (10) 3.2第二个Activity (13) 3.2.1布局文件:result.xml (13) 3.2.2源代码文件:ResultActivity.java (14) 3.3字符串资源文件:strings.xml (18) 3.4程序清单文件:AndroidManifest.xml (19) 四、程序功能测试及截图 (21) 4.1工程项目目录 (21) 4.2程序运行界面: (21) 4.3未填身高提示: (22) 4.4计算示例: (22) 五、课程设计(实训)总结 (23)

android实验报告

创建一个名为“登录页面”的布局文件,该文件用于展示登录信息。程序界面如下图所示:; public class Activity01 extends Activity { EditText name; EditText pass ; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); public void click(View view){ Intent intent1=new Intent(this,Mylayout1MainActivity.class); startActivity(intent1);} public void click1(View view){ SharedPreferences sf1=getSharedPreferences("account",Context.MODE_PRIVATE); String name1=sf1.getString("name",""); String pass1=sf1.getString("pass",""); String name2=name.getText().toString(); String pass2=pass.getText().toString(); if(name1.equals(name2)&&pass1.equals(pass2)){ Intent intent2=new Intent(this, Textview1.class); intent2.putExtra("name", name1);

《Android移动开发实训》教学大纲 48学时

《Android应用开发实训》教学大纲 学时:48 适用专业:计算机软件 一、课程的性质与任务 课程的性质:本课程是为计算机软件专业高年级学生开设的一门专业技能课。 理论上,Android技术架构、图形用户界面的编制、数据存储以及网络客户端的开发。 技能上,要求学生能熟练编写出手机应用程序app、设计网络客户端的开发,能熟练使用Android Studio进行手机app部署。 前导课程:《Java网络编程》、《Android移动开发技术》 后续课程:无 二、教学基本要求 通过本课程的学习,要求学生掌握Android基本框架、手机程序开发的基本方法和基本技术;要求具备以下能力: 1.利用Android Studio熟练进行手机应用程序app的编写能力; 2.熟悉Android开发环境和参数配置; 3.具备编写手机界面程序能力; 4.具备编写网络开发能力; 5.利用Android Studio进行程序的编写、运行和打包发布的能力; 三、教学条件 本课程教学要求在计算机机房进行,要为每个学生提供一台高性能计算机,并安装有JDK1.8和 Android Studio 3.0 以上的版本。 四、教学内容及学时安排

五、教法说明 本课程是一门实践性和趣味性较强的实训课程,有明确的项目作为课程任务。教师先给学生做项目运行的示范演示,再对关键环节做讲解,让学生观察项目的要点。 教学按照“演示项目→分析项目→分解成若干个子任务→引出教学内容→讲授新知识→学生完成指定操作→学生自主拓展→总结评价”的过程展开课程。 通过项目驱动教学,激发了学生的自主学习能力、创新精神和合作意识。在教学过程中,要注意精讲多练,充分激发学生的学习兴趣,并鼓励学生去创新。 六、考核方式及评分办法 本课程注重培养学生的实际编程能力。项目主要考察学生的课堂完成情况、实训报告撰写情况。从功能实现、程序开发调试能力、创新能力等方面进行考核。 本课程考核采用形成性考核方式,满分100分,考核成绩有以下几部分组成: 实训项目1: 50分。其中平时表现及文档规范20分,项目拓展20,答辩10分。 实训项目2:50分。其中平时表现及文档规范20分,项目拓展20,答辩10分。 七、教材 《Android应用开发案例教程(Android Studio版)》,张霞等编著,人民邮电出版社,2019.7

多媒体一体机(带有安卓系统)使用说明

. .. 关于带有安卓系统的多媒体一体机使用说明 带有安卓系统多媒体一体机是智能触摸电视与电脑的结合,与以前的多媒体一体机操作上存在一 些区别,现将操作使用中注意的问题说明如下: 1、智能触摸电视与传统触摸电视有什么区别? 智能触摸电视是带有安卓操作系统的电视,就如同智能手机一样,可以安装安卓版的程序,具有可扩展性。当电脑出现问题不能用时,依然可以单独使用带有安卓系统的电视完成一些简单的应用,如播放视频、播放幻灯片等操作,但注意这些应用与电脑中的程序不一样,类似于安卓系统的手机功能。而传统触摸电视则不具备这些功能。 2、为什么触摸屏有时不灵敏? 我校的多媒体一体机使用的触摸屏采用的是红外感应的原理,电视四周边框处存在扫描感应区,如果屏幕边框脏了,如落上较多的粉笔灰,就会影响触摸感应,所以一定要及时清理电视屏四周边框污物,否则就会影响触摸感应的灵敏度。 3、如何启动多媒体一体机? 情况一:如果一体机电源插头没有插,当一插入插头,一体机连通电源后,会自动启动电视和电脑。 情况二:在接通电源,并且电视和电脑都处于关闭状态下时(也就是电视指示灯在红色时),启动一体机很方便,只需要点击电视下方面板中“电源”按钮,就会打开电视,进入安卓界面,同时电脑也会自动启动,无需单独启动电脑。启动后在安卓界面的左上角较大的窗格中会显示出电脑的界面,只需点击这个窗格,就可以切换到电脑的界面。 4、如何关闭一体机? 步骤一:正常关闭电脑。也就是点击电脑桌面左下角开始菜单中的“关机”。 步骤二:关闭电视。在关闭电脑后电视画面会先变成蓝屏再切换到安卓的界面。这时再点击电视下方面板的“电源”按钮,关闭电视。电视指示灯会变成红色。 步骤三:拔下一体机电源插头。 5、为什么一体机断电后再通电会自动启动(或一插上电插头一体机就会启动)? 由于安卓系统设计的原因,多媒体一体机的电视和电脑在切断电源后,再接通电源时,无论原来一体机是开着或是关着的,都会自动启动。这就导致在停电后,只要电源插头插着的一体机都会自动启动。这也是有些老师放学时明明关闭了一体机,而第二天来时一体机却开着的一个原因。所以注意,当使用完一体机后,特别是放学以后,一定要拔下一体机的电源插头。再次使用时,插上电源插头后,一体机会自动启动,不需要再按“电源”按钮。如若确实接通电源后一体机没有启动,再按照问题3中的方法启动。 6、为什么一体机没有声音,重新启动后才有声音? 这主要是因为一体机在关闭时,只关闭了电视,而电脑没有正常的关闭。电视的安卓系统和电脑系统都要使用到声卡,如果正常切换两个系统时,声卡的控制权会进行切换,声音不会出现问题。当电脑没有关闭,而电视关闭了以后,再打开电视时,电视的安卓系统会抢占声卡控制权,使用电脑系统没有声音。这时只需要重启电脑就会有声音了。所以一定要正确的关闭一体机。 7、为什么有时在安卓系统和电脑系统之间切换后,触摸屏会没有反应? 由于安卓系统和电脑系统使用触摸屏时都要加载触摸屏驱动,切换后驱动会重新加载,需要一定的时间,这时会导致被误认为是触摸屏失灵或死机。只需要等一会驱动加载完成后就可以正常使用了。 8、出现电脑死机时怎么办? 电脑死机后,可以长按电视面板下方“电脑”按钮10秒,电脑会强制关机,然后再按一次“电脑”按钮,再次启动电脑。如果无法以此种方式重启电脑,则需要拔下一体机插头,电视指示灯灭掉后,重新插上,一体机会自动启动。

《Android项目开发实训》项目总结报告

实训报告 姓名:祝新 学号: 1144131 专业:软件技术 课程名称: android实训 项目名称:闹铃 指导教师:王皓 实训日期: 2013年10月28日至 2014 年 1月2日 2014年1月2 日

目录 第一章概述 (1) 第二章需求分析 (2) 项目背景 (2) 项目需求 (2) 第三章相关技术 (3) Adnroid平台介绍 (3) 关键技术研究 (3) 第四章概要设计 (4) 系统体系结构 (4) 用户界面设计 (4) 第五章详细设计 (9) 添加闹铃功能模块 (9) 第六章结论 (19)

第一章概述 本课题要求:设计一个基于Android的位置闹钟的软件。实现的功能有: a) 能在Android上利用其提供地相关API获取位置信息。 b) 能通过界面设置闹钟的启动条件,包括入场与出场条件的设 c) 建立后台服务进程,监查位置信息,当满足触发条件时,闹钟响应相应事件。 需重点研究的关键问题:通过Android Api获取位置信息,并在指定地点设置闹钟提醒。 解决思路:在界面里显示当前位置信息(经纬度值),并输入指定地点的经纬度值,编程实现对位置信息实时更新,将两者的经纬度转换为距离,如在误差范围内则启动闹铃功能。

第二章需求分析 项目背景 移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。搭载安卓操作系统的智能手机目前已经成为市场上最炙手可热的智能产品。开放的源代码和零成本已经让安卓在全世界范围内受到青睐并迅速获得了主要手机厂商和数百万软件开发者的支持,2011年安卓系统的市场份额已经超过Symbian,成为全球第一大智能手机操作系统。 产业从军用转入民用后,正在逐渐向普通消费群体发展,作为使用终端的产品正逐渐的深入人们生活得各个领域。GPS使用终端最主要的应用方面主要体现在各种接收器,比如航空、航海用途的接收器,汽车导航设备,或用于登上、远足的手持接收器等终端产品。GPS接收终端的结构包括,接收天线、芯片组、电池等,以及外部按键和液晶面板等相关零部件。 该课题实现在手机操作系统Android上将GPS导航和闹钟提醒两个功能结合起来,携带方便,并能超越传统的时间闹钟提醒功能,使用起来灵活、快捷、省心,是一款实用而且高端的手机软件。 项目需求 “位置闹钟”是一款提醒你地点的软件,它通过地图指定提醒的目的地,同时要求定位精确、使用过程可用Wifi(节省手机流量)和普通无网络。 “位置闹钟”可以通过GPS定位和手机蜂窝基站定位两种定位方式来监测用户所在位置。当你靠近目的地的时候,“位置闹钟”会进行闹钟提醒。而在封闭的空间中,如拥挤的公交车上,接收不到卫星的GPS信号,此时,手机基站定位就可派上用场。虽然基站的定位精度比起GPS来说稍低,但完全可以满足位置提醒的要求。此外,“位置闹钟”还可以后台运行,且能和普通闹钟一样设置多个位置闹铃,有良好的人机交互界面,可对其编辑、启用或禁用。

ANDROID实训题

1.在Eclipse中创建Android项目,实现游戏界面中的我同意游戏条款功能。点出“进入”按钮,将显示进入游戏按钮,点击“我同意”复选框,将显示“进入”按钮。 2.在Eclipse中创建Android项目,实现猜猜鸡蛋放在哪只鞋子里的小游戏。单击其中的任意一只鞋子,将打开鞋子,显示里面是否有鸡蛋。 3.在Eclipse中创建Android项目,实现模拟windows7图片预览窗格效果。点击任意一张图片,可以在右侧显示该图片的预览效果。 4.实现应用对话框主题的AboutActivity。 运行本实例,将显示泡泡龙游戏的主界面,单击“关于”按钮,将显示如图5.6所示的“关于”对话框。

5.在Eclipse中创建Android项目,实现根据输入的性别和身高计算标准体重。 运行本实例,将显示一个输入计算标准体重条件的界面,选择性别并输入身高后,如图5.10所示,单击“确定”按钮,将显示如图5.11所示的计算结果界面。 6.在Eclipse中创建Android项目,名称为5.6,实现带选择头像的用户注册页面,打开新的Activity选择头像,并将选择的头像返回到原Activity中。 运行本实例,将显示一个填写用户注册信息的界面,输入用户名、密码、确认密码和E-mail 地址后,单击“选择头像”按钮,将打开如图5.12所示的选择头像界面,单击想要的头像,将返回到填写用户注册信息的界面。

7.在Eclipse中创建Android项目,仿QQ端登录,实现在第一个Activity中显示登录界面,输入正确的账号和密码后,启动另一个Activity显示当前登录用户的昵称。 运行本实例,在屏幕上将显示一个登录对话框,输入账号和密码后,单击“登录”按钮,将判断输入的账号和密码是否正确,如果正确,将打开主界面,在该界面中,将显示当前登录用户的昵称和“退出登录”按钮,单击“退出登录”按钮,将返回到用户登录界面。 8.查看原图功能的图像浏览器,在Eclipse中创建Android项目,实现在第一个Activity中显示图片缩略图,单击任意图片时,启动另一个Activity显示该图片的原图。 运行本实例,在屏幕上将显示图片缩略图,单击任意图片,可以显示该图片的原始图像。例如,单击第2行第3列的图片,将显示界面。 9.在Eclipse中创建Android项目,实现拨打电话功能。 在编辑框中输入需要拨打的电话,单击“拨打电话”按钮就可以完成拨号的功能。 10.在Eclipse中创建Android项目,实现打开网页功能。 单击“打开网页”按钮,显示谷歌主页。 11.在Eclipse中创建Android项目,当用户短时间单击按钮和长时间单击按钮时,显示不同的提示信息。 运行程序后,短时间单击按钮,显示如图7.4所示的提示信息。 长时间单击按钮,显示如图7.5所示的提示信息。

基于android开发实验报告总结

基于android开发实验 报告总结 组员: 指导老师: 2016.12.15

目录 实验一 Android开发环境的搭建 (3) 1 实验目的及要求 (3) 2 实验设备(环境)及要求 (3) 3 实验内容 (3) 4 实验步骤 (3) 5 实验核心代码(关键代码),及调试中的问题 (4) 6 实验的运行结果及分析 (9) 3 实验设备(环境)及要求 (10) 实验三 GUI创建套件Widget的使用 (18) 1 实验目的及要求 (18) 2 实验设备(环境)及要求 (18) 3 实验内容 (19) 4 实验步骤 (19) 5 实验核心代码(关键代码),及调试中的问题 (19) 6 实验的运行结果及分析 (28) 实验四 SQLite应用 (29) 1 实验目的及要求 (29) 2 实验设备(环境)及要求 (30) 3 实验内容 (30) 4 实验步骤 (30) 5 实验核心代码(关键代码),及调试中的问题 (30) 6 实验的运行结果及分析 (41)

实验一 Android开发环境的搭建 1 实验目的及要求 1.搭建Eclipse+Android开发平台 2.创建简单的Android应用程序 3.创建Activity并利用intent的实现Activity的跳转 2 实验设备(环境)及要求 1)PC计算机 2)JDK安装包 3)Eclipse安装包 4)Android SDK安装包 5)ADT插件 3 实验内容 1)搭建Eclipse+Android开发环境 2)创建一个简单的”hello world”工程 3)创建两个Activity,实现简单的Activity之间的参数传递 4 实验步骤 1)下载安装JDK 1.6,配置环境变量,如果所示。

《Android项目开发实训》项目总结报告

Android项目开发 实训报告 姓名: 赵炳 琪 学号: 140840131 专业: 软件技 术 项目名称: Android手机记账本 指导教 师:陈雪莲

实训日期:2016年10月30日至2016 年12月30日 2016年12月 25日

Android项目开发实训记录单

目录 第一章概述 (1) 第二章需求分析 (2) 2.1 项目背景 (2) 2.2 项目需求 (2) 第三章相关技术 (4) 3.1 Adnroid平台介绍 (4) 3.2 关键技术研究 (6) 第四章概要设计 (9) 4.1 系统体系结构 (9) 4.2 用户界面设计 (14) 4.2.1计算器界面 (14) 4.2.2小数点运算界面 (14) 4.2.3负数运算界面 (15) 4.2.4开方运算界面 (15) 第五章详细设计 (16) 5.1数据输入模块 (16) 5.2数据显示模块 (16) 5.3 数据计算功能模块 (16) 第六章结论 (26)

第一章概述 随着社会的发展,经济水平的提高,手机越来越普及。同时伴随着已送慧联网技术的发展,手机的功能也变得越来越丰富。从原来只具有简单通信功能的非智能手机到现在具有手机操作系统,除通话功能以外,还集上网、聊天、炒股、收发邮件等功能于一身的智能手机系统。 由Google公式牵头众多实力雄厚的软硬件厂商加盟商成立了OMS联盟,病退出的Android平台手机系统,作为时代的新生儿,Android手机操作平台有着得天独厚的优势广阔的发展前景。 而计算器作为现在人们日常生活中常用的一种工具也已经可以说是人们日常生活中必不可少的工具了。计算器的发展同样经历了漫长的过程,凝聚无数仙人的智慧,甚至连计算机的发展都可以说是源于计算器的发展。本程序正式基于Android平台开发的计算器。 本课题要求:设计一个基于Android的计算器的软件。实现的功能有: 具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即“C”。因为打开(ON)、关闭(OFF)屏幕按键的功能 需重点研究的关键问题:计算器的运算和显示问题。

安卓多媒体信息发布系统说明书

多媒体信息发布系统 版本号:Ver. 4.0 操作使用说明 中文版

目录 第1章功能特性 (4) 1.1 产品简介 (4) 1.2 产品组成 (4) 1.3 产品功能 (4) 第2章系统环境 (5) 2.1 硬件环境 (5) 2.2 软件环境 (5) 第3章软件安装 (5) 3.1 服务器端 (5) 3.2 播放终端 (9) 3.3 终端设置 (9) 第4章功能说明 (10) 4.1 系统登录 (10) 4.2 快速制作节目 (11) 4.3 节目管理 (13) 4.3.1 节目制作 (13) 4.3.1.1 添加图片 (14) 4.3.1.2 添加视频 (16) 4.3.1.3 添加 Flash (17) 4.3.1.4 添加网页 (17) 4.3.1.5 添加时间 (18) 4.3.1.6 添加天气 (18) 4.3.1.7 添加 RSS (19) 4.3.1.8 添加截屏 (20) 4.3.1.9 添加 PPT (21) 4.3.1.10 添加 Word (21) 4.3.1.11 添加 Excel (22) 4.3.1.12 添加文本 (22) 4.3.1.13 文本编辑工具 (23) 4.3.1.14 其它功能按钮 (23) 4.3.2 节目列表 (23)

4.3.3 节目审核 (24) 4.4 发布管理 (24) 4.4.1 立即发布 (24) 4.4.2 插播任务 (25) 4.4.3 循环任务 (25) 4.4.4 下载状态 (26) 4.4.5 发布通知 (26) 4.5 终端操作 (26) 4.5.1 终端监控 (27) 4.5.2 开关设置 (27) 4.5.3 清除文件 (27) 4.5.4 更名分组 (28) 4.5.5 参数设置 (28) 4.6 系统操作 (28) 4.6.1 终端认证 (28) 4.6.2 用户管理 (29) 4.6.3 操作日志 (29) 4.6.4 负载设置 (30) 4.7 其它功能 (30) 4.7.1 首页 (30) 4.7.2 修改密码 (30) 4.7.3 退出 (30) 4.7.4 后退 (30)

Android实训心得

Android实训心得 刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通 的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android SDK开发 范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比 较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想。 我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.现在我对这半个月的实习做一个工作小结。 通过半个月的android实习,基本掌握了Android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习Android不仅是对前 沿开发技术的了解,也是对编程知识的一次提升。 通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。例如要的布局(或者控件) ,在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以 快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的 界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进 行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间 的跳转Intent管理,通过Bundle对数据在界面之间进行传输。 在手机交互式通信服务中,学习了Android手机之间进行短信发送、广播、对广 播的监听、服务等,在Service类中没有context,可以通过Handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一 个当前的CurrentActivity这个变量进行控制,进行处理。 在Android编程过程中巩固熟悉了Java的编程。由于Android应用程序的开发离 不开Java的支持,所以基础的Java知识是必须的。Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发, 必须要具备Linux,CC++高级编程才能深入的涉及Android Framework和Android内 核开发。成为Android开发的高素质人才。所以,在后续对Android的学习中可能会看一些较底层的书籍。

Android实验一实验报告

Android实验报告一 姓名:丁军峰 班级:信科12-3 学号:08123448

一、实验内容 编写一个Android应用程序,实现对自己物品的管理,功能包括添加、删除和查询等 二、实验目的 了解android开发流程,掌握SQLite数据库和ListView控件的使用三、需求分析 使用SQLite数据库,使用ListView控件显示物品 四、实验过程 1.创建程序,设计用户交互界面

Android实习总结报告模板

Xxxxxx大学 专业实习报告 实习时间: 201X.XX.X——201X.XX.XX 学院:XXXXXXXXXXX学院 专业名称:计算机通信 学号: XXXXXXXXXX 姓名: XXXX 指导老师: XXXX 实习地点: XXXXXXXX信息技术有限公司

一、实训地点 XXXXXXXX信息技术有限公司是一家隶属于XXXXXXXX集团主要从事软件开发、技术咨询与服务、IT教育投资、大学生实习实训等业务的民营科技型企业。 二、实训目的 到实际生产中的种种 Android Android Android 现对android Android android实习可以让我们与时代最 目的: 1、培养学生运用所学课程Java语言程序设计的理论知识和技能,分析解决计算机实际应用中的问题的能力。 培养学生在Java语言程序设计的基础上,开发Android应用程序的思想和方法。 培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。通过课程设计,要求学生在指导教师的指导下,独立完成课程设计的全部内容 包括: 1、确定开发的程序,收集和调查有关技术资料。 2、按软件工程步骤进行程序设计。 3、对完成的程序进行测试和完善。 4、完成课程设计报告。 三、实训内容 学习实训的内容主要包括如下: ●开发环境:了解了android的起源与发展,学习安装 Eclipse 插件 (ADT)学 习 AndroidSDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具 ●Android项目结构:src/ java原代码存放目录 gen/ 自动生成目录 gen

目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。res/ 资源(Resource)目录在这个目录中我们可以存放应用使用到的各种资源,如xml 界面文件,图片或数据。assets资源目录Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件。AndroidManifest.xml 项目清单文件。 基础开发 一、1.Activity:是Android系统中的四大组件之一。2.Activity生命周期:void onCreate(Bundle savedInstanceState) void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy() 这七个方法定义了Activity的完整生命周期 二、Intent: Intent对他要完成操作的一种抽象描述,我们可以用intent来启动一个activity,发起一个broadcast和启动或绑定一个service。Intent 使应用程序代码在运行时动态绑定成为可能,这也降低了不同代码之间的耦合性。Intent最常使用的方法是用来启动一个activity。Intent封装了他要执行动作的属性,这些属性最常见的是action和data Intent主要有以下四个重要属性:dssAction:Action属性的值为一个字符串,它代表了系统中已经定义了一系列常用的动作。通过setAction()方法或在清单文件AndroidManifest.xml 中设置。默认为:DEFAULT。 Data:Data通常是URI格式定义的操作数据。例如:tel:// 。通过setData()方法设置。 Category:Category属性用于指定当前动作(Action)被执行的环境。通过addCategory()方法或在清单文件AndroidManifest.xml中设置。默认为:CATEGORY_DEFAULT。 Extras:Extras属性主要用于传递目标组件所需要的额外的数据。通过putExtras()方法设置。 三、Service四大主键职业,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。要完成比较耗时的任务;不需要用户界面; 四、BroadcastRecever 生命周期 1.在广播到达接收者时调用onRecever();方法 2.注册广播的几种方式包括:代码注册;项目清单注册; 五、Handler 1.Handler、Message、MessageQueue和Looper之间的关系的关系,Handler 的作用: Handler(一个线程可以有多个Handler但是只能有一个Looper), 关系:向消息对列(MessageQueue封装在Looper中)发送消息,Handler 在创建时就会关联以个Looper默认关联当前Looper.

Android基础实验

实验01 简单Android UI设计 【实验目的】 熟悉用Eclipse开发Android简单界面,锻炼简单Java代码编写。 【实验要求】 按要求设计一个Android活动窗体,并实现其功能。 学习材料:https://https://www.wendangku.net/doc/be8876031.html,/s/1geaFkzh 【示范模仿】 实验1.1 设计一个登入窗口,在一个可编辑文本框中输入某一用户名,输入相应密码,按【确定】按钮,若用户名不是“13rg”,则显示“用户名错误”。否则,若密码不是“1234”,则显示“密码错误”。当用户名输入“13rg”并且密码输入“1234”的情况下,显示“恭喜成功,欢迎进入系统!”。 (1) 进入Eclipse开发环境 单击桌面上Eclipse快捷键,打开Eclipse环境。 (2) 创建项目 单击“File”菜单下的“New”菜单项中的“Android Application Project”子菜单项,在“New Android Application”对话框中的Application Name文本框中输入app1_1,单击Next 按钮,在出现的新的对话框中都单击Next按钮,最后一个对话框单击Finish按钮,进入设计窗体。 (3) 添加控件 首先,单击左边文件夹列表中的res文件夹,再单击其下的layout文件夹,双击其下的activity_main.xml文件。单击Graphical Layout标签,进入可视设计界面,如图1-1。

图1-1 将Form Widgets等控件列表中的控件拖曳到可视设计窗口中。分别往窗体中添加3个TextView控件textView1~textView3、2个EditText控件editText1~editText1和1个Button 控件button1。 (4) 设置控件属性 控件属性设置如表1-1所示。 表1-1 控件属性设置 设置完控件属性后,窗体中控件及其布局如图1-1所示。 (5) 添加并编写控件事件代码 单击左边src文件夹,单击其下的com.example.app1_1,单击其下的MainActivity.java 文件,进入编码界面。 输入黄色底色的代码: package com.example.app1_1; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.wendangku.net/doc/be8876031.html,yout.activity_main); Button bt=(Button)findViewById(R.id.button1); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub EditText textBox1=(EditText)findViewById(R.id.editText1); EditText textBox2=(EditText)findViewById(R.id.editText2); TextView lb3=(TextView)findViewById(R.id.textView3); if (!textBox1.getText().toString().trim().equals("13rg"))

Android项目实训报告 便签管理

实训报告书 课程:Android项目实训 专业班级:智能手机软件开发1211班 学生姓名:谢春花、张静、谢锐 学号:2012180407、2012180423 2012180417 指导教师:秦毅 完成日期:2014 年6月27日 重庆电子工程职业学院软件学院

课程实训报告书 目录 目录............................................................................................................... 1 引言...................................................................... 错误!未定义书签。 1.1 目的 ......................................................... 错误!未定义书签。 2 综合描述............................................................ 错误!未定义书签。 2.1 系统背景 ................................................. 错误!未定义书签。 2.2 问题说明 ................................................. 错误!未定义书签。 2.3 系统范围 (2) 2.4 用户需要UML用例图 (2) 2.5 功能摘要 (3) 2.6 假定和约束 (4) 2.7 分工和进度 (4) 2.8 设计约束 (5) 3 具体需求 (5) 3.1 功能需求 (5) 3.2 数据字典 (16) 4 补充资料 (17) 4.1 待解决的问题列表 (17) 4.2 测试环节 (17)

实验二 android基本控件实验

实验二 android基本控件实验 【目的】 熟悉Android常用控件的基本操作,掌握它们的基本使用方法。了解控件之间的构成关系,熟悉适配器的使用原理。 【要求】 1、了解控件的继承关系; 2、掌握适配器的使用; 3、掌握信息提示的实现机制; 4、实现基本界面。 【原理】 1.控件类之间的关系 android.view.View类(视图类)呈现了最基本的UI构造块。View类是Android中的一个超类,几乎包含了所有的屏幕类型,主要负责绘制和事件处理。 Android中控件类的扩展结构如图所示。 View有众多的扩展者,它们大部分是在android.widget包中,这些继承者实际上就是Android 系统中的“控件”。View实际上就是各个控件的基类,创建交互式的图形用户界面的基础。View的直接继承者包括文本视图(TextView)、图像视图(ImageView)、进度条(ProgressBar)等。它们各自又有众多的继承者。每个控件除了继承父类功能之外,一般还具有自己的公有 方法、保护方法、XML属性等。 在Android中使用各种控件的一般情况是在布局文件中可以实现UI的外观,然后在Java文件中实现对各种控件的控制动作。控件类的名称也是它们在布局文件XML中使用的标签名称。

2.控件通用行为和属性 View是Android中所有控件类的基类,因此View中一些内容是所有控件类都具有的通用行为和属性。 提示:由于Java语言不支持多重继承,因此Android控件不可能以基本功能的“排列组合”的方式实现。在这种情况下,为了实现功能的复用,基类的功能往往做得较强,作为控件的祖先类,View所实现的功能也是最多的。 控件类经常在布局文件中使用,因此其可以使用XML属性(XMLAttributes),和Java代码经常具有对应关系。 View作为各种控件的基类,其XML属性所有控件通用,XML属性及其对应的方法如表1所示。 表1 View中的XML属性及其对应的方法 其中,android:id表示控件的标识,通常需要在布局文件中指定这个属性。View中与控件标识相关的几个方法如下所示: public int getId() // 获得控件的id(int类型)

Android多媒体分析

MediaPlayer播放器调用及Parser实现过程 一、调用播放器 (Frameworks) 在mediaPlayer中,根据前面打开的文件格式,分别调用三种播放器的一种。分别为PVPlayer、MidiPlayer、VobisPlayer,下面说明具体步聚:1... 获取文件格式 在MediaScanner.java JAVA程序中,可以得到以下几个文件信息: (1)文件格式,比如MP3,MP4等。 (2)文件类别:音频,视频。 (3)文件来源:本地,网络。 得到文件相关信息后,如果系统支持,则加入到播放列表,反之则DELETE 加载的相关资源。获取具体信息的相关函数调用了MediaFile.java程序相关函数实现。 FILE:MediaScanner.java ../Frameworks/base/media/java/media MediaFile.java ../Frameworks/base/media/java/media 2.创建播放器(MediaPlayer Service) 在系统中,一共有三种播放器: (1) PVPlayer:一般的本地文件播放都用PVPLAYER (2) MidiPlayer:这个播放器目前还没有测试。 (3) VobisPlayer:通过URL网络播放。 在这一层中,主要在MediaPlayerService.cpp文件中实现,根据得到的播放格式(getPlayerType函数)创建相关的播放器(createPlayer)。如果创建了PVPlayer,则直接进入了OpenCore,如果为另外两种播放器,需要对文件的一处理程序在同路径下分别有一个文件(Midifile.cpp和vorbisPlayer.cpp). FILE:MediaPlayerService.cpp ../Frameworks/base/media/Libmedia

相关文档