本文实例讲述了Android编程之短信列表的时间显示。分享给大家供大家参考,具体如下:
Android的短信的时间的显示做的很精细,首先保存在短信数据库mmssms.db中的短信时间都是Long型的数字,查询动作结束,取到这个值之后,会做转换,具体转换的动作在MessageUtils.java的formatTimeStampString函数中完成;
public static String formatTimeStampString(Context context, long when) { return formatTimeStampString(context, when, false); } public static String formatTimeStampString(Context context, long when, boolean fullFormat) { Time then = new Time(); then.set(when); Time now = new Time(); now.setToNow(); // Basic settings for formatDateTime() we want for all cases. int format_flags = DateUtils.FORMAT_NO_NOON_MIDNIGHT | DateUtils.FORMAT_ABBREV_ALL | DateUtils.FORMAT_CAP_AMPM; // If the message is from a different year, show the date and year. if (then.year != now.year) { format_flags |= DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE; } else if (then.yearDay != now.yearDay) { // If it is from a different day than today, show only the date. format_flags |= DateUtils.FORMAT_SHOW_DATE; } else { // Otherwise, if the message is from today, show the time. format_flags |= DateUtils.FORMAT_SHOW_TIME; } // If the caller has asked for full details, make sure to show the date // and time no matter what we've determined above (but still make showing // the year only happen if it is a different year from today). if (fullFormat) { format_flags |= (DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_TIME); } return DateUtils.formatDateTime(context, when, format_flags); }
从第二个具体实现的函数可以看出来,Android是根据当前的时间为比较的依据来决定显示的时间格式:
1. 如果当前的短信时间中年份跟手机当前的年份不一致,则显示年月日,不显示具体的几点几分,如:2010-6-30;
2. 如果短信的时间跟手机当前时间在同一年,但不是同一天,则只显示月日,如:6月29日;
3. 如果是当天的短信,则会计算是上午还是下午的短信,同时显示几点几分记录的该短信,如:下午 12:55;
综合考虑下来,这样的显示设计还是很合理的
希望本文所述对大家Android程序设计有所帮助。
本文向大家介绍Android编程实现定时发短信功能示例,包括了Android编程实现定时发短信功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现定时发短信功能。分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中添加如下内容 第二,使用AlarmManager来实现一
本文向大家介绍Android编程之短信窃听器实现方法,包括了Android编程之短信窃听器实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程之短信窃听器实现方法。分享给大家供大家参考,具体如下: 服务器: 1、修改frombean:VideoForm中增加短信时间、内容和发送者属性。 2、VideoManageAction中增加方法getSMS()来获取窃听器发送的
本文向大家介绍Android编程获取网络时间实例分析,包括了Android编程获取网络时间实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程获取网络时间的方法。分享给大家供大家参考,具体如下: 在网上看到的最常见的方式有: 原理:通过访问http://www.bjtime.cn网站来获取 这里还为大家提供另外一种方式:通过网络或者GPS的方式。 代码如下: 更多关于
本文向大家介绍Android编程之软键盘的隐藏显示实例详解,包括了Android编程之软键盘的隐藏显示实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了Android编程之软键盘的隐藏显示方法。分享给大家供大家参考,具体如下: Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘后必然会造成原有布局高度的减少,
本文向大家介绍Android编程实现短信收发及语音播报提示功能示例,包括了Android编程实现短信收发及语音播报提示功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现短信收发及语音播报提示功能。分享给大家供大家参考,具体如下: 发送短信功能界面 收到短信后处理界面: 短信广播 附:DEMO示例代码点击此处本站下载。 更多关于Android相关内容感兴趣的读者可
本文向大家介绍Android编程之消息机制实例分析,包括了Android编程之消息机制实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程之消息机制。分享给大家供大家参考,具体如下: 一、角色描述 1.Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。 2.Handler: 你可以构造Handler对象来
本文向大家介绍Android编程之单元测试实例分析,包括了Android编程之单元测试实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程之单元测试用法。分享给大家供大家参考,具体如下: 在实际开发中,开发android软件的过程需要不断地进行测试。使用Junint测试框架,是正规Android开发的必用技术,在Junint中可以得到组件,可以模拟发送事件和检测程序处
本文向大家介绍Android实现实时通信示例,包括了Android实现实时通信示例的使用技巧和注意事项,需要的朋友参考一下 我们今天来聊下如何做实时通讯(先给知识点,实现原理,最后给出实现实时通信的具体代码--使用工具 android studio) 现在先说下用到的知识点: java的socket包括服务端和客户端, 这个是用来实现通信 java的多线程,这个是用来实现实时通信 java的线程