android随机运算器开发小结1
想到第一天自己写了一个简单的四则运算程序的情景:我便想起了引起我们不断迭代开发的程序背景是:二柱子接受老师安排的给孩子出题的任务,每次需要给孩子设置出题任务,生成相应的小学运算题目,所以我们面对的需求客户是小学生,所以需要满足整数的运算和真分数的运算。这道题在我和队友连续的开发后,经历了c++的数次修改,因为我最熟悉的语言是C++,然后我利用此不断迭代开发,做出了能随机生成带有括号的混合运算式,并能判断用户结果输入,然而不幸的是二柱子需要找一种可行的方式进行开发进行发布,所以我c++写的命令框输入界面就不太符合要求了,问题来了,而我手中只有java了,我只有开始转为java开发模式。
我的出发的开始是做一个简易的网页版的系统,但是在进行可行性分析时发现有以下几点:
1.网页写出来后刚开始发布很难达到一个较好的效果,比如:界面的设计,和用户的交互性等,毕竟只是一个简单的生成题目的应用,所以很难显示网页的优势。
2.网页在实现技术时,有很多技术可以选择,比如在进行action的选择时因为要产生题目,然后再做题再写回答案录入数据库,选择的网页技术很多,很不利于判断什么方法进行开发能较好达到目的。
综合上述原因,还有这学期有幸选到了移动应用开发,能够有基础去实现一个简单的APP应用,所以我暂时选择用android进行开发。
但其实,这还是一个摸着石头过河的过程,毕竟自己的水平感觉也就是HelloWorld起步的阶段,但是我也不怕,毕竟没有挑战就没有进步嘛。
在今天完成android V1.0版的今天我还是十分高兴的,因为我发现在我有了基础java知识,而且还不弱的情况下,感觉入门很快,但也不是没有问题,如下是我遇到的一些知识和问题的总结:
生成随机数的函数
我个人感觉跟c++不会有太大差别,但是看了网上,感觉又受教了。
1.生成随机数函数Random() 生成在规定范围内的随机数(a~b)
Math.random()*b+a
还有自定义系统的时间函数
如默认当前系统时间的毫秒数作为种子数 Random r=new Random();
2.布局方式
其实布局的方式还是与java的方式很类似,我基本通过LinearLayout的线性布局,再在布局中添加一些按钮或者布局构成复杂的图形,而加载布局的方法基本都是通过ID来控制,而在android开发中有anctivity这个名词,简单看就是在一个android屏幕内运行的程序,就是一个activity,最后通过 setContentView()方法来给当前的活动加载一个布局。比如:setContentView(R.layout.first_layout);
在这之后很容易忘记将activity写入Androidmainfest中,其实这个很重要,这里的配置将决定你的软件布局显示顺序。
3.在activity中使用Toast
由toast可知这是android用来提醒用户的一种机制。首先需要定义一个弹出 Toast 的触发点,正好界面上有个按钮,那我们就让点击这个按
钮的时候弹出一个 Toast吧。在 onCreate()方法中添加代码。
Toast的用法非常简单,通过静态方法 makeText()创建出一个 Toast对象,然后调用 show()
将 Toast 显示出来就可以了。这里需要注意的是,makeText()方法需要传入三个参数。第一
个参数是 Context,也就是 Toast要求的上下文,由于活动本身就是一个 Context对象,因此
这里直接传入FirstActivity.this即可。第二个参数是Toast显示的文本内容,第三个参数是Toast
显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG。
我这有一个参考的写的很好的博客(大家可以参考参考)
http://www.cnblogs.com/renqingping/archive/2012/09/24/Toast.html
4.关于LogCat
相信很多跟我一样习惯c++或者java的人都习惯用输出去打印日志,看错误都在控制台看,然而android进行改进,通过log打印程序中的各种信息。我是简单的看了logcat,其中我的代码错误是在最后一个caused by中查到的。
现在就写到这么多,随着下一阶段的冲刺,我会继续更新整个项目进程。下面是软件运行的简单截图(尚未加上界面).



日进一小步,月过一大步~~加油
android随机运算器开发小结1的更多相关文章
- Android 即时通讯开发小结(二)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- Android 即时通讯开发小结(一)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- Android应用安全开发之浅谈加密算法的坑
<Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题 Android开发中,难免会遇到需要加解密一些数据内 ...
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
- Android横竖屏切换小结
Android横竖屏切换小结 (老样子,图片啥的详细文档,可以下载后观看 http://files.cnblogs.com/franksunny/635350788930000000.pdf) And ...
- Android OpenGL ES 开发教程 从入门到精通
感谢,摘自:http://blog.csdn.net/mapdigit/article/details/7526556 Android OpenGL ES 简明开发教程 Android OpenGL ...
- vue开发小结(下)
前言 继前几天总结了vue开发小结(上)后,发现还有很多的点没有能列举出来,于是还是打算新建一个下篇,再补充一些vue开发中需要注意的细节,确实还是都是细节的问题,我只是在这里强调下,希望对大家有帮助 ...
- Android和PHP开发最佳实践
Android和PHP开发最佳实践 <Android和PHP开发最佳实践>基本信息作者: 黄隽实丛书名: 移动应用开发技术丛书出版社:机械工业出版社ISBN:9787111410508上架 ...
- Android经典项目开发之天气APP实例分享
原文:Android经典项目开发之天气APP实例分享 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mzc186/article/details/5 ...
随机推荐
- CANopen和DeviceNet有何异同
>> 欢迎您,客人: 登录 | 注册 | 忘记密码 | 在线 | 搜索 | 帮助 DND开发论坛 ◇ DeviceNet技术讨论区 ◇ [返回] [讨论]CANopen和DeviceN ...
- 以登录实现理解Servlet+jsp+JavaBean开发
写在前面:菜鸟拙见,望请纠正 学过servlet的都知道,书本上一直说servlet一直作为控制器使用,它不实现view层,也不做具体的事务处理,那servlet到底是干什么的哪?怎么合理的用它呐?? ...
- JavaSE日常笔记汇总
1. If和switch的比较 2. continue的注意事项 在for循环中,当执行continue语句时,i++还是会执行,continue语句只代表此次循环结束,i还是会累加,并继续执行下次循 ...
- HTML:5meta标签
<h2>一些常用的移动端的meta属性设置</h2><!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> & ...
- Onvif获取rstp地址GetCapabilities能力时,出现error 4或者52的的解决方法
在获取Onvi能力soap_call___tds__GetCapabilities的接口中有时候会出现error:4或者52的情况,是因为在soapC.c中用不到extension,所以我们必须得把它 ...
- Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
- 使用git管理代码
上传工程 1.登录github后,点击右上角带有+号的图标,输入仓库名创建仓库(Repository). 2.在项目文件夹下执行以下命令: touch README.md git init 如果工程中 ...
- 第五周 加分题-mybash的实现
第五周 加分题-mybash的实现 使用fork,exec,wait实现mybash 产品代码 #include <stdio.h> #include <stdlib.h> # ...
- WPF之ComboBox的VisualTreeHelper
原文:WPF之ComboBox的VisualTreeHelper 用WPF的ComboBox控件的时候,需要用到TextChanged属性,但是这个属性属于TextBox控件,不用担心,ComboBo ...
- 关于自动AC机
嗯,,,,自动AC机 在cena评测时: Const SourcePath:string='incantation'; InputFile:string='incantation.in'; Outpu ...