Ti的安装呢很多博客上都有我在这儿就不叙述了,Titanium没有中文的API所以对英语不好的程序猿来说有点儿费劲儿.....
我做的一个简单的基于android平台的demo ,同步手机本地的联系人的姓名和手机号到远程服务器的数据库....在这儿我贴出几个知识点以供参考借鉴.....
- 首先通过 Contacts 得到手机本地的联系人信息,然后进行循环遍历。
- var contacts = Ti.Contacts.getAllPeople();
我在这儿是循环遍历到
TableView中,
-
- function randomInt(max){
- return Math.floor(Math.random() * max) + 1;
- }
-
- var IMG_BASE = 'https://github.com/appcelerator/titanium_mobile/raw/master/demos/KitchenSink/Resources/p_w_picpaths/';
- var defaultFontSize = Ti.Platform.name === 'android' ? 16 : 14;
-
- var tableData = [];
- for(var i=0, length=contacts.length;i<length;i++){
- contact = contacts[i];
- var row = Ti.UI.createTableViewRow({
- className:'forumEvent',
- selectedBackgroundColor:'white',
- rowIndex:i,
- height:75
- });
-
- var p_w_picpathAvatar = Ti.UI.createImageView({
- p_w_picpath: IMG_BASE + 'custom_tableview/user.png',
- left:10, top:5,
- width:50, height:50
- });
- row.add(p_w_picpathAvatar);
-
- var labelUserName = Ti.UI.createLabel({
- color:'#576996',
- font:{fontFamily:'Arial', fontSize:defaultFontSize+6, fontWeight:'bold'},
- text:contact.fullName,
- left:70, top: 6,
- width:200, height: 30
- });
- row.add(labelUserName);
-
- var labelDetails = Ti.UI.createLabel({
- color:'#222',
- font:{fontFamily:'Arial', fontSize:defaultFontSize+2, fontWeight:'normal'},
- text:''+contact.phone['home'],
- left:70, top:44,
- width:360
- });
- row.add(labelDetails);
- tableData.push(row);
- }
-
- var tableView = Ti.UI.createTableView({
- backgroundColor:'white',
- data:tableData
- });
监听单元格的点击事件,判断哪一个联系人被选中
- tableView.addEventListener('click',function(evento){
- evento.row.hasCheck=evento.row.hasCheck==true?false:true;
- });
- var linkman="";
-
- for (var j=0,length=tableData.length;j<length;j++){
- if(tableData[j].getHasCheck()===true){
-
- linkman += tableData[j]['children'][1]['text']+":"+tableData[j]['children'][2]['text']+",";
-
- }
- }
同步联系人,这里用到了
HTTPClient。
首先创建一个HTTPClient对象,然后打开并发送请求
- var client = Ti.Network.createHTTPClient({});
- client.open("POST或者GET","php地址");
- var params ={
- linkman:linkman
- };
- client.send(params);
最后通过 this.responseText得到返回值