当前位置:文档之家› Android图片浏览器

Android图片浏览器

Android图片浏览器
Android图片浏览器

长沙学院课程设计说明书

题目Android图片浏览器

系(部) 计算机科学与技术

专业(班级) 软件工程(10软件6班) 姓名彭成辉

学号2010022504

指导教师杨凤年

起止日期2013.05.27~2013.06.21

课程设计任务书

课程名称:综合实训Ⅱ

题目:Android图片浏览器

已知技术参数和设计要求:

设计基于Android平台的图片浏览器程序,具体要求如下:

1.图片文件的管理功能。在配置文件中配置访问SD卡文件的权限,使用File类访问SD卡上的图片文件。

2.用户浏览图片的功能。用户通过触摸屏操作选择图片进行浏览,使用事件响应函数响应用户的操作,可以使用ImageView在屏幕中显示图片。

3.用户编辑图片的功能。用户可以放大、缩小、旋转和裁剪图片。

4.设置壁纸功能。将选择的图片设置为壁纸,可以使用WallPaper类来完成该功能。

5.图片文件的排序功能和查找功能。根据文件的名称、日期或者其他属性进行排序,根据文件的名称、日期或者其他属性进行查找。

6.使用多种视图展示图片的功能。可以使用ListView、GridView或者Gallery类来展示图片。各阶段具体要求:

(1)开发前的准备:Android开发环境的搭建。

(2)系统分析与设计:包括程序需求分析、UI设计、业务逻辑设计等。

(3)系统编码实现:根据以上六点要求,对Android图片浏览器进行编码实现。

(4)测试:编写测试用例对程序进行测试。

设计工作量:

(1)软件设计:完成问题陈述中所提到的软件以及工作量要求。

(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。

工作计划:

安排4周时间进行综合实训。

第一周----Android开发环境的搭建,软件需求分析。

第二周----UI设计、业务逻辑设计。

第三、四周----Android图片浏览器的代码实现与软件测试。

注意事项

?提交文档

长沙学院课程设计任务书(每学生1份)

长沙学院课程设计论文(每学生1份)

长沙学院课程设计鉴定表(每学生1份)

指导教师签名:日期:2013-5-26

教研室主任签名:日期:

系主任签名:日期:

长沙学院课程设计鉴定表

摘要

本文档描述了基于Android平台如何开发图片浏览器应用软件,并附带介绍了Android开发环境的搭建方法。其中着重描述了Android图片浏览器的设计与开发,实现的功能有图片放大、缩小、旋转、浏览、剪切、分享、下载、查找、排序和设置壁纸功能等等。使用多种视图展示图片,有ListView、GridView或者Gallery类来展示图片。

关键词:Android,图片,图片浏览器

目录

摘要 (4)

1 前言 (1)

1.1课程设计背景 (1)

1.2课程设计目的 (2)

1.3课程设计内容与要求 (2)

2 开发环境搭建 (3)

2.1 JDK安装 (3)

2.1.1 下载JDK (3)

2.1.2 设置环境变量 (3)

2.1.3 验证是否配置成功 (3)

2.2 Eclipse安装 (3)

2.2.1 下载Eclipse (4)

2.2.2 安装Eclipse (4)

2.3 Android SDK安装 (4)

2.3.1 下载安装android SDK (4)

2.3.2 配置环境变量 (4)

2.3.3 验证是否安装成功 (5)

2.4 ADT安装 (6)

2.5 创建AVD (6)

2.6 创建Android应用程序 (7)

2.6.1 新建android工程 (7)

2.6.2 运行android实例 (8)

3 需求分析 (10)

3.1 功能需求 (10)

3.1.1 功能模块图 (10)

3.1.2 功能描述 (10)

3.2 数据需求 (11)

3.3 UI界面设计要求 (12)

4 概要设计 (13)

4.1 系统结构设计 (13)

4.1系统类图 (13)

4.1.2功能与类 (14)

4.2 界面设计 (17)

4.2.1 主界面 (17)

4.2.2 主界面菜单 (17)

4.2.3 子界面 (18)

4.2.4 子界面菜单 (19)

5 详细设计 (21)

5.1 Findfileutils类详细设计 (21)

5.2 ImageAdapter类详细设计 (22)

5.3 MainActivity类详细设计 (23)

5.4 listview类详细设计 (27)

5.5 view类详细设计 (27)

5.6 SortGridview类详细设计 (33)

5.7 searchview类详细设计 (33)

5.8 SearchSuggestionSampleProvider类详细设计 (34)

6 测试 (35)

6.1 GridView(网格)显示图片功能 (35)

6.2 ListView(列表)显示图片功能 (35)

6.3 ImageSwitcher浏览图片功能 (36)

6.4 设置壁纸功能 (37)

6.5编辑图片的功能 (38)

6.6图片文件的排序功能 (40)

6.7图片文件的查找功能 (40)

7 结论 (42)

参考文献 (43)

附录源代码 (44)

1 前言

1.1课程设计背景

Android一词的本义指“机器人”,同时Android也是Google于2007年11月5日宣布的基于linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款基于Android的手机——T-Mobile G1。该款手机为宏达电制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持 Wi-Fi。在随后的几个月越来越多的厂商也开始宣布将提供Android手机。

Android是一个真正意义上的开放性移动设备综合平台。它包括操作系统、用户界面和应用程序-移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。

所有的Android应用之间是完全平等的。在开发之初,Android平台就被设计成一个由一系列应用所组成的平台。所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。因此,用户甚至可以将系统中默认的电话拨号软件替换成其他第三方的电话拨号软件。你也可以改变主界面显示窗口的内容,或者将手机中任意的应用替换成你所需要的其他应用。比如图 1 3 就是Android手机中缺省拨号器,应用开发人员可以很容易的开发自己拨号程序,然后用自己的拨号程序将系统的拨号程序替代,图 1 4 就是我们自己开发的拨号程序将系统的拨号程序替代后在进行拨号后的结果,这些功能在别的手机平台几乎都是不可能的。

在国内,android社区十分红火,这些社区为android在中国的普及做了很好的推广作用,同时也为Android 相关产品的消费提供了市场。国内厂商和运营商也纷纷加入了android阵营,包括中国移动,中国联通,华为通讯,联想等大企业。同时不仅仅局限于手机,国内厂家也陆续推出了采用android系统的MID(平板电脑)产品,比较著名的包括由Rockchip和蓝魔推出的同时具备高清播放和智能系统的音悦汇W7。我们可以预见android也将会被广泛应用在国产智能上网设备上,将进一步扩大Andorid系统的应用范围。

1.2课程设计目的

本次实训是学习完Andriod开发课程之后综合利用所学的Android平台的知识开发一个Android应用软件,通过完成Android应用的设计与实现,使所学知识更好地理论联系实际,巩固了以前所学的知识,培养动手编程能力、独立思考能力和创新能力。

1.3课程设计内容与要求

Android图片浏览应用需要具备的功能以及关键技术分析、解决思路和方案:

1.图片文件的管理功能。在配置文件中配置访问SD卡文件的权限,使用File类访问SD 卡上的图片文件.

2.用户浏览图片的功能。用户通过触摸屏操作选择图片进行浏览,使用事件响应函数响应用户的操作,可以使用ImageView在屏幕中显示图片。

3.用户编辑图片的功能。用户可以放大、缩小、旋转和裁剪图片。

4.设置壁纸功能。将选择的图片设置为壁纸,可以使用WallPaper类来完成该功能。

5.图片文件的排序功能和查找功能。根据文件的名称、日期或者其他属性进行排序,根据文件的名称、日期或者其他属性进行查找。

6.使用多种视图展示图片的功能。可以使用ListView、GridView或者Gallery类来展示图片

2 开发环境搭建

2.1 JDK安装

2.1.1 下载JDK

官方下载地址:https://www.doczj.com/doc/3617265203.html,/downloads/

2.1.2 设置环境变量

(1) 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:

(2) JAVA_HOME值为: D:\Program Files\Java\jdk1.6.0_18(你安装JDK的目录)

(3) CLASSPATH值为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;

(4) Path: 在开始追加 %JAVA_HOME%\bin;

(5) NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。

2.1.3 验证是否配置成功

安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java –version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:

图 2.1 验证JDK安装是否成功

2.2 Eclipse安装

Eclipse简介

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java 开发工具(Java Development Kit,JDK)。

2.2.1 下载Eclipse

官方下载地址:https://www.doczj.com/doc/3617265203.html,/downloads

2.2.2 安装Eclipse

Eclipse是一款绿色软件,安装很方便,只要将下载的压缩包文件解压到指定目录,在Eclipse安装目录下找到eclipse.exe执行文件,双击就可以启动Eclipse。

启动后选择工作空间(即您用于存放项目文档的文件夹,就进入Eclipse的欢迎界面,在这里,您可以了解到Eclipse的新功能、新动态等。

至此,Eclipse就安装完成了。

2.3 Android SDK安装

2.3.1 下载安装android SDK

(1) 官方下载地址:https://www.doczj.com/doc/3617265203.html,/sdk/index.html

下载完成后解压到任意路径(不含中文字符)

(2) 运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Force https://..."这项,再点击Available Packages 。

(3) 选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包

2.3.2 配置环境变量

在用户变量中新建PATH值为:

Android SDK中的tools绝对路径(本机为D:\AndroidDevelop\android-sdk-windows\tools)如下图所示:

图 2.2 设置Android SDK的环境变量

2.3.3 验证是否安装成功

图2.1中“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。

运行 android –h 如果有类似以下的输出,表明安装成功:

图 2.3 验证Android SDK是否安装成功

2.4 ADT安装

(1) 打开 Eclipse IDE,进入菜单中的 "Help" -> "Install New Software"

(2) 点击Add...按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入https://www.doczj.com/doc/3617265203.html,/android/eclipse。如下图所示:

图 2.4 添加ADT插件(更新站点)

(3) 确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。如下图所示:

图 2.5 安装ADT插件

(4) 然后就是按提示一步一步next,完成之后:

选择Window > Preferences...

在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为:

D:\AndroidDevelop\android-sdk-windows

点击Apply、OK。配置完成。

2.5 创建AVD

为使Android应用程序可以在模拟器上运行,必须创建A VD。

(1)在Eclipse中。选择Windows > Android SDK and AVD Manager

(2)点击左侧面板的Virtual Devices,再右侧点击New

(3)填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值

(4)点击Create AVD即可完成创建AVD

注意:如果你点击左侧面板的Virtual Devices,再右侧点击New ,而target下拉列表没有可选项时,这时候你:

点击左侧面板的Available Packages,在右侧勾选

https://https://www.doczj.com/doc/3617265203.html,/android/repository/repository.xml,如下图所示:

图 2.6 创建A VD

然后点击Install Selected按钮,接下来就是按提示做就行了

要做这两步,原因是在1.3、Android SDK安装中没有安装一些必要的可用包(Available Packages)。2.6 创建Android应用程序

2.6.1 新建android工程

(1) 通过File -> New -> Project 菜单,建立新项目"Android Project"。

(2) 然后填写必要的参数,如下图所示:(注意这里我勾选的是Google APIs,你可以选你喜欢的,但你要创建相应的A VD),填写完成后按finish将完成android工程的创建。

(3) 相关参数的说明:

? Project Name: 包含这个项目的文件夹的名称。

? Package Name: 包名,遵循JAVA 规范,用包名来区分不同的类是很重要的,我用的是

helloworld.test 。 ? Activity Name: 这是项目的主类名,这个类将会是Android 的Activity 类的子类。一个

Activity 类是一个简单的启动程序和控制程序的类。它可以根据需要创建界面,但不是必须的。

? Application Name: 一个易读的标题在你的应用程序上。

? 在"选择栏"的 "Use default location" 选项,允许你选择一个已存在的项目。

2.6.2 运行android 实例

(1) 点击Eclipse 的Run 菜单选择Run Configurations (2) 选择“Android Application ”,点击在左上角(按钮像一张纸上有个“+”号)或者双击

“Android Application ”, 有个新的选项“New_configuration ”(可以改为任意名字)。

图 2.7 创建android 工程

(3)在右侧Android面板中点击Browse…,选择HelloWorld(我们的工程名)

(4)在Target面板的Automatic中勾选相应的AVD,如果没有可用的AVD的话,你需要点击右

下角的Manager…,然后新建相应的AVD。如下图所示:

图 2.8 选择android模拟器

(5)然后点Run按钮即可,运行成功的话会有Android的模拟器界面,如下图所示:

图 2.9 运行android模拟器

3 需求分析

3.1 功能需求

3.1.1 功能模块图

图3.1 Android图片浏览器功能模块图

3.1.2 功能描述

GridView加载并显示SD卡里面的图片,GridView界面为软件主界面,该界面的menu 菜单里面包含ListView显示图片功能、图片排序、图片查找,通过点击GridView网格中的图片进入ImageSwitcher界面进行单张图片浏览。

ImageSwitcher界面Menu菜单里面有图片缩放功能、图片上下翻页功能、图片剪切功能、设置壁纸功能、图片旋转功能等等。

3.2 数据需求

图片显示功能

输入数据:

输入数据是后缀为.jpg、bmp、.jpeg、.gif等等图片文件。

输出数据:

通过解码将上述图片文件显示在GirdView、ListView、ImageSwitcher控件手机的屏幕上

图片查找功能

输入数据:

输入图片文件名进行查找

输出数据:

如果该图片存在就使用ImageView控件将图片显示在手机屏幕上,否则就是用Toast 提示该图片不存在。

3.3 UI界面设计要求

UI界面设计应该做到以下几个方面:

一、熟悉性

用户的心智模型主要是建立在经验的基础上

二、简单化

一项任务的心智模型通常是流线型,关注任务的基本组成部分。尽管对于一个给定的任务有很多可选的细节,但是基本的组成部分占大部分,并且不会占用用户的注意。

三、可利用性(Availability)

避免components 在子菜单中过深的隐藏或者只在上下文菜单中可用

四、发现性

通过提供怎样使用用户界面控件的线索来鼓励你的用户区发现一些功能。要鼓励通过做一些难以逆转或恢复的动作来发现。

五、用户控制

让用户(而不是程序)来触发和控制动作要使动作简单直接,使用户可以容易的理解和记住。不论什么时候,只要有可能,就使用用户已经熟悉的标准控制和行为。它们的关键在于提供给用户他们需要的功能,同时帮助他们避免危险和不可逆转的动作比如说,如果用户可能会突然损坏数据,那么你就要提示一个警告,但是如果用户他们选择继续,那他们就可以继续操作。

六、反馈和交流

在长时操作中,当用户操作时,他们需要及时的反馈和状态报告。你的程序应该提供一些可见的变化,这些变化根据每个用户的动作而变化。比如说,在列表中,当用户按下时,应该要高亮显示这个选项,使用户知道他们的触摸已被触发。动画效果是提供用户反馈的一种很好的方式。

七、容错性(Forgiveness)

要通过建立容错性来鼓励用户探索你的应用程序,就是说,使每个动作很容易可逆。当用户操作一项任务,当一项任务会引起不可逆操作而丢失数据时,要出现一个警告来提示用户。要能预期常规的问题,然后警告用户那些潜在的负面影响。

八、整体审美效果

整体美观是指信息被很好的组织,要根据视觉设计原则保持一致。也是关于整合了功能的应用程序的外观。外观对功能有很大影响。一个混乱或不合理的程序很难理解和使用。整体布局和用户

界面元素的设计都应该反映了用户使用应用程序任务时的心智模型。

九、控制你程序的复杂性

开发易用软件的最好的方法就是使设计尽量简单。你的程序任务越复杂,保持用户界面简单和被注意到就越重要

4 概要设计4.1 系统结构设计

4.1系统类图

图4.1 系统类图

4.1.2功能与类

1.Findfileutils.java类

如图4.2所示:

图4.2 Findfileutils.java类

该类主要功能是扫描手机的SD卡里面的图片文件,isImageFile(String fName)函数是判断是否为图片文件,getImageList(String path)函数,如果是图片,就将该图片文件的绝对路径加入到List链表。

2.ImageAdapter.java 类

如图4.3所示:

图4.3 ImageAdapter.java 类

该类主要为GirdView和ListView控件服务的,ImageAdapter适配器主要是对图片文件的在GirdView和ListView控件的显示做一些控制,以及图片文件的解码。

3.MainActivity.java类

如图4.4所示:

图4.4 MainActivity.java类

该类为图片浏览器的主类,以网格的形式加载SD卡里面的图片,里面的主要功能有图片排序、查找,以及图片的列表显示。

android毕业设计(论文)开题报告

毕业设计(论文) 开题报告 题目___________________________ 学院___________________________ 专业及班级___________________________ 姓名___________________________ 学号___________________________ 指导教师 ___________________________ 日期 ___________________________

西安科技大学毕业设计(论文)开题报告

二、主要研究(设计)内容、研究(设计)思路及工作方法或工作流程 设计内容:基于Android平台下实现理货员的功能:精耕拜访,销售机会,拜访效果,门店销量查询,待办事项,数据维护:队列信息,基础信息,地图下载。 设计思路及工作方法: 1.精耕拜访: (1)初始进入该页面,系统会自动获取该理货员的本日拜访的门店及路线。 (2)下方地图会自动定位目前理货员的位置。 (3)点击门店的具体门店名称,在右边会显示该门店的联系人,电话,及地址,并且地图 会自动切换定位以该门店为中心。 (4)点击地图上的+可实现地图局部放大。-可实现地图的放小。 (5)如已拜访的门店,点击进入可以调去历史拜访数据。如未拜访的门店,点击进入可以新增该拜访记录。 (6)如理货员在拜访期间,发现门店已经有卖而目前系统中无记录的情况,则可以通过扫 描SKU的条形码,系统会自动匹配该SKU的信息给理货员。 匹配顺序:连锁总店—区域管理—基本SKU信息 补充说明: (1)公司动态内容,为了显示保乐力加集团的整体形象,有必要对公司的动态进行展示。 要包括集团的光辉历程,门店信息,集团的促销信息等。 (2)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员 需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且 分发。 (3)陈列报告,为显示每次理货员必须处理的门店信息记录及图片等。 (4)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (5)价格显示,系统会自动带出竞品信息。罗列在下半部。理货员在进行拜访期间,可以对本身的SKU及竞品的价格进行登记。主要登记内容:零售价格,促销价格及促销期间。信息采集完毕,可以供后台进行统计分析。 (7)在陈列信息栏中,有其它途径过来的回应确认,可以一栏展示在上半部。如该理货员需要发起确认,也可以通过点击发起确认进行提出。发起确认的需要销售员进行审核并且分发。 (7)库存信息,主要记录SKU的库存数量。 (8)上半部为助销申请内容,主要是对一些礼品的申请。 (9)订单处理,为新增订单,退货内容及换货内容的跟踪。 2.销售机会: (1)打开销售机会界面,会自动定位目前的门店列表。 (2)用户可以输入门店名称查询具体的门店信息及地图位置。

基于android浏览器详细设计

一、引言 1.编写目的 从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件 表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是 进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近 于源程序的软件表示。 2.项目背景 2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应 用于智能手机,也在平板电脑市场急速扩张。采用Android系统主要厂商包括台湾 的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,另外还 有中国大陆厂商如:华为、中兴、联想等。 目前,手机浏览器产品的市场被少数国外大公司垄断,众多的小型手机浏览器也尚处于发展期,而国内的自主技术手机浏览器更屈指可数,刚刚进入实用阶段。 迫切需要更多的人来关注手机浏览器技术,开发中国自主知识产权的浏览器产品。 GOO 借助强大的android 智能系统,针对目前手机浏览器市场的不饱和现状,如果最终开发出的GOO浏览器的良好特性符合市场需求,GOO的市场价值不可估量。 3.定义 总体设计、接口设计、运行设计、出错设计、具体的概念与含义在文档后将会解释。 二.任务概述 1.目标 该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。 2.功能要求 一、浏览 1.网址补全。根据书签和历史中的条目,自动补全网址,减少用户输入。 2.多窗口浏览。同时打开多个页面,轻松在不同的页面间切换。 3.复制、粘贴。复制感兴趣的文字,粘贴保存。 4.在线视听。支持在线听音乐与看视频。

Android图片处理工具类(圆角,压缩)

Android图片处理工具类(圆角,压缩) 工作中用到的图片处理工具类,简单写下来,以便备用! public class BitmapUtils { /** * 图像背景圆角处理 * bitmap要处理的图片 roundPx 图片弯角的圆度一般是5到10之间 */ public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) { // 创建与原图大小一样的bitmap文件,Config.ARGB_8888根据情况可以改用其它的 Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); // 实例画布,绘制的bitmap将保存至output中 Canvas canvas = new Canvas(output); final int color = 0xff424242;//写自己需要的颜色值 final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); paint.setAntiAlias(true);

canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, rect, rect, paint); bitmap.recycle(); bitmap = null; return output; } /** * bitmap缩放 * width要缩放的宽度 height要缩放的高度 */ public static Bitmap getBitmapDeflation(Bitmap bitmap, int width, int height, boolean recycle) { if (null == bitmap) { return null;

如何在android程序中显示图片

我们做Android 程序的时候,有时候需要显示图片在界面上,这里我们将实现一个将图片展示到手机屏幕,并让其不停的浮动的效果! 首先我们要先准备一张图片,在这里我准备了一张图片,如下: 将此图片放到文件夹"res->drawable-*dpi"下,记得,三个文件夹都要放,因为系统会根据不同的分辨率去取不同的图片,如果有的没放,在某些分辨率下,会找不到资源。将此图片重命名为“pic.png”,在R.java里的drawable 类里会生成一个pic的常量。 图片要显示,就是要容器可以让其显示,因为所有的Android的UI组件都是继承自View,View也实现了Drawable接口,所以在此,我们也重新定义一个View让其用来显示我们的这张图片,并让这张图片浮动。我们创建一个在包“org.leo.bitmap”下的,类名为“MovingPictureView”的类,该类继承自android.view.View。此类目前代码大致如下: public class MovingPictureView extends View { public MovingPictureView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); } } 我们要重载他的“onDraw”方法,这个方法就是Android框架展现View的时候用来绘制显示内容那个的方法。在此我们将他的所有方法体都删除掉(上面代码红色部分删掉),完全将其重写。首先我们要创建一个图片对象,在Android里,所有位图图片都是使用Bitmap类来封装的,我们就先声明一个代表我们刚才图片的一个Bitmap对象,可通过以下方式声明: Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic); 其中的“getResources()”方法,是有View提供的,可以根据此方法获得我们所有的资源,将来有机会再细说!

android中selector背景选择器(全部属性)

浅谈android的selector背景选择器 ---------------------------------------------------- Item顺序是有讲究的,条件限定越细致,则应该放到前面。比如这儿如果把1,2行和3,4行的item交换,那么pressed的就永远无法触发了,因为有item已经满足条件返回了。可以理解为代码中的if语句。 ---------------------------------------------------- 关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。 首先android的selector是在drawable/xxx.xml中配置的。 先看一下listview中的状态: 把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的背景图片。 drawable/list_item_bg.xml

如何用Android用ImageView显示本地和网上的图片说明

如何用Android用ImageView显示本地和网上 的图片说明 Android:ImageView如何显示网络图片 本文地址:https://www.doczj.com/doc/3617265203.html,/programmar/blog/item/79483ecb2ac75cf552664fd3.html在 Android中显示一张网络图片其实是超级简单的,下面就一个非常简单的例子: Step1: 1、创建你的Activity,本例中以ViewWebImageActivity说明; 2、ViewWebImageActivity中的代码如下: String imageUrl = "https://www.doczj.com/doc/3617265203.html,/baidu/pic/item/7d8aebfebf3f9e125c6008d8.jpg"; //这就是你需要显示的网络图片---网上随便找的 Bitmap bmImg; ImageView imView; Button button1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.doczj.com/doc/3617265203.html,yout.main); imView = (ImageView) findViewById(R.id.imview); imView.setImageBitmap(returnBitMap(imageUrl)); } public Bitmap returnBitMap(String url) { URL myFileUrl = null; Bitmap bitmap = null; try { myFileUrl = new URL(url); } catch (MalformedURLException e) { e.printStackTrace(); } try { HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection(); conn.setDoInput(true); conn.connect();

android消除Preference黑色背景

话不多说,直接切入正题 一、Android中消除preference拖拉时黑色背景方法: 首先建立一个preference_list.xml 代码如下: 注释:android:divider="@drawable/divider" android:cacheColorHint="#00000000" 重点是这两句话:第一句是设置preferece之间的分割线; 第二句就是消除preference拖拽时产生的黑色背景啦!(“#00000000”就是将其设为透明,你也可以把它设为其他颜色) 二、代码中调用方法: 随便写个PreActivity.java import android.content.Context; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; public class PreActivity extends PreferenceActivity { @Override

android 图片剪裁

1. Canvas类用来实现绘制.通过组合使用Canva s类的成员函数可以实现随心随欲地绘制图片的任何部分. Canvas.clipRect:设置显示区域 Canvas.drawBitmap:绘制 例子: Bitmap b=Bitma pFactory.decodeStream("图片编号", null);//读取图片 ... Canvas c = null;//实例Canvas c.save();//记录原来的ca nvas状态 c.clipRect(100,100,200,300);//显示从(100,100)到(200,300)的区域(单位:象素) c.drawBitmap(b,10,0,null); //将阉割过的图片画到(10,0)位置 c.restore();//恢复canva s状态 2. android 从sdcard 读取图片剪切粘贴 文章分类:移动开发 android 图片编辑时需要从外界(sdcard ,res/.png...,xml)读取图片到画布,其中从sdcard读取图片到画布的过程如下: public void drawBitMapFromSDcard(String dir) { if(dir ==null || dir.equals("")){ return ; } bitMap = BitmapFactory.decodeFile(dir); int width = bitMap.getWidth(); int height = bitMap.getHeight(); 如果图片像素太大超过手机屏幕大小可以按照手机屏比例进行缩放 if (width > 320 && height > 480) { int newWidth = 320; int newHeight = 480; float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; float minScale = Math.min(scaleWidth, scaleHeight); matrix = new Matrix();

Android 标题栏添加控件及Button控件背景颜色的设置

Android 标题栏添加控件及Button控件背景颜色的设置 一、Android中标题栏添加按 现在很多的Android程序都在标题栏上都显示了一些按钮和标题,如下图: 下面通过实例来看一下如何实现。 1、在layout下创建一个titlebtn.xml文件,内容如下:

android图片3d旋转

看到很多人在问如何实现三维的翻转效果,所以今天在这里简单的给大家分析一下,其实在APIDemo中就有这样一个例子,那么我们就以其为例来学习Android中的翻转动画效果的实现,首先看一下运行效果如下图所示。 Android中并没有提供直接做3D翻转的动画,所以关于3D翻转的动画效果需要我们自己实现,那么我们首先来分析一下Animation 和Transformation。 Animation动画的主要接口,其中主要定义了动画的一些属性比如开始时间,持续时间,是否重复播放等等。而Transformation中则包含一个矩阵和alpha值,矩阵是用来做平移,旋转和缩放动画的,而alpha值是用来做alpha动画的,要实现3D旋转动画我们需要继承自Animation类来实现,我们需要重载getTransformation和applyTransformation,在getTransformation中Animation会根据动画的属性来产生一系列的差值点,然后将这些差值点传给applyTransformation,这个函数将根据这些点来生成不同的Transformation。下面是具体实现: 1.public class Rotate3dAnimation extends Animation { 2.//开始角度 3. private final float mFromDegrees; 4.//结束角度 5. private final float mToDegrees; 6.//中心点

7. private final float mCenterX; 8. private final float mCenterY; 9. private final float mDepthZ; 10.//是否需要扭曲 11. private final boolean mReverse; 12.//摄像头 13. private Camera mCamera; 14. public Rotate3dAnimation(float fromDegrees, float toDegrees, 15. float centerX, float centerY, float depthZ, boolean reverse) { 16. mFromDegrees = fromDegrees; 17. mToDegrees = toDegrees; 18. mCenterX = centerX; 19. mCenterY = centerY; 20. mDepthZ = depthZ; 21. mReverse = reverse; 22. } 23. 24. @Override 25. public void initialize(int width, int height, int parentWidth, int par entHeight) { 26. super.initialize(width, height, parentWidth, parentHeight); 27. mCamera = new Camera(); 28. } 29.//生成Transformation 30. @Override 31. protected void applyTransformation(float interpolatedTime, Transformat ion t) { 32. final float fromDegrees = mFromDegrees; 33.//生成中间角度 34. float degrees = fromDegrees + ((mToDegrees - fromDegrees) * interp olatedTime); 35. 36. final float centerX = mCenterX; 37. final float centerY = mCenterY; 38. final Camera camera = mCamera; 39. 40. final Matrix matrix = t.getMatrix(); 41. 42. camera.save(); 43. if (mReverse) { 44. camera.translate(0.0f, 0.0f, mDepthZ * interpolatedTime); 45. } else {

基于Android平台的浏览器开发与实现

中国地质大学 毕业设计(论文)开题报告 题目:基于Android平台的浏览器开发与实现 学院:机电学院 专业:通信工程 班级:075083班 学号:858 姓名:许磊 指导教师:张晓峰 日期:2012 年 2 月29 日

一、选题的依据及意义: 随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。 浏览器是网民进入互联网的第一窗口,让用户能够快速的访问自己所需要的信息,如小说、新闻、音乐、视频、体育赛事、天气情况、股市行情等。如今,手机浏览器不仅仅是一种网络应用程序,也逐渐成为一种网络应用平台。各种网络应用基本都可以在浏览器上实现,所以被用户广泛接受成为各大浏览器厂商的最主要目标。 研究本课题的意义是让用户有一个快速的上网浏览入口,给用户一个界面友好,功能强大,易于操作,便于管理的浏览器。同时也让自己更加熟悉Android 应用程序的开发,了解Android应用程序开发的流程,各个模块之间的联系。 二、国内外研究现状及发展趋势: Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序—移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的30多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 经过多年的发展,第三代数字通信( 3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Android用户也逐渐增加,根据发展趋势,Android将成为第一大智能手机平台。 浏览器作为用户访问网络的窗口,各大厂商也相继推出了自己的浏览器,如

安卓图片批量处理软件 (12页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 安卓图片批量处理软件 篇一:Android_解决图片大量下载:软引用 Android 解决图片大量下载:软引用 1.对象的强、软、弱和虚引用 为了能更加灵活控制对象的生命周期,需要知道对象引用的4中级别,由高到低依次为:强引用、软引用、弱引用和虚引用 备注:这四种的区别: ⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ⑵软引用(SoftReference) 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存(下文给出示例)。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。 ⑶弱引用(WeakReference) 弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。

Android图片浏览器

长沙学院课程设计说明书 题目Android图片浏览器 系(部) 计算机科学与技术 专业(班级) 软件工程(10软件6班) 姓名彭成辉 学号2010022504 指导教师杨凤年 起止日期2013.05.27~2013.06.21

课程设计任务书 课程名称:综合实训Ⅱ 题目:Android图片浏览器 已知技术参数和设计要求: 设计基于Android平台的图片浏览器程序,具体要求如下: 1.图片文件的管理功能。在配置文件中配置访问SD卡文件的权限,使用File类访问SD卡上的图片文件。 2.用户浏览图片的功能。用户通过触摸屏操作选择图片进行浏览,使用事件响应函数响应用户的操作,可以使用ImageView在屏幕中显示图片。 3.用户编辑图片的功能。用户可以放大、缩小、旋转和裁剪图片。 4.设置壁纸功能。将选择的图片设置为壁纸,可以使用WallPaper类来完成该功能。 5.图片文件的排序功能和查找功能。根据文件的名称、日期或者其他属性进行排序,根据文件的名称、日期或者其他属性进行查找。 6.使用多种视图展示图片的功能。可以使用ListView、GridView或者Gallery类来展示图片。各阶段具体要求: (1)开发前的准备:Android开发环境的搭建。 (2)系统分析与设计:包括程序需求分析、UI设计、业务逻辑设计等。 (3)系统编码实现:根据以上六点要求,对Android图片浏览器进行编码实现。 (4)测试:编写测试用例对程序进行测试。 设计工作量: (1)软件设计:完成问题陈述中所提到的软件以及工作量要求。 (2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。 工作计划: 安排4周时间进行综合实训。 第一周----Android开发环境的搭建,软件需求分析。 第二周----UI设计、业务逻辑设计。 第三、四周----Android图片浏览器的代码实现与软件测试。 注意事项 ?提交文档 长沙学院课程设计任务书(每学生1份) 长沙学院课程设计论文(每学生1份) 长沙学院课程设计鉴定表(每学生1份) 指导教师签名:日期:2013-5-26 教研室主任签名:日期: 系主任签名:日期:

Android超炫图片浏览器代码

Android超炫图片浏览器代码 使用过Android自带的gallery组件的人都知道,gallery实现的效果就是拖动浏览一组图片,相比iphone里也是用于拖动浏览图片的coverflow,显然逊色不少。实际上,可以通过扩展gallery,通过伪3D变换可以基本实现coverflow的效果。本文通过源代码解析这一功能的实现。具体代码作用可参照注释。 最终实现效果如下: 要使用gallery,我们必须首先给其指定一个adapter。在这里,我们实现了一个自定义的ImageAdapter,为图片制作倒影效果。 传入参数为context和程序内drawable中的图片ID数组。之后调用其中的createReflectedImages()方法分别创造每一个图像的倒影效果,生成对应的ImageView数组,最后在getView()中返回。 /* * Copyright (C) 2010 Neil Davies * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.doczj.com/doc/3617265203.html,/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This code is base on the Android Gallery widget and was Created * by Neil Davies neild001 'at' gmail dot com to be a Coverflow widget * * @author Neil Davies */ public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; private Context mContext; private Integer[] mImageIds ;

Android 中的ListView选中项的背景颜色怎么设置

Android 中的ListView选中项的背景颜色怎么设置? android中ListView获得焦点的项默认是黄色的(模拟器上)现在因为需求想要自己定义被选中项的背景能实现吗? 最佳答案 完全可以实现,这用到了Android的Selector(根据组件的状态显示该状态对应的图片,并以此图片作为背景显示)。把下面的XML文件保存成你自己命名的.xml文件(比如list_bg.xml),注意,这个文件相当于一个背景图片选择器,在系统使用时根据 ListView中的列表项的状态来使用相应的背景图片,什么情况使用什么图片我在下面都进行了说明。还有,你可以把它看成是一个图片来使用,放于 drawable目录下,配置背景属性 android:background="@drawable/list_bg"就能达到你需要的目的了。 --------------------------------------------------------------------------------------------------------------- 在values下新建一个color.xml #808080FF #FFFFFFFF #00ffffff

android:设置背景图片、背景颜色透明

android:设置背景图片、背景颜色透明 2012-03-15 16:51:09|分类: android UI |标签: |字号大中小订阅 Button或者ImageButton的背景设为透明或者半透明 半透明

相关文档 最新文档