Android应用开发详解
虽然Android智能手机和平板电脑的速度一天比一天快,但是开发者必须记住一点:他们开发的应用程序仍在一种资源紧张的环境下运行,这种环境主要依赖性能与最新的台式机或笔记本电脑无法比拟的电池和处理器。下面介绍的一些方法可以帮助你的应用程序“瘦身”或者说“Android提升开发性能十大要点”,以便它们在今天和明天的Android设备上最顺畅地运行。
先来说说确保应用程序响应迅即的几个编程要点。
第一个要点:首先要有良好的编程习惯
要成为一名优秀的资源管理员;既要运用常识,还要使用公认的算法和标准的设计模式。在资源使用方面,如果你打开了资源,要记得关闭资源。要尽量晚地获取,尽量早地释放。这些由来已久的编程准则同样适用于你的Android应用程序,如果它们使用底层的设备服务,更是如此。
比如说,假设你编写的一个应用程序依赖基于位置的服务。除非你绝对有必要,否则不要开始注册、获取位置最新信息;而且要确保,一旦你不再需要这些信息,就要取消获取最新信息的注册。这将帮助你避免不必要地耗费设备电池电量或占用系统资源。
第二个要点:让阻塞操作远离主用户界面线程
想确保你的应用程序运行起来很灵活,就要使用AsyncTask、线程、IntentService 或自定义后台服务来处理脏活。应使用装入器来简化装入时间长的数据(如游标)的状态管理。你无法容忍你的应用程序在某个操作正在处理的时候出现滞后或停顿。
如果某个操作很费时间和资源,就要卸载这部分操作、对它进行异步处理,那样你的应用程序仍保持响应迅即,用户可以处理他们的事务。这个原则适用于下列操作:磁盘读写,访问内容提供方、数据库和互联网,以及解析和其他长时间的任务。
第三个要点:使用最新的Android软件开发工具包(SDK)版本、应用编程接口(API)和最佳实践
确保你开发的应用程序是最新的,因而要使用Android平台提供的最新工具。随着Android平台不断发展,它也在不断改进。一些功能可能已被弃用,或者换成了更好的功能。核心API得到了修正版(bug fix)和性能改进。已经引入了装入器等新的API,帮助开发者编写出运行更稳定、响应更迅即的应用程序。
你知道可以启用Android3.0应用程序中的硬件加速功能吗?赶紧启用吧!要明白最佳实践会随着时间的变化而变化。明智的开发者密切关注Android平台的新功能、哪些功能不再被推荐。
第四个要点:考虑使用限制模式(Strict Mode)
你可以使用名为限制模式(StrictMode)的AndroidAPI,帮助你查明哪里违反了几个良好的编程习惯。StrictMode会帮助你确认你的应用程序是不是存在内存泄漏,并且检测你的应用程序是不是在试图执行长时间的阻塞操作,这些操作应该被卸载到线程或别的渠道(参阅第二个要点)。
Android2.3里面引入StrictMode类(android.os.StrictMode)。
第五个要点:在发布应用程序之前,禁用或尽量少用调试和诊断
如果你的Android应用程序开发起来需要一些时间,你可能已将一些日志和调试代码嵌入到了应用程序中。写入到日志及其他此类输出系统给性能带来了影响。确保在发布应用程序之前,尽量少用或完全禁用这些功能。
现在不妨说说如何运用良好的用户界面设计原则,让你应用程序的屏幕更快速地装入:
第六个要点:确保你设计的布局简单、简练和浅层
简单的屏幕有助于阅读起来最轻松,而简单的布局装入起来最快速。你不应该过于深层地嵌套你的布局,或者用不必要的过多视图(View)控件塞满屏幕。花些时间来开发用户可以高效使用的简练用户界面,而不是试图把太多功能塞入到单单一个屏幕上。这不但有助于提升应用程序的性能,还有助于让你的应用程序对用户来说更高效。
Fragments有助于在不影响灵活地针对不同类型的设备进行设计的情况下,划分用户界面功能。
第七个要点:让你应用程序的资源适合目标设备
添加适合特定设备配置的资源,那样它们就能尽可能高效地装入。我们在谈论图形资源时,这点尤为重要。如果你添加了可利用的庞大图像资源,需要装入和调整大小,就无法有效地使用其他的应用程序资源。
另一个要点就是,如果你准备你的应用程序可以在许多设备上运行,为了让应用程序软件包文件保持合理的大小,应该最初只添加运行应用程序所需要的核心资源,然后让应用程序下载适合该设备的内容。
第八个要点:使用Hierarchy Viewer工具
Hierarchy Viewer工具可以帮助你调试你的应用程序布局。它还提供了宝贵的分析信息,以便了解布局里面的每一个视图控件测量、渲染和绘制要花多少时间。只有准确找到了问题的根源,问题解决起来才容易。
第九个要点:使用layoutopt工具
Layoutopt工具是一款简单的命令行工具,它可以帮助你找到不必要的控件嵌套以及缩减布局资源的其他方法,以便尽量减少资源的使用。它让你可以了解哪些布局控件可能是多余的或不必要的。控件越少、布局层次越浅,性能就越好。
最后,你认为你的应用程序做到了最好吗?现在该对它测试一下了。
第十个要点:使用Traceview及其他Android工具进行分析
Android SDK随带了许多工具,可用来对你的应用程序进行分析。其中最流行的工具恐怕莫过于Traceview,这款图形化工具可以帮助你调试和找到应用程序中的性能瓶颈。不妨看看Android说明文档中介绍的一些调试工具。
3G梦工场网站:https://www.sodocs.net/doc/9f12371182.html,/ ---- https://www.sodocs.net/doc/9f12371182.html,/ 地址:湖北武汉市广埠屯资讯广场B座7楼联系QQ:800032608
现在最热门的2款智能手机操作系统为安卓和ios。安卓是Google出的开放式手机系统,IPHONE是Mac出的封闭手机系统。3G梦工场作为湖北唯一的双专业学校,3G梦工场开始启用“六位一体全天候跟踪式教学”法。学生从入学开始就有职业规划师,班主任,专业讲师,项目经理以及就业指导老师六位一体全方位为学员服务!简单来说,就是无论白天、晚上还是平时、周末,3G梦工场的教学专家都会和你在一起进行教与学的互动,确保学生能够享有最多的教学资源和最全面的教学服务。
在3G梦工场成立5周年之际,特推出“0首付参加学习,先就业后还款”让学员在3G梦工场学习告别学费的困扰,学习、就业双保险。
Android入门教程之Java核心技术阶段初级课程,从知识分类来说,可以分为三个部分来说明: (一)基础语法: 讲解Java发展史,Java环境搭建,环境变量配置,Java程序的基本结构,java和javac命令的使用,Notepad++工具的使用,语法格式,变量和常量,二进制转换,运算符、表达式,分支结构和循环结构语句,数组与多维数组,冒泡排序,二分查找,随机生成一组不重复的数算法,通过模拟一个双色球案例,把基础语法容融会贯通,打下扎实的基础。 (二)面向对象: 讲解Java中的OOP/OOD/OOA的知识,深入讲解OOP的封装、继承、多态、抽象的概念与实际应用,涉及内容为类与对象的定义和关系,封装分别在Java EE开发和Android开发中的不同,对象的引用传递,对象的内存分配和GC,构造方法和匿名对象,如何开发和定义一个类,深入讲解String类的原代码原理内部实现、特性和内存管理,通过四种字符串连接时的场景分析来深入理解Java编译期和运行期的区别,String的相关操作方法;static 关键字,构造方法私有化,对象数组与动态数组的实现原理,链表数据结构,内部类及优缺点,在EE开发和Android开发的区别和经验;继承的思想,方法重写与重载,super关键字,抽象类、接口和多态的思想,以及真实环境中的应用,Object类,包装类与特性,包与修饰符;课程贯彻的设计模式有:单例模式、工厂模式、策略模式、适配器模式、模板方法模式、代理模式。以及OO设计中的六大原则。通过本节课程你可以彻底理解什么是面向对象编程,加以时日练习,必成大器。 (三)Eclipse与异常处理 异常的基本处理格式和5大关键字的联合使用,Java中异常处理的新特性,自定义异常类,编译时异常与运行时异常的区别,JVM对异常的处理过程,经过前两节课程共两周多的Notepad++写代码,已经达到了纯手写代码的目的,本节课程开始引入了99.9%的程序员都在使用的集成开发环境Eclipse,他对异常调试的强大支持,会让你叹为观止,当然Eclipse 不仅仅只有这些,在这里,你将一一学到。 Android入门教程之Java核心技术阶段中级课程,Java基础、面向对象、Java高级开发,讲解以下内容: (一)常用类库API与算法 讲解StringBuffer类的内部原理,分析原代码实现,与String的区别与应用经验,如何实现国际化程序,日期操作API,Comparable的两种实现,对象克隆,Arrays工具类、Math 工具类、Random类的使用,选择排序算法和二叉树数据结构实现,通过本节课程,你将学到常用类库API和工作中最最常见的排序算法和二叉树,本节过后,你的功力又增强了。 (二)IO与New IO
实验一A n d r o i d开发环境搭建 一、实验内容 1)了解Android开发所需要的开发包和工具,以及获得它们的方式; 2)下载、安装和配置Android开发包; 3)测试安装的开发环境,创建了一个Android项目; 4)在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手 机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Android的系统架构、Android应用程序框架; 2、参考《Android应用开发揭秘》的第二章,从FTP上下载java JDK和Eclipse 放在安装目录下,Eclipse直接将下载的压缩包解压即可。对于JDK双击安装,然后对java的开发环境进行配置:设置环境变量创建“Path”变量名,添加JDK安装目录中“bin”文件夹路径;创建“CLASSPATH”变量,添加JDK安装目录中“lib”以及“demo”的路径;最后进行测试是否安装成功。 4、安装完成后配置Android SDK,将Android SDK安装目录中的tools文件夹路径添加到环境变量中,更改系统变量中的“Path”项,添加路径: 5、安装和配置ADT,参照Android应用开发秘籍,启动Eclipse,点击“Help”菜单,按照步骤,在“Add Site…”之后,文本框里输入地址。打开菜单“Windows”,依次选择“Preferences”->“Android”,点击浏览选择Android SDK的安装路径,点击OK;然后打开菜单“File”,如下图查看得安装配置成功。 6、创建第一个Android项目HelloAndroid,新建项目,选择“Android Application Project”子项,如图。在“Project name”文本框输入“HelloAndroid”,“Build Target”选项框中选择“Android SDK ”,依次完成项目的设置,如下图。 HelloAndroid项目创建好,由ADT插件自动生成,可以运行。 7、运行HelloAndroid,使用Android仿真模拟器。选择Window,打开AVD Manager,新建一个AVD,选择API的等级为API 10,,填写SD卡的大小为2G,如图。 8、运行HelloAndroid项目 9、调试HelloAndroid项目,首先将Eclipse开发工具的工作界面切换到DDMS: 10、实验过程中发现的问题以及解决问题的方法 在安装Android SDK的时候,遇到信息“Failed to fetch URL…”的错误提示,然后将HTTPS方式改为HTTP方式,问题就解决了。
Android 人机界面设计规范 1Android 设计的依据 1.1 框架结构及流程 是什么使得android 有着独特的用户体验? 后台处理支持多任务功能 正在进行和事件驱动的提示信息 通过Widgets 和live folders 来实现实时信息的预览 用户想用时,任一应用程序都可以挑选和选择 android 不是关于程序的,它是关于活动,把任务分层, 1.2 架构基础 硬件平台 android 设备代表的是硬件和软件的完美组合。硬件辅助导航操作,并给android 提供更多更好的功能。当菜单没有开启,要把屏幕最大化时,菜单按钮可以在屏幕上提供更多的内容。返回按钮允许使用返回堆(back stack)。 竖屏与横屏 一般来说,用户界面开发竖屏与横屏。在新横屏也仍存在于新的Android 手机中。99%的android 布局支持横屏。 焦点和菜单 在触摸模式里没有焦点,只有轨迹球。Android 平台里没有鼠标焦点。确定你从未显示焦点。主菜单应该包括全部功能;它们与活动联系一起形成整体。菜单上的图标按重要性排序。如果有多于5 个图标,使用点击more menu 菜单来查看那些不太重要的菜单项。上下文菜单(长按)集中在一个特定对象。 总是把那些与所选项最相关的行为放在长按菜单的顶部。 需要记住的几点: 设计时要考虑速度和简洁 尽量分层来分等级 屏幕上的活动尽量最小 使用下载进度条,下载数据时,而不是让用户等待去看一个加载完全的页面。 考虑活动流而不是线性行为 1.3 屏幕上的行为
android 设计了特定的行为方式。在你的应用程序里利用好这一点。应该坚持android 行为的标准,避免混淆用户。 1.4 表达 细节使得产品集中在细节。程序的美学会帮助你集中注意在那些应用体验核心的关键任务上。API DEMO 是开始你的工具包的好地方。 2 用户界面原则 这部分试图讲述创造一个好的用户界面的一些基本的交互设计原则。这些原则是基本的,不止能应用于android 的用户界面设计,也可以应用于其他。苹果建议开发者花费60%的开发时间来进行设计工作。下面的用户界面原则将为好的设计提供一个基础。 2.1 隐喻 隐喻是构建一个基于操作任务心智模型的模块;用它们来传递应用程序的概念和功能。基于真实世界的应用对象可以帮助用户很快的理解该应用程序。当你设计你的应用程序时,要注意andriod 中存在的隐喻,不要重新定义它们。同时,检查你的应用程序执行的任务,看是否有些自然隐喻你可以使用。 2.2 反映用户的心智模型 用户已经有了一个来描述你的程序正在进行的任务的心智模型。这个心智模型产生于真实世界经验、其它软件和一般电脑基本知识的结合。比如说,用户在真实世界里有写字、寄信的经验,也会产生特定的期待,像写一封新的信,选一个接受者,然后寄出信。一个忽略用户心智模型的电子邮件程序用起来会很困难和不舒服。这是因为程序强加给用户一个不熟悉的概念模型,而不是建立一个用户已有的知识经验模式。 在设计程序用户界面之前,试着去发现你的用户的心智模型,这样帮助用户去执行任务。心智模型中内在的隐喻,它代表了任务的概念组成。在写信这个例子中,隐喻包括信件、邮包和信封。在涉及到照片的任务的思考模式中,隐喻包括照片、照相机和专辑。我们要努力地发现用户的期望,包括任务组成、组织、窗口布局的工作流、菜单和工具栏组织、控制面板的使用。 要通过努力地何必把个下面的特征与用户心智模型相融合: 熟悉性 用户的心智模型主要是建立在经验的基础上 简单化 一项任务的心智模型通常是流线型,关注任务的基本组成部分。尽管对于一个给定的任务有很多可选的细节,但是基本的组成部分占大部分,并且不会占用用户的注意。 可利用性Availability
注:本教程是讲解在Windows XP下搭建安卓开发环境的。 安装目录: 步骤1 安装JDK 步骤2 安装Android SDK 步骤3 安装Tomcat 步骤4 安装Ant 步骤5 安装Eclipse 步骤6 安装Eclipse的ADT插件 步骤7 在图形界面下管理AVD 步骤8 设置Android系统语言 本教程的软件可以从我博客“绿杨芳草”下载。 方法/步骤 1、安装JDK 运行安装程序【jdk-6u22-windows-i586-p.exe】,分别点击下一步进行安装。 在安装过程中先后会出现两次选择安装目录的界面,全部改为以下路径: jdk安装目录:C:\Java\jdk1.6.0_22 jre安装目录:C:\Java\jre6\
安装好之后,配置环境变量: 打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。 在上方的用户变量中依次新建如下变量,并分别填入如下路径: 变量名:JAVA_HOME 变量值:C:\Java\jdk1.6.0_22 变量名:PATH 变量值:%JAVA_HOME%/bin 变量名:CLASSPATH 变量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar 图1 配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【javac】--按【回车键】,若看到以下信息,则代表配置成功。
图2 2、安装Android SDK 将【android-sdk_r17-windows.zip】解压到E:\Android目录下(Android目录自己新建,以后所有关于Android开发相关软件都会统一放到该目录中),得到一个android-sdk-windows 文件夹,该文件夹包含如下文件结构: add-ons:该目录下存放额外的附件软件。刚解压后,该目录为空。 platforms:该目录下存放不同版本的Android版本。刚解压后,该目录为空。 tools:该目录下存放了大量Android开发、调试的工具。 SDK Manager.exe:该程序就是Android SDK和AVD(Android虚拟设备)管理器。 通过该工具可以管理Android SDK和AVD。 运行E:\Android\android-sdk-windows目录下的【SDK Manager.exe】 然后等待更新...(该步骤必须联网,因为SDK安装包需要在线获取)。 在更新的过程中若遇到如下的提示窗口:
比如:计算WVGA(800*480)分辨率,3.7英寸的密度DPI
图1 Diagonal pixel 表示对角线的像素值(=),DPI=933/3.7=252 3.手机屏幕的分类 3.1根据手机屏幕密度(DPI)或屏幕尺寸大小分为以下3类,如图2所示 图2 3. 2手机屏幕分类和像素密度的对应关系如表1所示:
图3 从以上的屏幕尺寸分布情况上看,其实手机只要考虑3-4.5寸之间密度为1和1.5的手机4 UI设计 从开发角度讲,应用程序会根据3类A ndroid手机屏幕提供3套UI布局文件,但是相应界面图标也需要提供3套,如表2所示
需要根据物理尺寸的大小准备5套布局,layout(放一些通用布局xml文件,比如界面中顶部和底部的布局,不会随着屏幕大小变化,类似windos窗口的title bar),layout- small(屏幕尺寸小于3英寸左右的布局),layout-normal(屏幕尺寸小于4.5英寸左右),layout-large(4英寸-7英寸之间),layout-xlarge(7-10英寸之间) 2)图片资源方面 需要根据dpi值准备5套图片资源,drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi Android有个自动匹配机制去选择对应的布局和图片资源 分享到:?上一篇:分享摩托罗拉milestone手机升级到Android 2.2的过程 ?下一篇:基于feng streaming server 搭建Android直播测试平台 查看评论 7楼pc0de 2011-12-16 17:11发表[回复] 谢谢分享啊 6楼yang_hui198**** ****-11-19 16:44发表[回复] 很强大!!!很喜欢!!! 3楼noICE1 2011-08-16 14:59发表[回复]
通信实训报告 -Android移动平台开发 学院:信息工程学院 班级: 学号: 姓名:
实训内容: 一.1.Andriod的简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread 和Android 3.0 Honeycomb。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。 2.Android构架图 二.1软件下载 Android SDK,网址是https://www.sodocs.net/doc/9f12371182.html,. JDK的下载地址https://www.sodocs.net/doc/9f12371182.html,/javase/downloads/widget/jdk6.jsp。Eclipse的下载网址是https://www.sodocs.net/doc/9f12371182.html,/downloads/ 2.Android开发环境搭建
任务一 Android开发环境的搭建 第一部分知识回顾与思考 1.Android的四层架构分别包括哪几层分别起到什么作用 答:Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。 系统库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提供编程接口。 应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。 应用程序层(Applications):包含了Android平台中各式各样的应用程序。 第二部分职业能力训练 一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内) 1.Android四层架构中,应用框架层使用的是什么语法( C ) A.C B.C++ C.Java D.Android 2.Android四层架构中,系统库层使用的是什么语法( B ) A.VB B.C /C++ C.Java D.Android 3.应用程序员编写的Android应用程序,主要是调用( B )提供的接口进行实现。 A.应用程序层 B.应用框架层 C.应用视图层 D.系统库层 二、填空题(请在括号内填空) 1.在Android智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android的(应用程序)层。 2.为了让程序员更加方便的运行调试程序,Android提供了(模拟器),可以方便的将程序运行其上,而不要实际的移动终端。 3.为了支持Java程序运行,我们需要安装(JDK)。 三、简答题 1.简述Android开发环境安装的步骤。 答:下载并安装JDK,配置JDK的环境变量; 从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT); 安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK 路径)。 2.简述Android应用程序创建和运行的步骤。 答:通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。
1.下载需要用到的工具: (1)下载JAVA的IDE开发工具– Eclipse 到Eclipse官方网站下载Ecplise For Java EE的最新Windows版本 下载页面地址: https://www.sodocs.net/doc/9f12371182.html,/downloads/ 下载Ecplise (2)下载Java开发包— Java SE Development Kit (JDK) JDK 6 到Sun官方网站下载JDK6,选择JDK 6 Update 12 下载页面地址: https://www.sodocs.net/doc/9f12371182.html,/javase/downloads/index.jsp (https://www.sodocs.net/doc/9f12371182.html,/technetwork/java/javase/downloads/index.html)
下载JDK6 (3)下载Android开发包— Android SDK 到Google的官方网站下载Android的开发包For Windows的 下载地址:https://www.sodocs.net/doc/9f12371182.html,/android/android-sdk-windows-1.5_r2.zip 2.下载完需要的工具之后,开始安装 (1)安装Ecplise:下载回来的 Ecplise(eclipse-java-europa-winter-win32.zip)直接解压即可 (2)安装JDK6:运行下载回来的JSK安装包(jdk-6u12-windows-i586-p.exe)一路”下一步”即可(版本可能会有所不同) (3)安装Android开发包(SDK):下载回来的SDK包 (android-sdk-windows-1.5_r2.zip)直接解压即可 3.让Ecplise自动安装Android开发插件(ADT- plugin) (1)启动安装完(解压)后的Ecplise目录下的Ecplise.exe (2)点击菜单”Help”->”Software Updates”,在打开的窗口中切换到选项 页”Availabe Software”
视图组件的使用模式 常用组件 高级组件 提示框与警告对话框
就是Android应用程序的开发过程。一般过程是先通过XML布局文件或Java代码创建界面布局,设定组件显示样式,随后获取UI组件对象,并处理组件事件响应。 视图组件的定义 资源的访问 生成视图组件资源标识 视图组件的引用 视图组件的事件响应 组件的常用属性
1.1视图组件的定义 使用XML布局文件定义视图组件 使用Java代码定义视图组件(不推荐)
1.1视图组件的定义 使用XML布局文件定义视图组件 Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。
1.1视图组件的定义
想要学习移动应用的开发,除了必备的知识要掌握好之外,更多的是要掌握一些核心的基础知识,并且是能够起到关键性作用的知识点,必须是要了解清楚,如果你也是在学习Android开发,下面的核心基础或者对你有一定的帮助! 1.ListView的引入 为什么要采用listview?其实是在数据量过于庞大时,传统的存储方式它是会占用机器大量内存,最终导致OOM异常(内存溢出),listview的出现将会是有效的解决这个弊端的出现。 重点来了listview如何使用呢? res/layout布局文件中定义listview src的java代码里面关心控件findviewbyid(R.id.listview); 创建适配器对象,适配器继承baseAdapter接口 2.构造方法 getCount();控制listview的条目数 getView();得到当前条目视图 View.inflate();布局填充器 设置适配器:setAdapter(adapter); 设置listview列表项的点击事件:setOnClickLinsstener();
通知listview更新数据:adapter.notifyDataSetChanged(); 3.对话框的使用 *普通对话框 *单选对话框 *多选对话框 *进度对话框 *进度条对话框 *自定义对话框 布局填充器:Viewview=View.inflate(Context,https://www.sodocs.net/doc/9f12371182.html,yout.dialog,null); 核心API:dialog.setView(view); 4.常见的一些适配器的使用 *数组适配器:ArrayAdapter *简单适配器:SimpleAdapter 5.数据库的常见的事务 为什么需要需要定义数据库事务?最主要的还是为了保证多条操作语句同步执行 6.数据库事务执行流程 db.beginTransaction();开启事务 db.setTransactionSuccessful();设置事务执行成功 db.endTransaction();结束事务 7.样式和主题 样式的作用在单独的UI控件上面 主题的作用它是在activity或者application上 以上的这些功能控件、数据库等这些是开发中必备的功能,在开发中只要这些基本的核心知识都掌握了,那么这对你接下里的进一步开发是比较有帮助的。
实验一 Android开发环境搭建与Hello world 一、实验目的 学会搭建并安装Android开发环境,并实现Hello World应用开发。 二、主要仪器设备及套数 计算机 三、实验容 搭建开发环境;安装Java JDK,下载Eclipse,解压Eclipse;官方下安装ADT (Android Development Tools);安装Android;安装手机USB驱动;建立新项目,实现Hello World 四、程序代码 package .example.helloandroid; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends ActionBarActivity { Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.sodocs.net/doc/9f12371182.html,yout.activity_main); } Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will
Android应用开发基本知识点汇总 Activity 一生命周期 4种状态 running / paused / stopped / killed 生命周期 Activity启动 onCreate -> onStart -> onResume 点Home返回主界面 onPause -> onStop 再次回到原Activity onRestart -> onStart -> onResume 退出Activity onPause -> onStop -> onDestroy 进程优先级前台/可见/服务/后台/空 二任务栈 三启动模式 standard singleTop 栈顶复用 singleTask 栈内复用 singeInstance 四scheme跳转协议 服务器可以定制化告诉App跳转哪个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面 Fragment 一第五大组件 为什么是第五大组件 Fragment相对Activity更节省内存,切换更舒适Fragment加载到Activity的两种方式 静态加载xml 动态加载fragmentTransaction.add(id, fragment, “name”); .commit; FragmentPagerAdapter与FragmentStatePagerAdapter
FragmentStatePagerAdapter在切换时回收内存,适合页面较多的情况FragmentPagerAdapter并没有回收内存,只是detach了Activity 二生命周期 onAttach -> onCreate -> onCreateView -> onViewCreated -> onActivityCreated -> onStart -> onResume -> onPause -> onStop -> onDestroyView -> onDestroy -> onDetach 先创建Activity后创建Fragment,先销毁Fragment后销毁Activity 三Fragment之间的通信 Fragment调用Activity getActivity Activity调用Fragment 接口回调 Fragment调用Fragment方法findFragmentById 四FragmentManager replace add remove Service 一应用场景,与Thread区别 Service是什么后台长时间运行,没有用户界面,运行在主线程,不能有耗时操作 Service与Thread区别 Activity难以与Thread交互,尤其当Activity销毁以后 二开启Service的两种方式 StartService onCreate -> onStartCommand -> onBind -> onDestroy onStartCommand return START_STICKY;
Android 开发环境搭建 如遇问题请联系:Steven_Sun 需要硬盘空间至少12G,推荐在20G以上 文档结构: 1.准备工作 为获取和编译源码所做的准备,包括设置网络环境、安装一些必备工具等内容 2.源码获取 获取Android源码,可以选择官网下载或使用已下载好的源码 3.编译源码 编译Android源码,介绍整体编译、编译模块的方法 4.配置AP开发环境 主要是配置集成开发环境eclipse,这是以后工作的主要视窗平台 5.代码调试 通过3个实例介绍如何新建Android工程以及调试已有代码 1 准备工作 1.1 检查网络 请确保你的网络和代理没有问题: 使用sudo apt-get update命令没有错误提示即可。(没问题请跳过1.1节,看1.2节)如果有问题,请执行下面操作: 1.1.1 编辑网络连接 从面板上依次点击系统--->首选项--->网络连接,出现如图1-1的窗口: 选中“有线”标签中的Auto eth0,然后点击“编辑”按钮。
在弹出的窗口中(如图1-2),选择“802.1x安全性”标签, 勾选“对此连接使用802.1x安全性“ “认证“处选择”受保护的EAP(PEAP) 用户名输入你的网域用户名 密码输入网域密码 其他默认,点击“应用”按钮。 图1-2 1.1.2 配置代理服务器 目的是使终端以及apt工具能够使用网络。以便更新软件源和下载Android源码。 上一步配置好以后只是连接上了网域,如果想要实现上网的目的还需要设置代理。这里提供2种设置代理的方法:使用ntlmaps配置代理、使用google浏览器配置代理。 使用ntlmaps代理有时会出现配置好以后仍然无法联网的情况,注意要重复步骤1.1.2.1。关键是配置完之后要重启电脑。 Google浏览器配置代理一般使用起来比较方便,但缺点是下载Android源码时长时间挂机,可能出现断开的情况。这时需要使用google浏览器浏览一下网页,然后再重新输入下载命令继续下载即可。 1.1. 2.1 使用ntlmaps配置代理 安装ntlmaps工具 将 smb://ia-sz/资料2/SZ软体研发部二课 /Steven/ntlmaps_0.9.9.0.1-10ubuntu1_all.deb 这个压缩包拷贝到本地并安装。 安装时会有一个配置的对话框,对应填写如下内容。(注:只有第一次安装ntlmaps才
Android UI开发专题(一) 之界面设计 发帖日期:2010-02-09 10:49:28 标签:ophone 近期很多网友对Android用户界面的设计表示很感兴趣,对于Android UI开发自绘控件和游戏制作而言掌握好绘图基础是必不可少的。本次专题分10节来讲述,有关OpenGL ES相关的可能将放到以后再透露。本次主要涉及以下四个包的相关内容: android.content.res 资源类 android.graphics 底层图形类 android.view 显示类 android.widget 控件类 一、android.content.res.Resources 对于Android平台的资源类android.content.res.Resources可能很多网友比较陌生,一起来看看SDK上是怎么介绍的吧,Contains classes for accessing application resources, such as raw asset files, colors, drawables, media or other other files in the package, plus important device configuration details (orientation, input types, etc.) that affect how the application may behave.平时用到的二进制源文件raw、颜色colors、图形drawables和多媒体文件media的相关资源均通过该类来管理。 int getColor(int id) 对应res/values/colors.xml Drawable getDrawable(int id) 对应res/drawable/ XmlResourceParser getLayout(int id) 对应res/layout/ String getString(int id) 和CharSequence getText(int id) 对应 res/values/strings.xml InputStream openRawResource(int id) 对应res/raw/ void parseBundleExtra (String tagName, AttributeSet attrs, Bundle outBundle) 对应res/xml/ String[] getStringArray(int id) res/values/arrays.xml float getDimension(int id) res/values/dimens.xml 二、android.graphics.Bitmap 作为位图操作类,Bitmap提供了很多实用的方法,常用的我们总结如下: boolean compress(https://www.sodocs.net/doc/9f12371182.html,pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG void copyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素
引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。 在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。本文的主题如下: 1、环境搭建 1.1、JDK安装 1.2、Eclipse安装 1.3、Android SDK安装 1.4、ADT安装 1.5、创建AVD 2、HelloWorld 1、环境搭建 1.1、JDK安装 如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下: 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: JAVA_HOME值为: D:Program FilesJavajdk1.6.0_18(你安装JDK的目录) CLASSPATH值为:.;%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%in; Path: 在开始追加 %JAVA_HOME%in; NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。 安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java ?version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:
图1、验证JDK安装是否成功 1.2、Eclipse安装 如果你还么有Eclipse的话,可以去这里下载,下载如下图所示的Eclipse IDE for Java Developers(92M)的win 32bit版: 图2、Eclipse下载 解压之后即可使用。 1.3、Android SDK安装 在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。 运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的"Force https://..."这项,再点击Available Packages 。 选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包 在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为 D:AndroidDevelopandroid-sdk-windows ools)。
基本概念 为了方便后边的编程,我们第一篇文章主要是介绍一些关于OpenGLES基本的概念。点 3D图像的最小单位称为点(point)或者顶点vertex。它们代表三维空间中的一个点并用来建造更复杂的物体。多边形就是由点构成,而物体是由多个多边形组成。尽管通常OpenGL支持多种多边形,但OpenGLEs只支持三边形(即三角形)所以即使我们要绘制一个正方形也要把它拆分为两个三角形绘制。先说说坐标系的问题。 默认情况下,以屏幕中心为坐标轴原点。原点左方x为负值,右边为正值。原点上方y 为正,原点下方为负。垂直屏幕向外为z正,垂直屏幕向里为z负。默认情况下,从原点到屏幕边缘为1.0f,沿各轴增加或减小的数值是以任意刻度进行的–它们不代表任何真实单位,如英尺,像素或米等。你可以选择任何对你的程序有意义的刻度(全局必须保持单位一致,不能一部分使用米,一部分使用像素)。OpenGL只是将它作为一个参照单位处理,保证它们具有相同的距离。如图:
了解了坐标轴,我们来看看怎么在坐标系中表示一个点,通常用一组浮点数来表示点。例如一个正方形的4个顶点可表示为: 1.float vertices[] ={ 2.-1.0f,1.0f,.0f,//左上 3.-1.0f, -1.0f,.0f,//左下 4.1.0f, -1.0f,.0f,//右下 5.1.0f,1.0f,.0f,//右上 6.}; 为了提高性能,通常还需要将浮点数组存入一个字节缓冲中。所以有了下面的操作: 1.ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length *4); //申请内存 2.vbb.order(ByteOrder.nativeOrder()); //设置字节顺序,其中ByteOrder.nativeOrder()是 获取本机字节顺序 3.FloatBuffer vertexBuffer = vbb.asFloatBuffer(); //转换为float型
实验一 实验名称: Android开发环境搭建 实验目的: 搭建Android开发环境 实验要求: 1.安装JDK ①进入JDK官网下载最新版本的JDK,此处以JDK1.8版本为例。下载地址为:https://www.sodocs.net/doc/9f12371182.html,/technetwork/java/javase/downloads/index.html。进入此页面以后,选择自己需要的JDK版本进行下载。 如图1-1所示。 点击下载 图2-1 下载JDK
②安装JDK。 ③配置JDK环境变量。JDK安装完成以后,需要进行环境变量的配置,分别配置JA V A_HOME,Path,以及CLASSPA TH这三个环境变量。 首先是配置JA V A_HOME变量:进入电脑桌面→我的电脑→属性→高级系统设置→环境变量,进入环境变量设置界面,如图2-2所示。 图2-2 进入环境变量配置 在“系统变量”中点击“新建”,设置JA V A_HOME变量,如图2-3所示。 图2-3 配置JA V A_HOME变量 其中,变量值设置为JDK的安装路径。 其次,配置完成JA V A_HOME以后,再配置Path变量。在“系统变量”中找到Path变量以后,点击“编辑”,在Path变量末尾加上:%JA V A_HOME%\bin。注意与前一个变量值,以“;”进行分割。如图2-4所示。
图2-4 配置Path变量 最后,配置CLASSPATH变量。在“系统变量”中,点击新建,设置CLASSPA TH变量,如图2-5所示。 图2-5 配置CLASSPATH变量 其中,“变量值”中填写:.;%JA V A_HOME%\lib\tools.jar;%JA V A_HOME%\lib\dt.jar。 2.安装Eclipse ①在Eclipse官网下载最新版本的Eclipse,下载地址为:https://www.sodocs.net/doc/9f12371182.html,/downloads/,下载以后,进行解压缩,解压地址自己指定。 ②进入Eclipse的解压目录文件下,找到eclipse运行文件,双击后即可运行。如图2-6所示。 图2-6 eclipse安装
Android程序用户界面的设计与开发 摘要 安卓智能凭借其优越性和易操作性,越来越大众化。然而,为了脱离庸俗化和单一化,安卓程序用户界面的美观设计越来越显重要。可以说,谁设计出引人注目的安卓程序用户界面,设计出具有极强的用户个人主义色彩魅力的界面,谁就占领市场。 关键词:安卓,界面,设计 一 .现况 目前,智能手机已经成为人们生活的必备工具,随着手机4G时代的到来,智能手机将会与我们的生活结合的更加紧密,得到更广泛的应用,因此围绕智能手机的相关应用产品的研发也将得到了快速的发展。特别是安卓系统的开发。Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。 因此,安卓手机相关应用产品界面设计的优劣,是目标用户是否使用该手机以及相关应用软件的重要环节,所以近来围绕安卓手机用户体验设计的研究越来越多,智能手机交互界面动效设计研究就是其中的一项。安卓手机界面设计的动效,是界面从一个静止界面转换成另外一个静止界面之间的动态的转场效果,通过这样的动态转场效果是可以增进使用者对于某款手机或者某个软件以及游戏与娱乐项目的兴趣,起到促进手机、手机应用软件和游戏娱乐项目的销售,赢得客户青睐和信任的
作用。原先,安卓手机的界面只有简单的链接,是因为“动效”对手机硬件的运算速度要求较高。然而,随着4G智能手机的普及,手机的硬件运算速度大幅提升,内、外存储器的容量加大,致使手机动效的实现成为可能。 现在,有关安卓程序用户界面的开发的设计师还在少数,特备是专业的前端UI设计大师更是寥寥无几。毕竟动效设计具有一定的艺术性和技术性的难度。而如若掌握一定的安卓网页美工的知识并将之投入工作中,在目前市场上是极具优越性的。 现在介绍下如何运用Bootstrap来快速设计出简约美观的安卓程序界面。 二.Bootstrap的应用 2.1.Bootstrap的介绍 Bootstrap是Twitter的设计师Mark Otto和Jacob Thornton合作开发,是目前很受欢迎的前端框架。它是基于HTML、CSS、JAVASCRIPT 的,简洁灵活,使得 Web 开发更加快捷。它是一个CSS/HTML框架。 下面是基于bootstrap的ace一组控件的封装框架的截图: 而安卓版本的bootstrap样式库的显示效果如下: