想到第一天自己写了一个简单的四则运算程序的情景:我便想起了引起我们不断迭代开发的程序背景是:二柱子接受老师安排的给孩子出题的任务,每次需要给孩子设置出题任务,生成相应的小学运算题目,所以我们面对的需求客户是小学生,所以需要满足整数的运算和真分数的运算。这道题在我和队友连续的开发后,经历了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中查到的。

现在就写到这么多,随着下一阶段的冲刺,我会继续更新整个项目进程。下面是软件运行的简单截图(尚未加上界面).

  日进一小步,月过一大步~~加油

最新文章

  1. 十三. JEB破解三
  2. hashmap 的作用
  3. 在Mac上使用vim的几个命令
  4. mssql禁用启用主键约束
  5. JSOI 2008 火星人prefix
  6. 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
  7. 基于邻接表的广度优先搜索遍历(bfs)
  8. android的进度条使用
  9. ORACLE 创建表空间、用户、授权
  10. react构建淘票票webapp,及react与vue的简单比较。
  11. Linux 命令整理-ps
  12. 【DWM1000】 code 解密9一 ANCHOR response poll message
  13. java 解耦
  14. socket:10038错误
  15. 1.8.3suspend与resume方法的缺点--不同步
  16. jquery日期时间控件
  17. MVC单元测试,使用Repository模式、Ninject、Moq
  18. [MAC OS] XCode中的Debug View Hierarchy功能
  19. dubbo客户端源码分析(一)
  20. field字段错位手动更改方法

热门文章

  1. Java笔试题解析(二)——2015届唯品会校招
  2. [2012山东ACM省赛] Pick apples (贪心,全然背包,枚举)
  3. KVM的初始化过程
  4. 面向对象之static关键字
  5. Nivo Slider用法
  6. HTML:5meta标签
  7. 1.Variables-变量(Dart中文文档)
  8. 百度地图API和高德地图API资料集锦
  9. 20155222 c语言实现pwd命令
  10. 2017-2018-2 20155315《网络对抗技术》Exp4:恶意代码分析