Android 开发之使用Eclipse Debug调试详解
1.在程序中添加一个断点
如果所示:在Eclipse中添加了一个程序断点
在Eclipse中一共有三种添加断点的方法
第一种:在红框区域右键出现菜单后点击第一项Toggle Breakpoint 将会在你右键代码的哪一行添加一个程序断点(同样的操作方可取消程序断点)
第二种:在红框区域双击鼠标左键将会在你双击代码的哪一行添加一个程序断点(同样的操作方可取消程序断点)
第三种:在光标停留的地方使用快捷键Ctrl + Shift + B 将会在光标停留的这一行添加一个程序断点(同样的操作方可取消程序断点)
2.运行Debug 调试让程序停留在添加的断点上
如下图所示,在红框内点击下拉菜单选中需要调试的项目则开始运行Debug 调试
如果不在下拉表中选直接点击表示Debug运行默认项目(默认项目为上一次运行的项目)
Debug调试快捷键为单击F11
分析一下如何科学的添加程序断点,上图中我为了加断点查看生成出来随机数的值我一共添加了6个程序断点,绿框表示最为科学的断点位置,红
框表示不科学的位置。我们分析一下为什么,如果switch case 中的代码片段过长或者case 的数量过多如果采用红框的方式来添加程序断点,程序员须要添加很多程序断点万一有疏漏所以会很难快速定位代码执行到了那里,如果使用绿框的方式添加程序断点,程序员只须要在断点出按F6 单步跳过这一行代码就会走进正确的case中方便继续调试。
Debug调试运行后,程序停在了红框处,按F6单步跳过发现随机数为4 程序停留在了绿框中,程序员可以迅速定位random的值为4
3.程序停留后查看变量的数值
蓝框中的内容表示为断点的入口方法,就好比你的断点是从那个方法进
来的,学会看这个真的非常重要,好比我现在明确知道我的一个方法在被调用的时候方法中会出现错误,但是这个方法在程序中100个地方都在调用,我可能断定实在那里调用的时候出的错误,我不可能在100个调用它的地方都加一个断点,我可以在方法中添加程序断点然后在篮框中查看程序是从那个地方走进这个方法的,便可以快速定位问题所在。
绿框中可以查看当前方法中所有变量的值,但是如果变量非常多在这里看就比较麻烦,可以使用红框的方法查看。
红框中可以右键变量名点击咖啡框中的watch 后在紫框中Expressions 就可以看到变量的数值了。
BreakPoints 中会记录程序中添加过多少程序断点。
4分享一些Eclipse中Debug的一些小技巧
watch 过的变量和我们自己加的程序断点不会被Eclipse 自动删除
除非我们手动删除否则会一直留在紫框中,这些数值会拖慢Eclipse 开发工具,如果过多的话很可能会造成Eclipse 崩溃(有可能是Eclipse的BUG),让开发变得非常痛苦,所以雨松MOMO在这里建议大家在每次Debug调试的时候将紫框中之前加的程序断点和watch过的变量全不手动清空,只添加这一次调试须要的断点就可以了,这样的话Eclipse 就不会被这些拖慢进程的东西所导致崩溃。
5.连接真机调试
第一步打开自己的手机在设置中选择应用程序然后选择开发然后选中USB调试。
第二步用USB线连接手机到电脑,一般情况会自动安装驱动,如果无法安装驱动的话就去下载一个豌豆荚或者91助手,让它帮我们手机自动安装驱动很方便的。
第三步驱动安装成功后会在Device中看到真机(红框中) 绿框中为android 电脑模拟器
.
运行项目后弹出设备选择窗口第一个为模拟器第二个红框内的为我连接电脑的真机MOTO的里程碑,选择完后点击OK 就可以通过真机来调试程序了,简单吧?是不是很给力呢呵呵。
6.Android 开发中Log信息的打印
本人做过J2ME 开发Android开发iPhone开发发现J2ME 的模拟器还有Iphone的模拟器都非常给力速度很很快(模拟器比真机快) 唯独android 的模拟器是最不给力的(真机比模拟器快) 实在是慢的不行连接上真机可以快一点但是一样还是慢尤其是Debug的时候简直是太不给力了(发点牢骚大家别介意哦> - <)所以有时候我在开发Android的时候不到万不得已我不去Debug 我会使用Log去打印我须要的数据下面我教大家如何在
Andoid下打印Log信息。希望大家都学会使用log.
view plaincopy to clipboardprint?
1. public class testActivity extends Activity {
2.
3. /**
4. * 返回一个随机数
5. * @param botton
6. * @param top
7. * @return
8. */
9. private int UtilRandom(int botton, int top) {
10. return ((Math.abs(new Random().nextInt()) % (top - botton)) + botton);
11. }
12. @Override
13. public void onCreate(Bundle savedInstanceState) {
14. super.onCreate(savedInstanceState);
15.
16.
17. int a = UtilRandom(0,5);
18. int b = UtilRandom(0,5);
19. int c = UtilRandom(0,5);
20. int d = UtilRandom(0,5);
21. int e = UtilRandom(0,5);
22.
23.
24.
25.
26. Log.v("random", a +"");
27. Log.v("random", b +"");
28. Log.v("random", c +"");
29. Log.v("random", d +"");
30. Log.v("random", e +"");
31.
32. setContentView(https://www.sodocs.net/doc/2d15204131.html,yout.main);
33. }
34. }
最后附上Eclipse 在开发中使用到的快捷键很实用噢(转载)
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行
Ctrl+Alt+↓复制当前行到下一行(复制增加)
Ctrl+Alt+↑复制当前行到上一行(复制增加)
Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑当前行和上面一行交互位置(同上)
Alt+←前一个编辑的页面
Alt+→下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变味小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能) Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)
编辑
作用域功能快捷键
全局查找并替换 Ctrl+F
文本编辑器查找上一个 Ctrl+Shift+K
文本编辑器查找下一个 Ctrl+K
全局撤销 Ctrl+Z
全局复制 Ctrl+C
全局恢复上一个选择Alt+Shift+↓
全局剪切 Ctrl+X
全局快速修正 Ctrl1+1
全局内容辅助 Alt+/
全局全部选中 Ctrl+A
全局删除 Delete
全局上下文信息 Alt+?
Alt+Shift+?
Ctrl+Shift+Space
Java编辑器显示工具提示描述 F2
Java编辑器选择封装元素Alt+Shift+↑Java编辑器选择上一个元素Alt+Shift+←Java编辑器选择下一个元素Alt+Shift+→文本编辑器增量查找 Ctrl+J
文本编辑器增量逆向查找 Ctrl+Shift+J 全局粘贴 Ctrl+V
全局重做 Ctrl+Y
查看
作用域功能快捷键
全局放大 Ctrl+=
全局缩小 Ctrl+-
窗口
作用域功能快捷键
全局激活编辑器 F12
全局切换编辑器 Ctrl+Shift+W
全局上一个编辑器 Ctrl+Shift+F6
全局上一个视图 Ctrl+Shift+F7
全局上一个透视图 Ctrl+Shift+F8
全局下一个编辑器 Ctrl+F6
全局下一个视图 Ctrl+F7
全局下一个透视图 Ctrl+F8
文本编辑器显示标尺上下文菜单 Ctrl+W 全局显示视图菜单 Ctrl+F10
全局显示系统菜单 Alt+-
导航
作用域功能快捷键
Java编辑器打开结构 Ctrl+F3
全局打开类型 Ctrl+Shift+T
全局打开类型层次结构 F4
全局打开声明 F3
全局打开外部javadoc Shift+F2
全局打开资源 Ctrl+Shift+R
全局后退历史记录Alt+←
全局前进历史记录Alt+→
全局上一个 Ctrl+,
全局下一个 Ctrl+.
Java编辑器显示大纲 Ctrl+O
全局在层次结构中打开类型 Ctrl+Shift+H 全局转至匹配的括号 Ctrl+Shift+P
全局转至上一个编辑位置 Ctrl+Q
Java编辑器转至上一个成员Ctrl+Shift+↑Java编辑器转至下一个成员Ctrl+Shift+↓文本编辑器转至行 Ctrl+L
搜索
作用域功能快捷键
全局出现在文件中 Ctrl+Shift+U
全局打开搜索对话框 Ctrl+H
全局工作区中的声明 Ctrl+G
全局工作区中的引用 Ctrl+Shift+G
文本编辑
作用域功能快捷键
文本编辑器改写切换 Insert
文本编辑器上滚行Ctrl+↑
文本编辑器下滚行Ctrl+↓
文件
作用域功能快捷键
全局保存 Ctrl+X
Ctrl+S
全局打印 Ctrl+P
全局关闭 Ctrl+F4
全局全部保存 Ctrl+Shift+S
全局全部关闭 Ctrl+Shift+F4
全局属性 Alt+Enter
全局新建 Ctrl+N
项目
作用域功能快捷键
全局全部构建 Ctrl+B
源代码
作用域功能快捷键
Java编辑器格式化 Ctrl+Shift+F
Java编辑器取消注释 Ctrl+\
Java编辑器注释 Ctrl+/
Java编辑器添加导入 Ctrl+Shift+M
Java编辑器组织导入 Ctrl+Shift+O
Java编辑器使用try/catch块来包围未设置,太常用了,所以在这里列出,建议自己设置。
也可以使用Ctrl+1自动修正。
运行
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
通信实训报告 -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/2d15204131.html,. JDK的下载地址https://www.sodocs.net/doc/2d15204131.html,/javase/downloads/widget/jdk6.jsp。Eclipse的下载网址是https://www.sodocs.net/doc/2d15204131.html,/downloads/ 2.Android开发环境搭建
视图组件的使用模式 常用组件 高级组件 提示框与警告对话框
就是Android应用程序的开发过程。一般过程是先通过XML布局文件或Java代码创建界面布局,设定组件显示样式,随后获取UI组件对象,并处理组件事件响应。 视图组件的定义 资源的访问 生成视图组件资源标识 视图组件的引用 视图组件的事件响应 组件的常用属性
1.1视图组件的定义 使用XML布局文件定义视图组件 使用Java代码定义视图组件(不推荐)
1.1视图组件的定义 使用XML布局文件定义视图组件 Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。
1.1视图组件的定义
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/2d15204131.html,pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG void copyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素
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样式库的显示效果如下:
Android概述: javaME:塞班系统,诺基亚手机。 Android是一个开源的免费的移动操作系统,它基于linux内核,目前支持Android操作系统的手机:HTC、samsung、华为、小米。。。。。山寨 Android目前最高的版本是4.4,比较通用的是4.0.3,在开发应用的时候,一般采用目前比较通用的手机的最低版本去开发,官方推荐2.2,但通常我们用2.3。 做Android开发主要有以下几个方向: Android驱动开发:面向C语言,对Android内核开发 Android应用开发: APP:公司内部的管理系统,电商 游戏:引擎 网游:一般是一个公司来运营,团队来开发 单机游戏:可以独立开发 Android开发环境的搭建 下载eclipse,以及开发Android用的ADT(Android Development Tool)插件,并且还有去Android 官网下载SDK(Standard Development Kit) 目前,Android的官网提供了一套配置好的Android开发工具组(eclipse+ADT+SDK) 官网:https://www.sodocs.net/doc/2d15204131.html,点击下方的get the SDK 在以前做Android开发的时候需要手动配置sdk和ADT,但是现在官方提供了开发工具组 修改sdk的路径:修改到对应的sdk的安装目录位置
创建一个虚拟机:点击此按钮 点击“New”创建一个虚拟机: 配置虚拟机的相应参数:
点击start启动虚拟机:
虚拟机启动画面:
创建第一个Android工程:
淮海工学院计算机工程学院实验报告书 课程名:《手持设备软件开发》 题目:实验2:用户界面程序设计 班级:软件092 学号: 1 姓名: 评语: 成绩:指导教师: 批阅时间:年月日
一、实验目的与要求 掌握Android用户界面程序设计的一般方法; 掌握系统提供的各种View和ViewGroup的基本用法; 掌握使用XML Layout资源创建用户界面的方法; 熟悉ADT用户界面可视化编辑器及Hierarchy Viewer透视图的功能及用法; 理解Android用户界面程序设计中的单线程模型 掌握选项菜单及快捷菜单的创建及菜单子项选择事件的处理方法; 掌握用户界面组件事件处理的一般方法。 二、实验内容 1. 使用ADT创建一个Android Project,并在默认创建的布局资源main.xml中添加一个Button 组件,在程序中该按钮的单击事件处理方法中,执行100万次或更多次的循环,并在每次循环中向LogCat中输出当前循环变量的值和一个[0,1)之间的随机双精度数值。调节循环执行的次数直到产生“应用程序无响应”(ANR:Application Not Responding)错误,并思考产生该错误的原因。 2. 编写一个简单的贷款计算器,根据输入的贷款金额、期限和利率,显示每月应还款的金额。使用android.widget.Toast显示输入数据中的格式错误信息。(可参考文档中Dev Guide的帮助主题Toast Notifications中的内容) 三、实验步骤 1. 实验一(1)新建一个android 项目,打开res文件夹下面的layout文件夹中的main.xml文件,对界面进行编辑,如图1
实验报告 课程名称 : Android应用程序设计 实验名称 :简单的用户注册登录系统 学院 : 电子信息工程学院 专业 : 计算机科学与技术 班级 : 姓名 : 学号 : 时间 :
目录 第一章设计背景 1.1引言 (3) 1.2设计目的 (3) 1.3 设计要求 (3) 1.4 开发运行环境 (3) 第二章需求分析 2.1技术可行性 (4) 2.2网络需求分析 (4) 2.3运行环境需求分析 (4) 2.4用户需求分析 (4) 第三章具体方案设计 3.1 注册登录界面系统介绍 (5) 3.2 流程图 (5) 3.2.1子程序流程图 (6) 3.3详细界面设计 3.3.1 注册界面........................................................... . (6) 3.3.2 登录界面............................................................ (7) 3.4 项目目录结构图.......................................................... (8) 3.5 系统界面组件的生成...................................................... (8) 3.6 实现过程及代码 3.6.1 注册界面的生成....................................................... .. (9) 3.6.2 登录界面的生成.................................................... . (10) 3.6.3 用XML实现用户界面优缺点 (12) 3.7 程序代码 3.7.1 Zhuce.java (12) 3.7.2 denglu.java (14) 第四章实验结果截图 4.1 填写注册信息 (16) 4.2 注册成功 (16) 4.3 填写登录信息 (17) 4.4 登录成功 (18) 4.5 填写密码不一致时 (19) 第五章软件的系统测试 5.1 系统测试的原则 (20) 5.2 测试环境 (20) 第六章实验总结
Android简单登录界面 接着上一讲留下的“需求”: 设计一个登陆界面: 允许用户输入用户名,密码; 用户点击“Login”之后,如果用户名为admin, 密码为123则显示“登陆成功”; 如果用户名密码其中之一不正确,红色字体显示“登陆失败!” 首先我们来建立一个新的项目: 图标那一步就随便选吧,下一步: 这一步与上次有点不同,这次我们不要ADT 帮我们创建任何的Activity,我们只需要一个空的项目。 点击Finish后,我们会发现,项目文件视图下,与上次的不一样,src, res/layout 是空的,这一会需要我们自己去添加了。 首先来明确一下我们现在的目标: 建立一个包含登录框的界面,并将它显示在我们的手机(模拟器)上。 建立一个界面的主要步骤是什么呢?主要有以下几步: ?在res/layout下创建布局文件; ?在src下创建Activity子类,并将布局文件与这个Activity联系起来。 ?在AndroidManifest.xml程序配置文件中,添加Activity的声明。 我们先来 1. 创建布局文件: 在Eclipse项目文件中选中layout 文件夹,在工具栏里点击下面图标 在弹出的窗口,填上这个xml布局文件的文件名,Root Element 根节点就选择Linearlayout 即可 点击下一步,这一步是选择更多配置属性的,暂且不用理会,直接点击Finish。 我们发现,在res/layout 下面多了一个login.xml文件,同时Android 的Layout 编辑器也把它打开了。 切换到“source”代码视图,今天我们不用“所见即所得”的傻瓜拖拽方式。 我们看到xml代码是这样的: 近期很多网友对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/2d15204131.html,pressFormat format, int quality, OutputStream stream) 压缩一个Bitmap对象根据相关的编码、画质保存到一个OutputStream中。其中第一个压缩格式目前有JPG和PNG void copyPixelsFromBuffer(Buffer src) 从一个Buffer缓冲区复制位图像素 void copyPixelsToBuffer(Buffer dst) 将当前位图像素内容复制到一个Buffer缓冲区 我们看到创建位图对象createBitmap包含了6种方法在目前的Android 2.1 SDK中,当然他们使用的是API Level均为1,所以说从Android 1.0 SDK开始就支持了,所以大家可以放心使用。 static Bitmap createBitmap(Bitmap src) static Bitmap createBitmap(int[] colors, int width, int height, Bitmap.Config config) static Bitmap createBitmap(int[] colors, int offset, int stride, int width, int height, Bitmap.Config config) 临沂大学信息学院 学生上机(实验)报告 课程名称:Android移动智能开发技术 指导教师: 学生姓名: 学号: 一、实验名称 界面登录设计实验 二、实验内容(具体的程序) 1、建两个ACTIVITY,实现从界面一跳转到界面二。 2、在主界面添加按钮等控件。 3、在MainActivity里写代码 package import import import import import importnt; import import import import import import import import import publicclassMainActivityextendsActivity{ Buttonbtn; OnClickListenerlis; EditTextetname; EditTextetpwd; CheckBoxch1; CheckBoxch2; SharedPreferencessf; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); btn=(Button) etname= etpwd= ch1= ch2= sf=getSharedPreferences("my",Activity.MODE_PRIVATE); if(sf.getBoolean("ch1",false)==true) { etname.setText(sf.getString("name","")); etpwd.setText(sf.getString("pwd","")); ch1.setChecked(true); } if(sf.getBoolean("ch2",false)==true) { Intentintent=newIntent(MainActivity.this,SecActivity.class); startActivity(intent); } lis=newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub finalStringnamestr=etname.getText().toString(); finalStringpwdstr=etpwd.getText().toString(); Android用户界面设计 Android用户界面设计:使用片段 Android 3.0引入的新的片断(Fragment)API,让我们更容易地创建动态用户界面。在这个教程中,我们学习如何将一个两屏的ListView转换成WebView流,以适应大屏幕的单屏流设计,比如在平板设备中。 这篇文章的节奏将比我们的入门教程更快一些。如果你对基本的Android控件或概念不熟悉你可能需要复习这个网站上我们其它的一些教程,甚至是Android API参考。最终的开源代码可以在Google code上下载到。 片段简介 在我们开始之间,让我们在更高的层次上定义一下什么是片段。通常来说,片段是一大块用户界面,它具有自己的生存周期。如果它听起来像一个Activity,那是因为它确实很像一个Activity。然而,片段与Activity不同,片段必须存在于Activity之内。片段不须要在它每次初始化的时候与同一个Activity配对,这使它具有一些灵活性。与Activity一样,片段也无需包含任何用户界面。 步骤0:开始 这个教程假设你读过我们的列表视图教程,你可以下载那个教程的代码,并完成一些任务,然后开始,也可以直接下载这个教程的代码直接开始。 步骤1:重新设计界面 下图示意了我上在列表视图教程中所提到的文章阅读应用,我们还没有考虑并使用片段: 这个流程在相对小屏幕上运行得很不错。然而,在大屏幕上,比如Motorola Xoom平板的10寸屏幕上,在列表视图上却浪费了很多空间。WebView看起来正常,但是有点枯燥。 这就是要引入片段的地方:在大屏幕上,我们可以提供更有效的用户界面,如果我们可以在同一屏上显示ListView和WebView。当用户点击左边“面板”的列表视图中的某一项时,右边的WebView更新显示相应的内容。Android UI开发专题(一) 之界面设计
Android移动智能开发技术界面登录设计实验
Android用户界面设计