你的位置:首页 > Java教程

[Java教程]React Native开发的通讯录应用(使用JavaScript开发原生iOS应用,vczero)


0、前言:

  项目地址:https://github.com/vczero/React-Native-App

  欢迎大家提issues讨论任何问题,包括“试衣间”....

一、项目介绍

基于React-Native & Node通讯录App

(1)主要完成的功能有:

  • 基于文件系统的Node.js服务端;
  • 通讯录功能(分类页 + 列表页 + 拨号邮箱邮件)
  • 公告功能(列表页 + 详情页)
  • 通讯录和内容管理功能
  • webview内嵌实例 效果如下图所示:
 
 
 

(2)安装启动程序

(1)首先进入address_book目录安装node module;命令行:$ npm install (2)其次cd server,启动node数据接口服务,命令行: $ node app.js(3)初次登录用户名:test@126.com  密码:123

(3)Tip:

(1)为了演示,代码有些粗糙;   (2)服务端也不是很完善,为了方便快速搭建,使用的是基于node的文件服务。(3)oschina会同步更新改项目:https://git.oschina.net/vczero/React-Native-App(4)相关入门教程:https://github.com/vczero/react-native-lession

为了省点篇幅,将第七篇文章也附到下面吧:

React-Native入门指南

第七篇动手写组件

React-Native的核心思想就是组件化,相当于MVC的view,因此开发应用的最佳方式就是将功能组件化。

一、最简单的方式

这里我们实现一个最简单的组件,就是邮件的末尾署名的组件。组件意味着复用,意味着统一。现在有这样一个需求,我们需要根据不同用户发送邮件时,生成每个用户的名片(即邮件末尾的署名)。1、一般一开始的实现方式如下,直接将组件内容写到功能需求的地方:<View>  <View>..........这里是当前邮件组的其它功能</View>  <View>    <Text>框架研发部</Text>    <Text>www.ctrip.com</Text>  </View></View>2、有一天,其它的部门的同事提出他们也需要在其他的地方,增加他们的邮件署名,那么你是否又会复制一份代码呢,当然不是,我们可以组件化:var Email = React.createClass({  render: function(){    return (      <View style={styles.container}>        <Text style={styles.text}>{this.props.name}</Text>        <Text style={styles.text}>{this.props.url}</Text>      </View>    );  }});3、整体的代码如下:

二、循环一个文章列表

要实现的效果如下图:

第一步改造我们的组件var Article = React.createClass({  render: function(){    return (      <View style={styles.container}>        <Text style={[styles.text, styles.title]}>{this.props.title}</Text>        <Text style={styles.text}>{this.props.author}</Text>        <Text style={styles.text}>{this.props.time}</Text>      </View>    );  }});第二步定义数据model和循环var App = React.createClass({  getInitialState: function(){    var data = [    {      title: "React-Native入门指南",      author: "vczero",      time: "2015-06-28"    },    {      title: "为什么世界不一样",      author: "vczero",      time: "2015-06-8"    },    {      title: "你来,我就告诉你",      author: "vczero",      time: "2015-04-01"    }  ];  return {    articles: data  };},render: function(){  return(    <ScrollView>    {this.state.articles.map(function(article){    return <Article title={article.title} author={article.author} time={article.time}/>    })}  </ScrollView>  );  }});整个代码如下:




深圳去四川旅游报价跟团去四川旅游多少钱几月去四川旅游最好去四川的旅游团价格去四川旅游必去景点黄姚世外田园门票包含游船吗?贺州世外田园竹筏免费吗? 世外田园游玩需要坐船吗?黄姚世外田园游船多少钱? 品酒、看风景两不误,来这些拥有绝妙风景的酒吧[二] 有藏书的地方不一定是图书馆,也可能是酒店! 2015世界之窗元宵节有什么好玩的?世界之窗元宵节活动介绍? 元宵节也是情人节 去天津过个浪漫的元宵节 2015珠海元宵节哪里好玩?珠海元宵节晚会有什么节目? 2015广州花灯元宵节在什么地方有?广州花灯会有什么好玩的? 组图:天气微凉好个秋 安徽赏秋好时节 盘点南昌十大新地标 各有各的美 寻找那些海南也有的“异国”美景 城市慢灵魂 成都十大慢生活地标 马尔代夫怎么选择岛屿 去泰国旅游需要什么证件? 去马来西亚购物好不好? 去马来西亚旅游要注意什么?马来西亚有什么风俗禁忌吗? IDT71V3558SA100BQG Datasheet IDT71V3558SA100BQG Datasheet IDT5V9352PFGI8 Datasheet IDT5V9352PFGI8 Datasheet IDT72V3641L20PQF Datasheet IDT72V3641L20PQF Datasheet 浙江去港澳三天两晚游 浙江去港澳三天两晚游 浙江去港澳三天两晚游 内蒙古去港澳五天四晚游 内蒙古去港澳五天四晚游 内蒙古去港澳五天四晚游 内蒙古到港澳四天三晚游 内蒙古到港澳四天三晚游 内蒙古到港澳四天三晚游