您的位置:首页 > 移动开发 > Android开发

Android开发细节——开发过程中遇到的细节问题与解决方案汇总【转】

2016-12-16 14:39 405 查看
来自:http://blog.csdn.net/qq_30379689/article/details/52442513

一、获取系统时间的24小时制与12小时制

最近在做项目的时候发生了一点错误,服务器端是24小时制的时间,而本地数据库则是12小时制的时间,然后翻阅了资料,记录下来

获取24小时制的时间:

[java] view
plain copy

 





public static String showDate() {  

    SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

    String date = sDateFormat.format(new Date());  

    return date;  

}  

获取12小时制的时间:

[java] view
plain copy

 





public static String showDate() {  

    SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  

    String date = sDateFormat.format(new Date());  

    return date;  

}  

两者区别就在于HH和hh,我们来看一下文档:





二、ViewPager中的Fragment在切换时不重新加载

最近在做项目的时候发生了一点错误,在ViewPager中的Fragment中切换到第三页重新切回第一页时,会重新加载第一页,显得页面一直在加载,降低了用户体验

viewPager的原理:

会事先加载好当前页的前后两页,也就是到了第三页的时候,第一页已经被销毁了,回到第二页的时候会重新创建

解决方法:

[java] view
plain copy

 





mViewPager.setOffscreenPageLimit(3);  

官方文档对这个方法的解释:

设置的页面数量应该保留当前页面的视图层次中处于闲置状态。页面超出这一限制将在需要时重新创建的适配器。

这是作为一个优化。如果你提前知道的页面数量你需要支持或对页面延迟加载机制,调整该设置可以有好处在平滑的分页动画和交互。如果你有一个小的页面数量(3 - 4),您可以保持活跃,更少的时间将会花在为新创建的视图布局来回子树作为用户页面。

你应该保持低这个极限,特别是如果你的页面有复杂的布局。这个设置默认为1。

参数   int    限制多少页将保持私生活方面处于闲置状态。

三、优化购物车中选中物品时价钱相加减的精确运算

问题描述:做到商品购物车模块的时候,发现价钱的加减并不能单纯的使用+、-来实现,由于我们的价格都是double类型的,如10.24元,相互加减的时候会出现20.45555555的情况,所以我们需要使用到API中BigDecimal这个类进行包装,然后运算

代码如下:

[java] view
plain copy

 





public void selectSingle() {  

    //创建BigDecimal对象  

    BigDecimal bj1 = new BigDecimal(Double.toString(money1));  

    BigDecimal bj2 = new BigDecimal(Double.toString(money2));  

    if (selected_Id.contains(shop.get_id())) {//相减  

        sum_money = bj1.subtract(bj2).doubleValue();  

    } else {//相加  

        sum_money = bj1.add(bj2).doubleValue();  

    }  

}  

四、应用按Home键返回桌面,再次点击应用不能恢复回离开时的Activity

只要该栈中之前的任何一个Activity在manifest文件中定义了启动模式为singleTask,那么再次点击应用时会启动第一个Activity,只要去除之前Activity中singleTask属性就能恢复回离开时的Activity。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: