当前位置: 编程技术>移动开发
本页文章导读:
▪TableView 的施用 实例一 TableView 的使用 实例一
TableView 是iphone/ipad中常常会用到的导航控件,本实例我们开始做一个基本的导航菜单列表,通过该例可以让大家了解该控件的基础知识及基本使用的方法,废话少.........
▪ intent传送数组 intent传递数组
Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);
Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);
......
▪ MTK 的一些札记(zz) MTK 的一些笔记(zz)
L4是MMI/AT和协议栈的适配层。ATCI是AT命令解析器。UEM是用于抽象如键盘、LED、通用输入/输出等基本设备,是用户设备模块。PHB就是电话本。SMU是安全管理单元(SIM、STK.........
[1]TableView 的施用 实例一
来源: 互联网 发布时间: 2014-02-18
TableView 的使用 实例一
TableView 是iphone/ipad中常常会用到的导航控件,本实例我们开始做一个基本的导航菜单列表,通过该例可以让大家了解该控件的基础知识及基本使用的方法,废话少说开始。
一、首先我们先创建一个iphone或ipad工程(本例以iphone为例)命名TableViewDemo1
如下图所示:
二、打开TableViewDemo1ViewController.xib,添加TableView控件。
三、编辑TableViewDemo1ViewController.h
添加实现的协议UITableViewDelegate,UITableViewDataSource,及声明UITableView对象tableViewList
四、打开TableViewDemo1ViewController.xib,IB设计器使TableView控件与之前声明的对象tableViewList做关联。
打开以上窗口,右键选中File's Owner并拖动至Table View上
在弹出菜单中选tableViewList
然后再右键选中Table View拖至File's Owner,淡出菜单如下
分别选中dataSource和delegate
至此IB设计完毕,下一步我们会在类中添加导航的实现代码。
五、添加实现代码
打开编辑TableViewDemo1ViewController.h
添加 NSMutableArray *dataItems;
打开编辑TableViewDemo1ViewController.m
在viewDidLoad中初始化dataItems
添加数据源, 由三个函数来回答数据绑定的请求:numberOfSectionsInTableView, numberOfRowsInSection 和 cellForRowAtIndexPath.
用numberOfSectionsInTableView方法来返回table中有几个组.
用numberOfRowsInSection方法来返回每个组里有几行
最后用cellForRowAtIndexPath来得到一个包含每一行显示信息的UITableViewCell对象. UITableViewCell类支持文本和图像,编辑和删除确认等功能. 这些信息会保存在表队列里,用来至此翻页等功能,但是内存很低的时候会自动释放,然后再需要的时候重新创建.
OK至此最基本的导航菜单我们算是完成了,运行一下看看效果
本例先搞一段落TableView更加丰富多彩的应用会在以后例子中继续讲解,
实例代码可见附件TableviewDemo1.zip
TableView 是iphone/ipad中常常会用到的导航控件,本实例我们开始做一个基本的导航菜单列表,通过该例可以让大家了解该控件的基础知识及基本使用的方法,废话少说开始。
一、首先我们先创建一个iphone或ipad工程(本例以iphone为例)命名TableViewDemo1
如下图所示:
二、打开TableViewDemo1ViewController.xib,添加TableView控件。
三、编辑TableViewDemo1ViewController.h
添加实现的协议UITableViewDelegate,UITableViewDataSource,及声明UITableView对象tableViewList
@interface TableViewDemo1ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> { IBOutlet UITableView *tableViewList; } @end
四、打开TableViewDemo1ViewController.xib,IB设计器使TableView控件与之前声明的对象tableViewList做关联。
打开以上窗口,右键选中File's Owner并拖动至Table View上
在弹出菜单中选tableViewList
然后再右键选中Table View拖至File's Owner,淡出菜单如下
分别选中dataSource和delegate
至此IB设计完毕,下一步我们会在类中添加导航的实现代码。
五、添加实现代码
打开编辑TableViewDemo1ViewController.h
添加 NSMutableArray *dataItems;
@interface TableViewDemo1ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> { IBOutlet UITableView *tableViewList; NSMutableArray *dataItems; } @end
打开编辑TableViewDemo1ViewController.m
在viewDidLoad中初始化dataItems
- (void)viewDidLoad { [super viewDidLoad]; dataItems=[[NSMutableArray alloc]initWithObjects:@"中国",@"美国",@"日本",nil]; }
添加数据源, 由三个函数来回答数据绑定的请求:numberOfSectionsInTableView, numberOfRowsInSection 和 cellForRowAtIndexPath.
用numberOfSectionsInTableView方法来返回table中有几个组.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; }
用numberOfRowsInSection方法来返回每个组里有几行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [dataItems count]; }
最后用cellForRowAtIndexPath来得到一个包含每一行显示信息的UITableViewCell对象. UITableViewCell类支持文本和图像,编辑和删除确认等功能. 这些信息会保存在表队列里,用来至此翻页等功能,但是内存很低的时候会自动释放,然后再需要的时候重新创建.
// Customize the appearance of table view cells. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; } NSUInteger row=[indexPath row]; cell.textLabel.text=[dataItems objectAtIndex:row]; return cell; }
OK至此最基本的导航菜单我们算是完成了,运行一下看看效果
本例先搞一段落TableView更加丰富多彩的应用会在以后例子中继续讲解,
实例代码可见附件TableviewDemo1.zip
1 楼
kkun
2012-06-13
学习了。。。
[2] intent传送数组
来源: 互联网 发布时间: 2014-02-18
intent传递数组
Bundle b=new Bundle(); b.putStringArray(key, new String[]{value1, value2}); Intent i=new Intent(context, Class); i.putExtras(b);
Bundle b=this.getIntent().getExtras(); String[] array=b.getStringArray(key);
[3] MTK 的一些札记(zz)
来源: 互联网 发布时间: 2014-02-18
MTK 的一些笔记(zz)
L4是MMI/AT和协议栈的适配层。
ATCI是AT命令解析器。
UEM是用于抽象如键盘、LED、通用输入/输出等基本设备,是用户设备模块。
PHB就是电话本。
SMU是安全管理单元(SIM、STK)。
CSM是呼叫服务管理。
RAC是登记访问控制。
SMSAL是SMS应用层。
内核服务包括定时器、任务管理和进程间通信、资源和内存管理、日志和异常处理。OSL是封装OS API的层,而KAL则是封装内核的层,应当在OSL以上来开发。
数据类型定义(VRE的头会比MTK更乱吗?)
* 基本数据类型:kal_non_specific_general_types.h。
* KAL相关的定义:kal_release.h。(好变态的名字,对不对啊?)
* MMI任务中和OSL相关的数据类型定义:PixtelDataTypes.h。
任务之间的通信是通过SEND_ILM来完成的,从实现来看是通过一个消息队列来完成的,关注struct ilm_struct定义,SAP是业务访问点。发送消息之前,首先要把本地参数缓冲区分配出来,然后赋值发送请求。
Highlight事件是用户通过键盘触发的事件,与提示信息关联。
SetProtocolEventHandler实际上就是MMI FRAMEWORK提供的回调函数注册工具,与MMI相关的所有事件都可以通过这个函数登记——包括网络。
按键码需要注意的几个特殊键:KEY_END是挂机键、KEY_SEND是摘机键。
MMI字符串资源的加入:
1)在ref_list.txt中加入字符串。
2)把字符串ID加入到ID枚举中。
3)使用ADD_APPLICATION_STRING2来加入字符串。
4)使用GetString()获得字符串。
5)使用APP_BASE来保证字符串ID的唯一性。
图片资源的加入:
1)把图片加入应用程序目录。
2)把图片ID加入枚举类型中。
3)使用ADD_APPLICATION_IMAGE2来加入图片资源。
4)绘图时就可以直接使用图片ID来绘制了。
5)使用APP_BASE来保证图片ID的唯一性。
L4是MMI/AT和协议栈的适配层。
ATCI是AT命令解析器。
UEM是用于抽象如键盘、LED、通用输入/输出等基本设备,是用户设备模块。
PHB就是电话本。
SMU是安全管理单元(SIM、STK)。
CSM是呼叫服务管理。
RAC是登记访问控制。
SMSAL是SMS应用层。
内核服务包括定时器、任务管理和进程间通信、资源和内存管理、日志和异常处理。OSL是封装OS API的层,而KAL则是封装内核的层,应当在OSL以上来开发。
数据类型定义(VRE的头会比MTK更乱吗?)
* 基本数据类型:kal_non_specific_general_types.h。
* KAL相关的定义:kal_release.h。(好变态的名字,对不对啊?)
* MMI任务中和OSL相关的数据类型定义:PixtelDataTypes.h。
任务之间的通信是通过SEND_ILM来完成的,从实现来看是通过一个消息队列来完成的,关注struct ilm_struct定义,SAP是业务访问点。发送消息之前,首先要把本地参数缓冲区分配出来,然后赋值发送请求。
Highlight事件是用户通过键盘触发的事件,与提示信息关联。
SetProtocolEventHandler实际上就是MMI FRAMEWORK提供的回调函数注册工具,与MMI相关的所有事件都可以通过这个函数登记——包括网络。
按键码需要注意的几个特殊键:KEY_END是挂机键、KEY_SEND是摘机键。
MMI字符串资源的加入:
1)在ref_list.txt中加入字符串。
2)把字符串ID加入到ID枚举中。
3)使用ADD_APPLICATION_STRING2来加入字符串。
4)使用GetString()获得字符串。
5)使用APP_BASE来保证字符串ID的唯一性。
图片资源的加入:
1)把图片加入应用程序目录。
2)把图片ID加入枚举类型中。
3)使用ADD_APPLICATION_IMAGE2来加入图片资源。
4)绘图时就可以直接使用图片ID来绘制了。
5)使用APP_BASE来保证图片ID的唯一性。
最新技术文章: