将一个数组进行随机再排列

作者:JerryXia | 发表于 , 阅读 (0)
我们在开发第一个app的时候遇到的一个比较有趣的算法,这种将一个数组重新进行随机排序的问题并不罕见,但是因为是初学者,所以在探讨这个算法的过程中也纠结了很久,当然最后的算法也是参考借鉴了且听风吟博主的一篇文章:http://wsjiang.iteye.com/blog/1775341,在此鸣谢!
问题的解决:1、假设想要将2~7这6个数字随机排序成一个数组,这里我们设置min为该范围的最小值2,max为该范围的上限7,n为想要在这个范围中取出多少个数字组成一个数组,当然当n等于范围的长度len即6时,那么得到的就是将原来的6个数字重新随机排序一遍。
2、为了方便我们引进一个初始化数组source,并将刚刚范围中的所有数字依次存进该数组中,则初始化数组source为{2,3,4,5,6,7}。
3、为了方便我们同样再引进另一个数组result作为最后返回的数组。在这里我们知道一开始len=6,那么就随机取得一个随机数index(0<=index<=len-1),接下来就要在source数组中找到index位置上的元素放入到result数组的第0位,这时应该将len自减,同时在sou...阅读全文

如何实现微信5.0的滑动效果

作者:JerryXia | 发表于 , 阅读 (0)
作为初学者,虽然深知不可一步登天也应当脚踏实地,但是总会有一些奇思异想想要去实现。在实现第一个app的时候我们遇到的另一个头疼的问题便是如何实现像微信5.0版本过后的滑动效果,查阅官方文档以及借鉴网上大神的经验之后我们也顺利得到了一点思路。虽然我另外一个伙伴已经实现了此功能,但我总觉得有些许的冗杂,经过研究学习之后现在已经得到了优化,详见下文。
1、关于android.support.v4google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,其中v4包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。但是我一开始在开发中一直指不到该包的源代码,一番搜索之后找到了解决方法:1、首先为工程build path,找到路径:android-sdk-windows\extras\android\support\v4\android-support-v4.jar;2、导入该包并不能正确的找到源代码,需要在java bulid path –>Order and Export下找...阅读全文

安卓下如何使用JUnit进行软件测试

作者:JerryXia | 发表于 , 阅读 (0)
软件测试作为程序员必备的一项技能是决定软件开发周期长短以及软件运行成败的关键,可以说好的软件不是代码写得好而是有效的测试决定的。本文将介绍在Android下利用eclipse进行开发时如何使用JUnit进行单元测试。
测试的分类(仅举例其中一些方法)根据测试是否知道代码1、黑盒测试(测试的时候不知道具体代码):指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 
2、白盒测试(测试的时候需要了解具体的代码):指的是把盒子盖子打开,去研究里面的源代码和程序结果。是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
3、灰盒测试(灰盒测试介于黑盒测试与白盒测试之间):可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那...阅读全文

一口一口吃掉Volley(三)

作者:JerryXia | 发表于 , 阅读 (0)
学习了一口一口吃掉Volley(二)之后,你应该已经学会了如何使用Volley自带的Request,但是有的时候我们需要解析的数据多种多样,例如XML又或者你想使用Google的gson,那么当Volley不能直接提供给我们这些功能的时候就需要我们进行自定义了,第一节我也向大家讲过Volley面向接口编程,使得其很容易扩展,那么这节课我们就一起来学习自定义的Request吧!
从StringRequest开始讲讲思路先上最基本的StringRequest源码1234567891011121314151617181920212223242526272829303132333435public class StringRequest extends Request<String>{    private final Response.Listener<String> mListener;    /** 根据给定的METHOD设置对应的request. */    public StringRequest(int method, String url, Response.Listener<...阅读全文