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

Ti的安装呢很多博客上都有我在这儿就不叙述了,Titanium没有中文的API所以对英语不好的程序猿来说有点儿费劲儿.....

我做的一个简单的基于android平台的demo ,同步手机本地的联系人的姓名和手机号到远程服务器的数据库....在这儿我贴出几个知识点以供参考借鉴.....

 

  1. 首先通过 Contacts 得到手机本地的联系人信息,然后进行循环遍历。
  2.    
       
       
       
    1. var contacts = Ti.Contacts.getAllPeople(); 
  3. 我在这儿是循环遍历到TableView中,
  4.    
       
       
       
    1.  
    2. function randomInt(max){ 
    3.   return Math.floor(Math.random() * max) + 1; 
    4.  
    5. var IMG_BASE = 'https://github.com/appcelerator/titanium_mobile/raw/master/demos/KitchenSink/Resources/images/'
    6. var defaultFontSize = Ti.Platform.name === 'android' ? 16 : 14; 
    7.  
    8. var tableData = []; 
    9. for(var i=0, length=contacts.length;i<length;i++){ 
    10.     contact = contacts[i]; 
    11.   var row = Ti.UI.createTableViewRow({ 
    12.     className:'forumEvent',
    13.     selectedBackgroundColor:'white'
    14.     rowIndex:i,
    15.     height:75 
    16.   }); 
    17.  
    18.   var imageAvatar = Ti.UI.createImageView({ 
    19.     image: IMG_BASE + 'custom_tableview/user.png'
    20.     left:10, top:5, 
    21.     width:50, height:50 
    22.   }); 
    23.   row.add(imageAvatar);  
    24.  
    25.   var labelUserName = Ti.UI.createLabel({ 
    26.     color:'#576996'
    27.     font:{fontFamily:'Arial', fontSize:defaultFontSize+6, fontWeight:'bold'}, 
    28.     text:contact.fullName, 
    29.     left:70, top: 6, 
    30.     width:200, height: 30 
    31.   }); 
    32.   row.add(labelUserName); 
    33.  
    34.   var labelDetails = Ti.UI.createLabel({ 
    35.     color:'#222'
    36.     font:{fontFamily:'Arial', fontSize:defaultFontSize+2, fontWeight:'normal'}, 
    37.     text:''+contact.phone['home'], 
    38.     left:70, top:44, 
    39.     width:360 
    40.   }); 
    41.   row.add(labelDetails); 
    42.   tableData.push(row); 
    43.  
    44. var tableView = Ti.UI.createTableView({ 
    45.   backgroundColor:'white'
    46.   data:tableData 
    47. }); 
  5. 监听单元格的点击事件,判断哪一个联系人被选中
  6.    
       
       
       
    1. tableView.addEventListener('click',function(evento){ 
    2.     evento.row.hasCheck=evento.row.hasCheck==true?false:true;//点击后显示已选的提示勾 
    3. }); 
    4.      
           
           
           
      1. var linkman=""
      2.     //alert(tableData.length); 
      3.     for (var j=0,length=tableData.length;j<length;j++){ 
      4.         if(tableData[j].getHasCheck()===true){ 
      5.             //console.log(labelUserName[j]['text']); 
      6.             linkman += tableData[j]['children'][1]['text']+":"+tableData[j]['children'][2]['text']+","
      7.             //console.log(linkman); 
      8.         } 
      9.     } 
  7. 同步联系人,这里用到了 HTTPClient
  8. 首先创建一个HTTPClient对象,然后打开并发送请求
  9.    
       
       
       
    1. var client = Ti.Network.createHTTPClient({});//建立HTTPClient对象 
    2. client.open("POST或者GET","php地址"); 
    3.     var params ={ 
    4.         linkman:linkman  //参数名 
    5.     }; 
    6.     client.send(params); 

最后通过 this.responseText得到返回值

本文出自 “小记” 博客,谢绝转载!

你可能感兴趣的:(android,手机,Titanium,联系人)