一、项目背景
大二下学期王建民主任要求团队开发一款软件,团队规模为三人,软件类型为安卓app,分为多个阶段进行打卡验收。
二、开发体会
一款学习辅助类软件-服务大学生
当拿到这个任务时,第一感觉就是难,虽然寒假也自学了安卓,但是由于基础差,编程不熟练,就感觉做起来无从下手,这要怎么做,要做什么,我们能做出来吗,做的东西有人用吗,一系列问题油然而生,截至到今天,已经过去了一个半月,在回头看看刚拿到任务的时候,还是觉得难,但我们的软件却越做越好了,心中有很多的感触,想和大家分享一下。
首先技术上的难题根本就不算难题,技术不会完全可以学,没有学不会的技术,只有不去学的人,虽然我也有点懒,碰到了一个又一个的难题,bug,有时候真的不想去解决了,糊弄糊弄过去了,可有一股力量一直在支撑着我做下去,就是我认为我的软件是有人用的,只要做出来一定会有人用,当然现在基本功能已经实现了,界面还是很拉跨,因为我想让我做的东西有人用,如果没人用,那这款软件又有什么价值呢,正是有这个想法,我尽可能的把界面设计的美观,虽然有些功能目前实现不了,我尽可能的去解决bug,在不同的手机上做测试,因为有了用户,你的一切想法就得从用户出发。
三、开发难题
1、
我做的第一个为用户着想的功能就是软件可以联网访问,现在的软件如果不联网几乎是没有人使用的,这可把我难坏了,联网功能要怎么实现,javaweb我会,安卓我不会啊,完全没有经验啊,这是第一大难题。
2、
第二个难题就是,要怎么联网,联网的资源要放在哪,服务器上吗?,服务器怎么配置,文件怎么部署,想想就要难死了,想都是问题,做才是答案,最后,我成功解决了这个问题
3、
在解决完第二个为问题后我又有了新的想法,既然我这款软件是有人用的,怎么能让用户离不开你的,目前我们这款软件还只是在我们学校内部进行分享,这关键的解决方案就是带有软件自动更新升级服务,当给用户第一感觉认为你这款软件行的时候,当他下载好之后,他还不是你真正的用户,因为如果你不定时更新bug,增加新功能的话,用户随时可能卸载,只要我们前期的推广让用户接受了我们的软件,只要告诉用户我们有自动更新功能,这要就可以实现对用户的绑定,虽然也会流失,但毕竟主动权就掌握在了我们手里,但是如果你没有继续做下去的想法的话,上述就都成为了废话。
四、开发过程的感触
1.《初次使用新技术的难受》。。。。。。
2.《一次次解决bug的心酸》。。。。。。
3.《不断调整页面的无奈》。。。。。。
4.《测试bug的苦闷,好多,呜呜呜》。。。。。。、
5.《软件推广的卑微》。。。。。。
6.《收获成功的喜悦》。。。。。。
总之一堆的消极情绪希望换来最后一个积极的,可能有强迫症吧,总想做好一些,确实,当你想到你的东西有人用的话,你就不断想优化它。
下一篇。《初次使用新技术的难受》
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现
了解Rails缓存如何工作的人可以真正帮助我。这是嵌套在Rails::Initializer.runblock中的代码:config.after_initializedoSomeClass.const_set'SOME_CONST','SOME_VAL'end现在,如果我运行script/server并发出请求,一切都很好。然而,在我的Rails应用程序的第二个请求中,一切都因单元化常量错误而变得糟糕。在生产模式下,我可以成功发出第二个请求,这意味着常量仍然存在。我已通过将以上内容更改为以下内容来解决问题:config.after_initializedorequire'some_cl