`
quanminchaoren
  • 浏览: 911242 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android android.text.format文件大小和日期解析类

阅读更多

很多网友可能直接将自己的J2ME项目生硬的移植到Android平台,其实Google为我们提供好了文件大小和时间日期解析类,它位于android.text.format这个包中,它提供了强大的标准化解析方法:

  1. IP地址解析类 在android.text.format.Formatter中提供了String formatIpAddress(int addr) 这个方法可以轻松方便的将socket中的int型转成类似127.0.0.1的IP格式,需要注意的是Linux平台的字节顺序,即小字节序、低字节序little-endian。

  2. 文件大小解析类 细心的网友可能还看到了android.text.format.Formatter中的formatFileSize方法,该方法String formatFileSize (Context context, long number) ,第二个参数是long型,一般为File对象的最后修改时间或创建时间的方法,最终返回类似 12KB、5Bytes的值,20MB的字符串。

  3. 日期时间解析类 ,该类位于android.text.format.DateFormat这个package中,该类提供了Java中的三种时间对象,提示大家下面三种方法为静态可以直接调用,如下:

  final static CharSequence  format(CharSequence inFormat, Date inDate)  //传入Date对象
  Given a format string and a Date object, returns a CharSequence containing the requested date.

 final static CharSequence  format(CharSequence inFormat, Calendar inDate)  //Calendar对象
Given a format string and a Calendar object, returns a CharSequence containing the requested date.

final static CharSequence  format(CharSequence inFormat, long inTimeInMillis)  //long对象
Given a format string and a time in milliseconds since Jan 1, 1970 GMT, returns a CharSequence containing the requested date.

  我们可能看到了第一个参数均为inFormat这是一个CharSequence接口的String类型,它提供了灵活的时间格式解析字符串描述,提示大家注意大小写要区分,如

   April 6, 1970 at 3:23am 例子,那么inFormat参数的写法和最终执行的结果如下对照,下面就以Android123的CWJ生日为例子如下

"MM/dd/yy h:mmaa" -> "11/03/87 11:23am"
"MMM dd, yyyy h:mmaa" -> "Nov 3, 1987 11:23am"
"MMMM dd, yyyy h:mmaa" -> "November  3, 1987 11:23am"
"E, MMMM dd, yyyy h:mmaa" -> "Tues , November 3, 1987 11:23am"
"EEEE, MMMM dd, yyyy h:mmaa" -> "Tues day, Nov 3, 1987 11:23am"

  对于判断一个时间是否为24小时制式可以通过android.text.format.DateFormat类的static boolean  is24HourFormat(Context context)方法来判断

分享到:
评论
1 楼 灵程大哥 2011-03-14  
不知怎么获取文件大小呢?

相关推荐

Global site tag (gtag.js) - Google Analytics