和字网首页(Home) | 论坛首页(Forum)
Welcome Guest! To enable all features please 登录 or 注册.

Notification

Icon
Error

Guilin Ouyang
#1 发表时间 : 2012年11月20日 1:06:09(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

重新开始Android(安卓)系统的和码软件开发(二)

2012年11月19日

在Android设备上运行与测试软件,比在模拟器上快多了。Google的Nexus 7做得很好,不比iPad差,对我都有吸引力。

在Android上下载软件,不需要输入帐户与密码。iPad/iPhone下载软件(即使是免费软件),都要输入帐户密码,开帐户需要银行信用卡,因此iOS用户一开始就建立了支付渠道。Android用户可以不建立支付渠道,这样的环境用户就更少买软件了,Android上的软件有收入的可能性更小。

上个星期Android 4.2 SDK公布,我下载安装了,添加Activity时,有个FullScreenActivity的选项,带有自动隐藏System Bar, Status Bar 的功能,这个功能对视频,阅读这类不需要太多次触屏的软件很好。我的软件用户需要不断地触屏,如果在触屏时,隐藏System Bar, 当不触屏3秒后,就显示System Bar,就很好,也就是与现有功能反过来。我花了几个小时,阅读了很多的资料,功能部分做到,但仍有问题。当System Bar于隐藏状态时,触屏总是把System Bar唤回,这是我不需要的。因此就只好暂时不用这个功能。

编程过程中,总要参看Mac 上iOS《汉字字根知识与技术》软件,为了方便,我转到Mac上做Android软件了。

iOS上的这款《汉字字根知识与技术》软件于2011年4月1日开始设计制作,5月20日提交给苹果公司审查。前后不到两个月的时间,做得真快。现在看这个软件的内容与结构,都是很好的。

The Way Characters Formed(汉字字根的形成)是个创意,解释了汉字字根由“一丨丿丶”演变过程。当时想怎样把字根解释得有顺序,又容易记,我是在搭乘别人的车时,才得点时间想这个问题,就想到了现有的方法。

The Way Characters Formed


字根的学习与练习用到了350多个单字,做了1000多个汉字图片,还有录音文件。当时没有收入,积蓄也用完了,在很大的经济压力下,软件的内容与结构到做得这样精细,这样完善,一年半后的今天,我也找不到什么不足。

我现在做的只是把这款软件搬到安卓系统上来。安卓软件的过程中,因为要把iOS上的功能复制过来,就要做很多的对比。

iOS的UIViewController与android的Activity都用于是软件的界面设计,但功能有些不同。以下是比较的帖子:
uiviewcontroller-in-ios-vs-activity-in.html


在iOS中,HeCharacter有以下几个Class,相互继承的关系:
HeTyping_ViewController
--TrainingBase_ViewController
----StudyBase_ViewController
------Study_ViewController
------Writing_ViewController
----GameBase_ViewController
------FlyingChar_ViewController
------FlyingWord_ViewController

HeCharacter在Android中,也采用相似的Class设计,只把HeTyping_viewController(Keyboard)的功能分离出来做单独的一个Class,Keyboard与其它部分的信息传递用Android的EventListener的机制。

Edited by user 2012年11月21日 22:53:08(UTC)  | Reason: Not specified

Guilin Ouyang
#2 发表时间 : 2012年11月25日 23:50:32(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

2012年11月25日

在iOS的和码软件上,用户可以设定背景颜色,在安卓上要做到这点,还费了不少时间,先是看了Theme的内容,但安卓现在还不能动态地选择Theme, 后来选择的方法是做个AppBase_Activity, 设定其背景,其它的Activity都以这个为基础。用户选择的颜色保存在SharedPreference中。

因为Android API中DialogPreference没有ColorPickerDialog, 后来选择用了ColorPickerDialogPreference
http://code.google.com/r/mosabua-colorpicker/

主要参考的资料有:
1、Android Data Storage Options
2、Android Preference Guide
3、Set background image (drawable)
4、Good tutorial to understand PreferenceActivity
5、Good example of ColorPickerDialog
6、Example of ColorPickerDialogPreference
7、Good example of ColorPicker
8、Open Multiple Instances of Eclipse on Mac OS X

Edited by user 2012年11月26日 0:42:15(UTC)  | Reason: Not specified

Guilin Ouyang
#3 发表时间 : 2012年11月29日 22:42:57(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

做公司里的软件,与个人软件的不同。

公司里做软件,任何一个设计(或修改),或功能添加,或Bug Fix都是经过问题提出(建立Ticket/Task),问题分析,安排时间,程序编写(修改),QA测试,再到完成(Check In),这中间涉及,项目组领导,程序员,程序审查员,测试员。

问题不论大小,都要经过这套过程很费时间,但这对于项目的稳定,软件的质量有好处,对保持项目的连续有好处。如有人离开,剩下的人可以继续这个项目。

我上个公司里,组里的一个主要开发人员走了,我认为这是公司的一个大损失。但领导并没有多少挽留,人来人去是常态,做领导的要对此早有准备。所以公司经营费就高。

在公司里做软件,常常为了一个小问题,被几个人掺和搞得很复杂,要解释,要回答问题,要做不必要的测试。但也就是这样搅来搅去,一组人对项目的各个细节都清楚了。所以领导高兴看到多人参与,如果你一个人把这个项目做了,别人都不懂,那就对公司不利,对这个项目不利。所以在公司里做软件不要太着急,按部就班就行。

个人做软件就大不相同了,从设计到最后提交都是一个人完成,整个项目都在一个人的脑子里,开发的速度快多了。我常说时间上10倍的差距。但这种个人的高效率里面有个风险问题,如我自己开发的软件共有10个,都有(或多或少的)用户在使用,如果我离开了,没有人接手,与这些软件有关的专利,域名,网站,帐户,资料就废了,这些软件的维护与开发就停了。这也许是很多的个人软件都被做成Open Source的一个原因吧。

现在公司里人员与项目管理流行(Agile)敏捷项目管理。这个管理的一个主要特点是,每天都有个组内的短会(Scrum),通常是站着,组员依次汇报,上个工作日做了些什么,今天计划做什么,有问题大家简短地讨论一下,大家都相互了解,相互督促。

还有一点是,Agile项目管理系统里,保存着很多个(Ticket/Task),如果我说今天我可以完成这个Task, 那么组长一定会跟一句,你做完了这个,就做第二个,让你没有停歇的时间。这句话好象是组长必需说的,是他的职责。

Edited by user 2012年11月30日 9:11:13(UTC)  | Reason: Not specified

Guilin Ouyang
#4 发表时间 : 2012年12月4日 0:27:55(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

2012年12月3日

用了两天宝贵的时间,把苹果iOS上的4个软件中的3个做了一次更新。

要更新的原因:
1、为了增加软件的下载数量,提高软件的排名,需要不断的更新。

苹果上的和码软件从6月份就没有更新了,半年来仍保持不错的下载量(平均每天有150台设备安装和码软件)。在同类软件中,和码在多个国家保持领先排名位置。这说明和码技术有很强的生命力;

这次在圣诞节前更新,是为提高和码下载量提供一点帮助。

2、添加了4个软件的链接,也把和码电脑软件与视频教程的链接都加入到软件中,方便用户了解;

3、更改软件的英文名称,以前用的名称多用“Chinese Study", 现改为”Learn Chinese", 以便于关键词搜索。

4、把Project更新到iOS6.0;

5、修改了两个小的错误。

苹果更新了iOS,又增加了很多的新设备(iPhone5, iPad mini)后,对软件更新提出了新要求,软件截图都要用新的尺寸,用了不少时间做这些图。

为了开发iOS的软件花了不少时间,金钱,买Macbook,iPod, iPad, 又要每年交99美元的年费,现在也得听从苹果公司的软件要求。几年工夫做出来的软件也就是增加Appstore上的软件数目,绝大多数的软件都不会有收入,只是苹果发了大财。有被苹果公司利用的感觉。

Edited by user 2012年12月6日 23:27:44(UTC)  | Reason: Not specified

Guilin Ouyang
#5 发表时间 : 2012年12月10日 18:44:52(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

上个周期在软件中,加人了Singleton Class用于Global variables.

Singleton与Application subclass用于GlobalVariable那个更好,有很多的讨论,我的iOS上用的是Singleton, 且Android的网页上也推荐用Singleton:
http://developer.android...oid/app/Application.html

并于加入Web Service的功能,Android上没有象iOS上ASIHTTPRequest这样好使用的第三方Api, 试着使用了https://github.com/loopj/android-async-http,可以Get,但Post没有成功。HttpURLConnection的应用也有问题,只好先放一下。

开始了解Android In-App Billing的功能。刚看到这个技术今天有更新:In-App Billing 3

做很慢,也很着急,争取元旦之前这个软件要完成。

Guilin Ouyang
#6 发表时间 : 2012年12月23日 9:28:39(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

2012年12月23日

1、把帮助文件加入到软件中,这很容易就做到了,只要用WebView。
帮助文件要做些修改,要加入一些软件的图片,介绍软件功能,帮助用户使用。

2、加人广告功能,在安卓上,用户很少买软件,多数软件都是通过插播广告得到收入。
通过广告来得到收入,这点我在iOS上一直都没有重视。iOS上的和码软件都插播广告,在中国的广告点击数也很高,但苹果公司不付款给中国的广告点击数,只付款给美国,欧洲国家广告点击数。其实我早就应该换着插播别家的广告,就可以有点收入了。

比较后,我采用了MoPub.com的广告服务,同时注册了AdMob.com, mmedia.com两个广告商。在Android软件中加入MoPub.com广告功能真的很容易。

HTML View AdView

3、加人图片显示的功能。我先是找Androw上Photo Browser上的例子,没有找到,看到有Gallery View, 用了但不好,又改用ImageView + GestureDetector, 后又了解到android有更好的功能件ViewPager,最后采用ViewPager来浏览图片。

参考资料:
//http://mobile.tutsplus.com/tutorials/android/android-sdk_frame-layout/
//http://developer.android.com/training/custom-views/making-interactive.html
//http://stackoverflow.com/questions/937313/android-basic-gesture-detection
//http://android-developers.blogspot.ca/2011/08/horizontal-view-swiping-with-viewpager.html

如果用户使用这个软件次数多,熟练掌握了字根知识与技术,就会得到图片奖励,这些图片是介绍中国文化的。如剪纸,民族服饰,武术,山水,书画等等。
Paper Cut Chinese Traditional Cloth÷ñÒ816705427êÖ23õæ÷÷ñÒ816705427êÖ24õæ÷祝各位圣诞快乐!新年里平安如意!÷ñÒ816705427êÖ25õæ÷

Edited by user 2012年12月23日 10:09:04(UTC)  | Reason: Not specified

HeChinese
#7 发表时间 : 2013年1月1日 23:33:18(UTC)
HeChinese

等级: Advanced Member

组: Registered, Moderator
注册时间: 2012/2/4(UTC)
帖子数量: 81
Canada
位置: toronto

2013年01月01日

新年好!

圣诞节与新年假日连在一起从12月22日开始放假至今天,我出门了一天半去参加朋友的聚会,其余的时间都用在这个软件上,但还是没有在年前完成。

现在这个软件的主要内容都完成了,字根学习,书写,字根练习(游戏),单字练习(游戏),计分与奖励内容都做好了。但还有两项功能In-App-Billing,Web Service没有完成。不管这两个功能能否做到,这个周末都要把这个软件提交到Google Play上。

二月份我要回国过春节,回国之前看能否把安卓系统的和码软件法软件开个头。

祝各位朋友新年平安健康快乐!


Guilin Ouyang
#8 发表时间 : 2013年1月6日 22:41:42(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

2012年01月06日

今天提交了和码字形技术在安卓系统上的第一个软件《汉字字根知识与技术》,也是我的第一个安卓系统软件。

《汉字字根知识与技术》在Google Play上的网址

2012年初,我开始学习安卓系统的编程(初学时的日记),到今天第一个软件发布,前后用了一年的时间。这次是边上班边做(工作的内容是iOS苹果编程),其中4至8月(5个月)完全停止,9月份又重新开始。

这款软件是与苹果上的《汉字字根知识与技术》一个模子做的,图片,文字,语音,设计都是用现成的,这节省了一半的时间。

我第一个苹果手机上的软件花了8个月的时间,当时是不工作全部时间投入。

安卓系统,In-App-Billing的功能,较苹果系统In-App-Purchase容易实现多了。每台安卓设备上都有个Google Play的软件,帮助处理In-App-Billing的过程。

安卓系统上软件发布也容易,发布后,软件立即与用户见面,而苹果公司要对提交到AppStor的软件审查,大约要花一个星期的时间。

安卓用Java, 不需要考虑Memory Leak的问题,这真的很好。苹果软件的Objective-C的Memory Leak问题要花去程序员的很多时间,Objective-C语言现在也加入了ARC(automatic reference counting)的功能,来解决Memory management的困难。

从9月份重新开始做安卓软件以来的4个月,为做这个软件我喝了2瓶whisky酒,两瓶红酒,都是750ml一瓶的。我是很少喝酒的(酒量很小),这4瓶酒比我以前喝过酒的总量还多。

每天下班回来,我都立即做好饭喝点酒,睡上一觉,酒能帮助我很快入睡。一两个小时后再起来,做4个小时左右的编程。上班每周是40个小时,每天下班4小时再加上周末两天,也有40个小时。

我的房东说,这样的日子什么时候能结束,我说安卓上还有4个软件,微软手机系统上有5个软件,等这些软件做完,要两年左右的时间。两年后,我就自由了。

Home Main Set

WordGame Beauty

Edited by user 2013年1月6日 23:51:36(UTC)  | Reason: Not specified

Guilin Ouyang
#9 发表时间 : 2013年1月27日 11:56:15(UTC)
Guilin Ouyang

等级: Administration

组: Administrators
注册时间: 2012/2/4(UTC)
帖子数量: 233

和码在安卓系统的第一个软件HeCharacter(汉字字根知识与技术)在Google Play上发布了。

Google Play上的HeCharacter

先问读者一个问题,请问你知道系统的汉字字形知识,与汉字字形学习方法吗?

也许大家都会回答,汉字基本笔画是横竖撇点,汉字由字根组成的,汉字字形的学习练习方法,就是多写多练,等等。

是的,但我要说的是,以往的汉字字形知识是零散的,不成体系的,汉字字形的学习与练习方法是缺失的。

《和码汉字字形技术》是一整套系统的汉字字形知识与技术,包括:1系统的汉字字根体系,2字根组字方法,3字形练习与使用方法。

这款软件是《和码汉字字形技术》系列软件的第一个,介绍了汉字字根的形成,字根分类与排序方法,字根组字的方法,与组字练习。

汉字字形学习者,通过这款软件,都能轻松地掌握汉字字根的体系,掌握汉字的组成规律,掌握字形学习与练习的金钥匙。

全文请看:
HeCharacter|汉字字根知识与技术
论坛跳转  
不可以 发表新话题.
不可以 回复话题.
不可以 删除自己的发言.
不可以 编辑自己的发言.
可以 发表投票.
不可以 投票.