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

  1. Android 即时通讯开发小结(二)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...

  2. Android 即时通讯开发小结(一)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...

  3. Android应用安全开发之浅谈加密算法的坑

      <Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题     Android开发中,难免会遇到需要加解密一些数据内 ...

  4. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  5. Android横竖屏切换小结

    Android横竖屏切换小结 (老样子,图片啥的详细文档,可以下载后观看 http://files.cnblogs.com/franksunny/635350788930000000.pdf) And ...

  6. Android OpenGL ES 开发教程 从入门到精通

    感谢,摘自:http://blog.csdn.net/mapdigit/article/details/7526556 Android OpenGL ES 简明开发教程 Android OpenGL ...

  7. vue开发小结(下)

    前言 继前几天总结了vue开发小结(上)后,发现还有很多的点没有能列举出来,于是还是打算新建一个下篇,再补充一些vue开发中需要注意的细节,确实还是都是细节的问题,我只是在这里强调下,希望对大家有帮助 ...

  8. Android和PHP开发最佳实践

    Android和PHP开发最佳实践 <Android和PHP开发最佳实践>基本信息作者: 黄隽实丛书名: 移动应用开发技术丛书出版社:机械工业出版社ISBN:9787111410508上架 ...

  9. Android经典项目开发之天气APP实例分享

    原文:Android经典项目开发之天气APP实例分享 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mzc186/article/details/5 ...

随机推荐

  1. Vivado中xilinx_BRAM IP核使用

     Vivado2017.2 中BRAM版本为 Block Memory Generator Specific Features  8.3 BRAM IP核包括有5种类型: Single-port RA ...

  2. 20155226 2016-2017-2 《Java程序设计》第9周学习总结

    20155226 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商 ...

  3. 2017-2018-1 20155330 《信息安全系统设计基础》加分项目--实现mypwd

    2017-2018-1 20155330 <信息安全系统设计基础>加分项目--实现mypwd pwd命令 命令功能:查看"当前工作目录"的完整路径. 通过man命令查看 ...

  4. mysql 导出表,导出数据 命令

    mysql mysqldump 只导出表结构 不导出数据 复制代码代码如下: mysqldump --opt -d 数据库名 -u root -p > xxx.sql  备份数据库  复制代码代 ...

  5. VBA中字符串连接/字符串拼接中“&”和“+”的区别

    VBA中字符串连接/字符串拼接中“&”和“+”的区别   在VBA中用于字符串连接的只有“&”和“+”两种运算符. 1.“&”是强制性连接,就是不管什么都连接. 2.“+”是对 ...

  6. PostgreSQL内存结构图示

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页 作者:高健@博客园 luckyjackgao@ ...

  7. bzoj1043 [HAOI2008]下落的圆盘

    Description 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求. Input 第一行为1个整数n,N<=1000 ...

  8. jQuery学习- 内容选择器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. CF908G New Year and Original Order

    题面 题意翻译 给定$n<=10^{700}$,问$1$到$n$中每个数在各数位排序后得到的数的和.答案$mod\;10^9+7$. 题解 考虑设$f[i][j][k][0/1]$表示前$i$位 ...

  10. Openstack入门篇(十四)之horizon服务的部署与测试

    1.Horizon介绍 •提供一个web界面操作openstack的系统 •使用Django框架基于openstack API开发 •支持将session存储在DB.memcached •支持集群 t ...