var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>
jutleo
欢迎走进有风的地方~~
posts - 63,  comments - 279,  trackbacks - 0
忙起工作没完没了,还是继续回到正题吧,本节实现一个简单的日历算法,相信你看过之后会发现原来如此简单。
先设想一下:一个日历应该是这样的 最上面是星期头,{周日/周一/周二/周三/周四/周五/周六},下面的日历的具体天,当然该如何摆放其实只要知道两个条件就可以了 第一 当前月的第一天是星期几 第二 当前月总有多少天 剩下的事情就是挨个画出来了,想怎么画就怎么画,不区分语言和平台。下来看看java平台的做法:
/**
     * Method Description:
     * 返回当前日期月的最大天数
     * 
@author: laoshulin@gmail.com
     * @createTime: Jan 18, 2011 9:09:49 AM
     * 
@return
     
*/
    
public static int getMaxDays() {
        Calendar cdate 
= Calendar.getInstance();
        
return cdate.getActualMaximum(Calendar.DATE);
    }
    
     
/**
      * Method Description:
      * 返回当前日期月第一天的星期
      * 
@author: laoshulin@gmail.com
      * @createTime: Jan 18, 2011 9:05:25 AM
      * 
@return
      
*/
     
public static String getWeek() {
      Calendar cdate 
= Calendar.getInstance();
      cdate.set(Calendar.DATE, 
1);
      String[] weekDays 
= {"星期日""星期一""星期二""星期三""星期四""星期五""星期六"};
      
return weekDays[cdate.get(Calendar.DAY_OF_WEEK)-1];
     }
很不幸的是在黑莓中获取月的最大天数没有现成的,我们必须换个思路:
cdate.set(Calendar.MONTH,cdate.get(Calendar.MONTH)+1);
cdate.set(Calendar.DAY_OF_MONTH,
1);
cdate.set(Calendar.DATE,cdate.get(Calendar.DATE)
-1);
System.out.println(
"当月天数:"+cdate.get(Calendar.DAY_OF_MONTH));
OK,或许现在你输出下面这个就不难了吧
这个是作为例子的java控制台输出,如果作为黑莓模拟器是不行的,后面我会继续黑莓的相关做法,当然如果你要求好看点的话要自己实现UI控件来绘制。
posted on 2011-01-18 09:25 凌晨风 阅读(1717) 评论(0)  编辑  收藏 所属分类: BlackBerry

只有注册用户登录后才能发表评论。


网站导航:
 

<2011年1月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(11)

我参与的团队

随笔分类

随笔档案

文章分类

文章档案

新闻分类

新闻档案

收藏夹

围脖

最新随笔

搜索

  •  

最新评论

阅读排行榜

评论排行榜