您的位置:首页 > 移动开发 > Android开发

Titanium——Android同步手机本地联系人

2012-11-13 11:12 405 查看
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/images/';
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 imageAvatar = Ti.UI.createImageView({
image: IMG_BASE + 'custom_tableview/user.png',
left:10, top:5,
width:50, height:50
});
row.add(imageAvatar);

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;//点击后显示已选的提示勾
});
[code]var linkman="";
//alert(tableData.length);
for (var j=0,length=tableData.length;j<length;j++){
if(tableData[j].getHasCheck()===true){
//console.log(labelUserName[j]['text']);
linkman += tableData[j]['children'][1]['text']+":"+tableData[j]['children'][2]['text']+",";
//console.log(linkman);
}
}


[/code]
同步联系人,这里用到了 HTTPClient

首先创建一个HTTPClient对象,然后打开并发送请求

var client = Ti.Network.createHTTPClient({});//建立HTTPClient对象
client.open("POST或者GET","php地址");
var params ={
linkman:linkman  //参数名
};
client.send(params);


最后通过 this.responseText得到返回值
本文出自 “小记” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: