Android移动开发教程 项目式 教学课件 ppt 作者 谢景明 第五讲

上传人:E**** 文档编号:89542188 上传时间:2019-05-27 格式:PPTX 页数:68 大小:1.15MB
返回 下载 相关 举报
Android移动开发教程 项目式  教学课件 ppt 作者  谢景明 第五讲_第1页
第1页 / 共68页
Android移动开发教程 项目式  教学课件 ppt 作者  谢景明 第五讲_第2页
第2页 / 共68页
Android移动开发教程 项目式  教学课件 ppt 作者  谢景明 第五讲_第3页
第3页 / 共68页
Android移动开发教程 项目式  教学课件 ppt 作者  谢景明 第五讲_第4页
第4页 / 共68页
Android移动开发教程 项目式  教学课件 ppt 作者  谢景明 第五讲_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《Android移动开发教程 项目式 教学课件 ppt 作者 谢景明 第五讲》由会员分享,可在线阅读,更多相关《Android移动开发教程 项目式 教学课件 ppt 作者 谢景明 第五讲(68页珍藏版)》请在金锄头文库上搜索。

1、Android移动开发教程(项目式),项目工作情景,目标是让学生掌握利用Android系统的相机和传感器技术,开发与手机硬件有关的应用。 主要的工作任务划分为: 制作相机打开界面。 拍照控制。 相片保存和预览。 照片浏览。 主要涉及的关键技术包括: 相机参数的设置 相机拍照 图片的显示 图片的切换 手机晃动方向传感检测,课程导论,课程导论,任务一 相机打开界面,任务分析,手机相机程序主要功能包括拍照,浏览照片等,是智能手机都具备的功能。手机相机程序界面一般包括预览窗口、快照按钮,以及显示照片窗口。要完成本次任务,需要思考如下几个问题: 如何设计手机相机程序的主界面? 如何使用相机程序进行照片预

2、览?,课程导论,课程导论,相关知识,ImageView类,ImageView类用于显示各种图像,例如:图标、图片。ImageView可以加载来自不同数据源的图像,例如:资源、ContentProvider。下面介绍ImageView主要方法。 (1)void setAdjustViewBounds(boolean adjustViewBounds):取值为真时,表示调整ImageView的边界,使其显示的图像能保持纵横比。和setMaxHeight、setMaxWidth方法一起使用,才有效果。 (2)void setImageBitmap(Bitmap bm):显示Bitmap图像。 (3)

3、void setImageDrawable(Drawable drawable):显示Drawable图像。 (4)void setImageResource(int resId):显示Drawable图像。参数resId表示drawable的标识符。 (5)void setImageURI(Uri uri):显示指定uri的图像。 (6)void setMaxHeight(int maxHeight):设置ImageView的最大高度。 (7)void setMaxWidth(int maxWidth):设置ImageView的最大宽度。 说明:setMaxHeight和setMaxWidt

4、h方法要发挥作用,需要先调用setAdjustViewBounds(true)方法,并将ImageView控件的宽度和高度设置为WRAP_CONTENT。 (8)void setScaleType(ImageView.ScaleType scaleType):控制图像如何调整大小或者移动,以适应ImageView的大小。参数scaleType的取值在ImageView.ScaleType中定义如下。 CENTER:将图片按原来大小居中显示,不进行缩放。 CENTER_CROP:按统一比例扩大图片的大小居中显示,使得图片的长和宽等于或大于ImageView的长(宽)。 CENTER_INSIDE

5、:按统一比例缩小图片的大小居中显示,使得图片的长和宽等于或小于ImageView的长(宽)。,课程导论,ImageView类(续), FIT_CENTER:把图片按比例扩大或缩小到ImageView的宽度,居中显示。 FIT_END:把图片按比例扩大或缩小,使得图片能够放入ImageView,与ImageView的下部位置对齐进行显示。 FIT_START:把图片按比例扩大或者缩小,使得图片能够放入ImageView,与View的上部位置对齐进行显示。 FIT_XY:把图片扩大或者缩小到ImageView的大小(比例不固定)。 MATRIX:用矩阵来缩放图片的绘制。在运用该参数之前,应先创建一

6、个矩阵。 (9)void setVisibility(int visibility):设置视图的允许状态。取值可以是VISIBLE、INVISIBLE或者GONE。,课程导论,ImageView的使用示例(P219),使用本例子需要在本项目的drawable目录中放一个名为image1.jpeg图片文件。 (1)定义一个布局文件,只有一个ImageView控件。 (2)定义Activity类:程序默认效果如图5-2所示;如果去除iv.setScaleType(ImageView.Scale Type.FIT_XY)注释,则显示如图5-3所示。 public class ImageViewDem

7、o extends Activity Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_image_view_demo); ImageView iv=(ImageView)(this.findViewById(R.id.imageView1); iv.setImageResource(R.drawable.image1); /iv.setScaleType(ImageView.ScaleType

8、.FIT_XY); ,课程导论,调用系统的拍照功能(P220),利用Android系统强大的组件特性,使应用开发者只需通过Intent就可以用很少的代码方便地调用系统自带的相机程序,获取所拍摄的照片。 MediaStore类是媒体提供者,包含所有内部和外部存储设备可用的媒体元数据。其中属性ACTION_IMAGE_CAPTURE表示标准的启动相机程序捕捉照片的Intent动作;属性ACTION_VIDEO_CAPTURE则表示标准的启动相机程序捕捉视频的Intent动作。 public class CameraSystemDemo extends Activity / 定义照片保存的路径 pr

9、ivate String imgPath=“/sdcard/“; private ImageView imageView; private File file; public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.camera_system_demo); imageView =(ImageView)this.findViewById(R.id.imageView1); /以当前时间作为照片名字,其中yyyy表示年,MM表示月,dd表

10、示日 /hh表示时,mm表示分,ss表示秒 SimpleDateFormat formatter=new SimpleDateFormat(“yyyyMMddhhmmss“); Date curDate=new Date(System.currentTimeMillis(); String str=formatter.format(curDate); imgPath=imgPath+“/“+str+“.jpeg“; /创建文件 file=new File(imgPath); if(!file.exists() /创建目录 File vDirPath=file.getParentFile();

11、boolean result=vDirPath.mkdirs(); if(!result) Log.v(“create directory“,“创建文件夹不成功“); else Log.v(“create directory“,“创建文件夹成功“); Uri uri=Uri.fromFile(file); Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT,uri); /打开系统相机 startActivityForResult(intent,10)

12、; Override protected void onActivityResult(int requestCode,int resultCode,Intent data) / TODO Auto-generated method stub if(file.exists() imageView.setImageURI(Uri.fromFile(file); 达到,课程导论,调用系统的拍照功能(P220),利用Android系统强大的组件特性,使应用开发者只需通过Intent就可以用很少的代码方便地调用系统自带的相机程序,获取所拍摄的照片。 MediaStore类是媒体提供者,包含所有内部和外部

13、存储设备可用的媒体元数据。其中属性ACTION_IMAGE_CAPTURE表示标准的启动相机程序捕捉照片的Intent动作;属性ACTION_VIDEO_CAPTURE则表示标准的启动相机程序捕捉视频的Intent动作。 public class CameraSystemDemo extends Activity / 定义照片保存的路径 private String imgPath=“/sdcard/“; private ImageView imageView; private File file; public void onCreate(Bundle savedInstanceState)

14、 super.onCreate(savedInstanceState); setContentView(R.layout.camera_system_demo); imageView =(ImageView)this.findViewById(R.id.imageView1); /以当前时间作为照片名字,其中yyyy表示年,MM表示月,dd表示日 /hh表示时,mm表示分,ss表示秒 SimpleDateFormat formatter=new SimpleDateFormat(“yyyyMMddhhmmss“); Date curDate=new Date(System.currentTim

15、eMillis(); String str=formatter.format(curDate); imgPath=imgPath+“/“+str+“.jpeg“;,课程导论,调用系统的拍照功能(续),/创建文件 file=new File(imgPath); if(!file.exists() /创建目录 File vDirPath=file.getParentFile(); boolean result=vDirPath.mkdirs(); if(!result) Log.v(“create directory“,“创建文件夹不成功“); else Log.v(“create directo

16、ry“,“创建文件夹成功“); Uri uri=Uri.fromFile(file); Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT,uri); /打开系统相机 startActivityForResult(intent,10); protected void onActivityResult(int requestCode,int resultCode,Intent data) if(file.exists() imageView.setImageURI(Uri.fromFile(file); ,课程导论,调用系统的拍照功能(P220),利用An

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号