最近在做android手机电池管理相关的项目,其中有一个需求是计算手机充电时间的。翻阅了一些资料和一些相关的竞品,发现每个产品的在手机充电时长的计算上多不是很统一,后来翻阅了物理学的一些知识和文章,总算给出了一个相对比较准确的答案,现在把结论共享给大家。

首先先解释几个概念:

1.电流以及电流的单位

电流被定义为电离子的定向移动,我们称之为电流,其单位为毫安或者安培(MA/A), 1安培=1000毫安

2.充入电流

充入电流指,当前利用某种充电方式充入到手机每小时的横向电流。

3.AC充电与USB充电

我们称AC充电为直流充电,也就是通常插着充电器充电,USB充电就是将手机通过USB数据线接入PC端的充电方式。通常我们默认为USB的充入电流为AC的充入电流的二分之一,AC = USB * 2,一般情况下,PC端的USB充入电流为500MA/H,AC的充入电流为1A/H,但是由于硬件的制造商规格略有不同,数据上会存在差异。

4.电池容量

查看电池容量的方式很简单,数据就在电池的背面,一目了然。

ok,有了以上4个结论,我们可以大概计算出一块电池从没有电,到满电的充电时长了。

设,一块电池的容量为X毫安,充入电流为Y毫安/小时,那么就有结论 H = X/Y,举例:一块1500MA容量的电池,用USB充电需要1500/500 = 3小时,用充电器充电需要1500/1000 = 1.5小时。请注意,充电电流系数可能会有所差异,但是差异不会很大,那么也就是是说得出的充电时间也不会差得太多。

那么这个时候有个问题出现了,我们在开发的时候发现,android的API没有给开发人员提供获取电池容量的API,其实这个也不奇怪,因为,你很可能买了个HTC的手机之后又换上了一个山寨的1800MA大电池,也就是说硬件是不提供获取电池容量的芯片的,那么android的sdk也自然无法获得这个数值。那既然上面的公式是不是对开发来说就没有任何价值了呢?

其实,还是有价值的,我换了一个思路来计算,从产品和技术两个角度去解决这个问题。

首先你必须第一时间计算出充电时间后呈现给用户,因为这是用户所期待的核心价值,不可违背。我调查了一下市面上的电池容量,差不多一般都在1200-1800MA,1800MA的电池应该说是大屏幕用的电池了,所以我取了一个平均值1500MA,当用户首次使用电池管理软件的时候,我统一使用1500MA作为计算标准,计算出充电时间,由于电池容量很可能会不符合当前手机的电池容量,所以时间上会或多或少有所偏差,但是这个没关系,我首先解决的问题是解决用户的期待感!接着,充电开始了,我会记录充电1%电量所花去的时间,然后就可以计算出来充电100%所花去的时间,根据充入电流系数X,就可以大概的得到这块电池的容量了!之后保存这快电池容量的数值,当用户下次充电的时候就可以直接获取这个数值进行时间的计算了。

结论与公式:

1.锂电池充电时间计算公式:x(电池容量) y(充入电流系数) h(充电时间)

h = x/y

2.android开发中获取电池充电时间的基本思路:

a.获取充1%电量所花费的时间h(电量百分比这个可以通过api获得),计算出冲100%所花费的时间H, H 约等于 h * 100

b.如果是USB充电,那么电池容量约等于 500 * H,如果是AC充电,那么电池容量约等于 1000 * H ,注意单位都为毫安,我们将这个结论定义为A

c.那么下次再充电的时候,我们可以通过b的结论应用公式1,就有结论:

ACTime(小时) = A/1000

USBTime(小时) = A/500

PS:1000和500单位都为毫安,这两个数值是物理学上给出的粗略系数,但是对于电池管理来说具备一定的参考价值,谢谢!

关于android手机充电时间的计算公式相关推荐

  1. 不可换电池手机充电时间测试

    为什么80%的码农都做不了架构师?>>>    市场上的智能手机已 经逐渐偏向高端化,配置偏向高端的同时机身体积却在缩减,这样就带来了一个问题,缩减的到底是谁的面积?其实很简单,大家 ...

  2. android 手机充电慢,华为手机充电慢怎么办?6个小妙招让手机快速充满电

    有些小伙伴反馈说自己的手机充电慢.充不进电,小编这就为你支招. 华为手机充电慢怎么办?6个小妙招让手机快速充满电 1.关机充电.在开机情况下充电,手机一边耗电一边充电,导致充电变慢.若希望充电速度更快 ...

  3. android 手机充电慢,导致手机充电太慢的四大原因及解决方法【图文教程】

    导语:在生活中,手机已经成为我们必不可少的一个工具,不论是娱乐还是工作都需要用到手机,手机给我们的生活带来了很多的便利,但是手机充电也成为我们的一个心头大患,很多关键时刻它就会没电,而且有些小伙伴还会 ...

  4. android 手机充电慢,安卓手机充电慢是怎么回事

    很多人的手机都是在使用一年到两年后出现手机电池不耐用或者手机充电出现问题,一般出现这种问题的原因可能多是由于电池老化或者是充电器等问题导致的.本篇文章告诉大家手机充电慢解决方法,希望对大家有所帮助. ...

  5. 小米android手机充电宝,教你如何把小米手机变成移动电源

    充电宝是可以直接给移动设备充电且自身具有储电单元的装置.目前市场主要品类多功能性充电宝,基本都配置的标准的USB输出,基本能满足目前市场移动设备.但是对于移动设备,应急使用大家了解多少呢? --今天的 ...

  6. android手机设置时间设置,如何设置电信定制手机日期与时间

    使用电信定制手机如A765e.A600e.A560e等的时候,可能会发现手机的日期和时间没法自己设置.这主要是因为手机使用电信卡时,会自动与电信基站进行交互并自动调节日期与时间.所以不论使用电信定制的 ...

  7. android 系统时间改变颜色吗,安卓手机通知栏时间、日期、通知颜色修改教程

    智能手机使用久了,难免产生视觉疲劳,很多朋友通过不断更新桌面或者刷机来达到不同的视觉效果,不过以上方法通常比较复杂,并且使用次数多了也容易失去新鲜感,下面本文也是涉及到手机界面美化方面,主要介绍下An ...

  8. android快速充电实现_手机充电ic介绍以及怎么用充电IC实现手机快速充电

    关于手机充电器的IC,虽然我们在实际生活中的很多方面都应用到了这个技术,但是实际上很少有人真正清楚其中的原理和今天的工作流程.针对这个问题,今天为大家介绍的就是关于手机充电器的IC的简介,除此之外,还 ...

  9. android手机哪家强,Android智能手机充电速度哪家强

    腾讯数码讯(文心)据Android Authority网站报道,所有移动设备都需要充电,目前的技术还没有到使移动设备不需要充电的水平.这是因为它们都使用了可充电电池,在为移动设备提供数个小时电力后,电 ...

最新文章

  1. Bootstrap栅格布局系统的特点
  2. Dialog外部点击事件
  3. 蓝卡在哪里_什么是蓝卡,魅力在哪里,让申请者为之着迷?
  4. 各种优秀依赖库,大赞
  5. Spring 3使用JUnit 4进行测试– ContextConfiguration和AbstractTransactionalJUnit4SpringContextTests...
  6. 高通qcc芯片天梯图_芯片性能天梯榜“爆冷”,骁龙888无法撼动麒麟9000的王位...
  7. html 文件域变滑块,小巧的jQuery区域范围滑块插件noUiSlider
  8. 在Js或者cess后加版本号 防止浏览器缓存
  9. 编程之美二进制一的个数
  10. 这是 1000 万程序员都想要的格子衫!
  11. iOS 开发中常见的设计模式
  12. 服务器上打开PHP文件却出现下载界面或者502
  13. 验证码服务器出现问题,上网的时候验证码老是出错,是服务器的问题还是什么?...
  14. 银行核心系统之假期表
  15. 【老生谈算法】matlab实现MF-TDMA系统中多用户多业务的无线接入控制和时隙分配算法源码——时隙分配算法
  16. bnuoj 29065 鸣人的查克拉
  17. linux mint软件包,在Linux Mint上安装R软件包的问题18.1
  18. GateWay的介绍与使用
  19. 计算机辅助工装设计的应用研究,计算机辅助工装设计与管理.PPT
  20. 用opencv的人脸识别来分辨明星似乎不太灵光

热门文章

  1. 根据经验整理:运营工作者必备的五类软件
  2. 云计算网络极速入门-虚拟机网络
  3. 192.168.8.1手机登陆_192.168.8.1登录入口手机登陆?
  4. 推荐一个 Java 在线考试系统
  5. POJ-3348 Cows
  6. 特步与AWS合作,“跑”出行业全球品牌发展新“配速”
  7. 数据门户设计:想要自己的门户首页标新立异?Smartbi帮你
  8. ai字体设计(鲜到家)
  9. war不能启动怎么解决
  10. C++用其他符号作为输入间隔