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中查到的。
现在就写到这么多,随着下一阶段的冲刺,我会继续更新整个项目进程。下面是软件运行的简单截图(尚未加上界面).
日进一小步,月过一大步~~加油
转载于:https://www.cnblogs.com/ly199553/p/5339231.html
android随机运算器开发小结1相关推荐
- Android 即时通讯开发小结(二)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对 IM 开发做一个全面的总结. 相关推荐阅读:. Android即时通讯 ...
- Android 即时通讯开发小结(一)
本文将基于 IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对 IM 开发做一个全面的总结. 客户端架构 作为一个 IM 软件,最重要的一个特性就是保证消息的达到率和实时性. ...
- 《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.8节本章小结
本节书摘来自异步社区<Android 3D游戏开发技术宝典--OpenGL ES 2.0>一书中的第2章,第2.8节本章小结,作者 吴亚峰,更多章节内容可以访问云栖社区"异步社区 ...
- Android开发小结Part2:目录
2019独角兽企业重金招聘Python工程师标准>>> Android开发小结Part1:绪论 Android开发小结Part2:目录 Android开发小结Part3:Intent ...
- Android USB开发小结:host模式与accessory模式
很早之前就想对Android USB的两种模式作个小结,但是一直没有空去搞,毕竟USB这块应该属于冷门方向,并且应用层能够做的比较少也很简单.最近刚好在做大疆无人机的二次开发,想着对USB连接检测这块 ...
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
- Android应用安全开发之浅谈加密算法的坑
<Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题 Android开发中,难免会遇到需要加解密一些数据内容存 ...
- 《Android 应用案例开发大全(第二版)》——2.6节绘制相关类
本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第2章,第2.6节绘制相关类 ,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区"异步 ...
- Android组件化开发实践(九):自定义Gradle插件
本文紧接着前一章Android组件化开发实践(八):组件生命周期如何实现自动注册管理,主要讲解怎么通过自定义插件来实现组件生命周期的自动注册管理. 1. 采用groovy创建插件 新建一个Java L ...
最新文章
- Java项目:财务预算管理系统(java+SSM+Jsp+Mysql+Layui+Maven)
- matlab 入门 mobi,振动力学基础与MATLAB应用
- JavaFX技巧8:美丽深层
- python cursor游标_第二十三天 python中游标的使用
- 专业课程设计之客户与服务器程序的同步与通信机制的设计(二)TCP通信
- Django基础之中间件
- 13万字详细分析JDK中Stream的实现原理
- javascript的运算(小结)
- 在线 SQL 数据库环境
- EF4的系列文章,mark一下
- js的深拷贝的理解和实现
- C语言_报数问题:有n个人围成一圈,顺序从零排号。从第一个人开始报数(从1到3报数),凡报到3的人 退出圈子,问最后留下的是原来第几号的那位。
- RHEL6入门系列之三十三,写在最后
- raspberry pi4B ncnn cpu vulkan benchmark
- Codeforces edu 88(A~E)
- 怎么把黑白照片还原成彩色?三个方法让你一键搞定黑白照片上色
- 用python做爬虫看图软件-RandomPicture
- Agarose bound-GSL II,BSL II;琼脂糖结合的灰树单叶凝集素II
- vue3.0 组件传值
- 4.4 竞赛题目选讲