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

大屏日历异步加载每天比赛数目并显示在日历里

阅读更多

#import <QuartzCore/QuartzCore.h>
#import "CalendarController.h"
#import "TdCalendarView.h"
#import "WaitDialog.h"
#import "JSONParser.h"
#import "FunUtil.h"
@implementation CalendarController
@synthesize calendarView;
@synthesize currentSelectDate;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = @"比赛时间";
		//self.view.backgroundColor = [UIColor whiteColor];
		//self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"back.png"]]; 
		calendarView = [[TdCalendarView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
		calendarView.backgroundColor = [UIColor whiteColor];
		//calendarView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"back.png"]]; 
		[self.view addSubview:calendarView];
		[calendarView setDayFlag:15 flag:-1];
		calendarView.calendarViewDelegate = self;
    }
    return self;
}

- (void) selectDateChanged:(CFGregorianDate) selectDate{
	currentSelectDate = selectDate;
	NSLog(@"selectDateChanged catch:%d年%d月%d日",selectDate.year,selectDate.month,selectDate.day);
}
- (void) monthChanged:(CFGregorianDate) currentMonth viewLeftTop:(CGPoint)viewLeftTop height:(float)height{
	NSLog(@"monthChanged catch:%d",currentMonth.month);
	self.currentSelectDate = currentMonth;
	[NSThread detachNewThreadSelector:@selector(fetchdata) toTarget:self withObject:nil];
}
- (void) beforeMonthChange:(TdCalendarView*) calendarView willto:(CFGregorianDate) currentMonth{
	[[self calendarView] clearAllDayFlag];
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code.
}
*/

- (void)viewDidAppear:(BOOL)animated{
	[super viewDidAppear:animated];
	
}
-(void)fetchdata{
	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
	[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
	int maxDay = [[self calendarView] getDayCountOfaMonth:currentSelectDate];
	NSString *dataURL =@"";
	NSLog(@"dataURL:%@",dataURL);
	NSArray *data = [JSONParser loadData:dataURL isAllValues:NO valueForKey:@"list"];
	[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
	[self performSelectorOnMainThread:@selector(showCount:) withObject:data waitUntilDone:NO];
	[pool release];
}
-(void)showCount:(NSArray *)data{
	int count = [data count];
	NSLog(@"showChange:%d",count);
	for(int i = 0;i<count-1;i++){
		NSArray *bf = [data objectAtIndex:i];
		if([bf valueForKey:@"day"]!=nil){
			int day = [[bf valueForKey:@"day"]intValue];
			int count = [[bf valueForKey:@"count"]intValue];
			[calendarView setDayFlag:day flag:count];
		}
	}
	[calendarView setNeedsDisplay];
}

- (void)dealloc {
	[calendarView release];
    [super dealloc];
}


@end
 
  • 大小: 723 KB
分享到:
评论

相关推荐

    jQuery响应式回款计划日历表特效代码

    在这款回款计划日历表中,jQuery主要负责提高用户体验,例如通过响应式设计使日历在桌面和移动设备上都能正常显示,以及处理用户与日历元素的交互,如点击选择日期等。 响应式设计是现代网页开发的关键组成部分,它...

    Glisten:以海报屏幕格式显示Trello或Google日历中的列表

    通过使用AJAX(异步JavaScript和XML)技术,Glisten能够从Trello和Google日历API获取实时数据,并在用户界面上进行动态更新。 Glisten的实现可能涉及到以下JavaScript库和技术: 1. **jQuery**:用于简化DOM操作,...

    Android例子项目.zip

    - Loader优化了异步加载,尤其在数据变化时,能够自动重新加载数据。 9. **SQLite数据库** - Android内置轻量级数据库系统,用于存储应用数据,提供SQL接口进行操作。 10. **网络编程** - 使用...

    android入门学习资料

    Loader是Android框架中的一个组件,用于在后台加载数据并更新UI。 13. **Gradle构建系统**: Android项目使用Gradle进行构建,了解Gradle脚本和依赖管理能提高项目的可维护性和复用性。 14. **Android测试**: 学习...

    JS-200 数据处理站.DOC

    JS-200数据处理站还具备多参数综合显示功能,可连接大屏幕显示器和上位机异步串行通信接口,所有接口均采用光电器件隔离,防止干扰。此外,仪表具有多种硬件和软件抗干扰措施,若发生程序锁死,自动复位电路可在8秒...

    PADC-5_pro_sfc

    最后,Loader是异步加载数据的组件,主要用于在Activity或Fragment的生命周期中管理数据的加载,特别是在配置更改时保持数据加载的连续性。 在"PADC-5_pro_sfc"项目中,开发者将有机会实践如何在实际应用中创建和...

    winform devexpress 仓库管理系统源码

    这些控件覆盖了数据网格、图表、报表、日历等多个方面,可以满足各种复杂业务需求。 在本项目中,通过使用DevExpress提供的丰富控件资源,可以显著提升仓库管理系统的视觉效果与交互体验。 #### 知识点三:仓库...

    《Android应用开发揭秘》源码

    12. **通知(Notification)**:在状态栏显示消息,提供与用户互动的方式,是Android应用与用户沟通的重要途径。 13. **权限管理**:Android 6.0(API级别23)引入了动态权限模型,应用在运行时需要请求敏感权限。 ...

    Android SDK范例大全代码

    13. **通知(Notifications)**:Android的通知系统允许应用在状态栏显示提醒,即使应用不在前台运行也能与用户交互。 14. **碎片(Fragment)**:在大屏幕设备上,Fragment帮助构建可重用的UI模块,与Activity协同工作...

    android API中文文档

    11. **异步任务(AsyncTask)**:AsyncTask提供了一个轻量级的机制来执行后台操作,并在完成时更新UI。它是对线程池和Handler的一种简化封装。 12. **通知(Notification)**:通知用于在状态栏显示信息,即使应用不在...

    快速掌握Android教程适合新手(4G)57讲

    8. **通知(Notification)**:Android的通知系统允许应用在状态栏显示消息,即使应用不在前台运行。学习者会学习如何创建和管理各种类型的通知。 9. **多线程与AsyncTask**:为了实现UI的流畅响应,开发者需要理解...

    android 学习笔记

    在Android学习过程中,掌握基础知识是至关重要的。这个“Android学习笔记”压缩包文件很可能包含了从入门到进阶的各种教程和资料,旨在帮助新手快速上手并深入理解Android开发。 首先,我们要了解Android的基础架构...

    Android开发教程笔记完全版.rar

    13. **通知(Notifications)**:在状态栏显示信息,与用户交互,包括通知渠道和通知优先级的概念。 14. **Android测试**:包括单元测试、UI测试、Espresso测试框架的使用,以及持续集成和测试策略。 15. **Google...

    Google Android SDK 开发范例大全(完整版)

    10. **ContentProvider**:用于在不同应用之间共享数据的机制,比如联系人或日历数据。 11. **SQLite数据库**:Android内置轻量级的SQLite数据库,开发者可以用来存储应用数据,支持SQL查询操作。 12. **异步处理...

    Android应用源码之安卓多功能手机助手项目.rar

    这类应用通常包含各种实用工具,如联系人管理、日历、闹钟、任务提醒、文件管理、系统优化等。分析这样的源代码能帮助开发者理解和学习如何在Android平台上集成和实现多种功能。 【描述】: "源码参考,欢迎下载" ...

    Android中文API集合

    在Android开发领域,API(应用程序接口)是开发者与操作系统交互的核心工具。"Android中文API集合"是一个专为中文用户设计的资源,它包含了详细的API文档,以中文解释了Android平台的各种功能和组件,使得初学者和...

    Android官方开发教程中文版

    Android官方开发教程是Android开发者入门和进阶的重要资源,它涵盖了Android应用开发的各个方面,旨在帮助程序员理解并掌握Android平台的编程技术。这份中文版教程是Google官方文档的汉化版本,为中国的开发者提供了...

    Android framework

    12. **AsyncTask**: 提供轻量级的后台处理,可在主线程中更新UI,但不推荐在新版本的Android中使用,应使用其他的异步处理方式,如Executor服务或LiveData。 13. **Notification**: 提供系统级的消息提醒,即使应用...

    Android技术专题

    在Android技术专题中,我们可以深入探讨一系列与Android操作系统开发、应用设计和性能优化相关的关键知识点。Android作为一个开源的移动平台,提供了丰富的API和工具,使得开发者可以构建功能强大的应用程序。以下是...

    Android SDK开发范例大全

    9. **异步编程**:Android应用的主线程不支持耗时操作,因此需要使用AsyncTask、IntentService或现代的Kotlin协程来处理后台任务,以避免应用无响应。 10. **权限管理**:Android 6.0及以上版本引入了运行时权限,...

Global site tag (gtag.js) - Google Analytics