React Native ——实现一个简单的抓取github上的项目数据列表

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
‘use strict‘;

var React = require(‘react-native‘);
var {
  AppRegistry,
  StyleSheet,
  Text,
  Image,
  View,
  TextInput,
  ListView,
} = React;
var GIT_URL = ‘https://api.github.com/search/repositories?q=‘;

var AwesonProject = React.createClass({
  /*--  lifecycle --*/
  getInitialState: function() {
    return {
      // (row1, row2) => row1 !== row2:如果两次的数据不同的话,告诉数据源该数据发生了改变
      dataSource: new ListView.DataSource({
        rowHasChanged: (row1, row2) => row1 !== row2,
      }),
    };
  },
  render: function() {
    var listViewContent;
    if (this.state.dataSource.getRowCount() === 0) {
      listViewContent =
                        <Text>
                          there‘s nothing to search , please have another key to tap.
                        </Text>;
    } else {
      listViewContent =
                        <ListView
                          ref=‘listview‘
                          dataSource={this.state.dataSource}
                          renderRow={this.renderRow}
                          automaticallyAdjustConntentInsets={false}
                          keyboardShouldPersistTaps={true}
                          showsVerticalScrollIndicator={true} />
    }
    return (
      <View style={styles.container}>
        <TextInput
            autoCapitalize=‘none‘
            autoCorrect={false}
            placeholder=‘search forr git project...‘
            onEndEditing={this.onSearchChange}
            style={styles.searchView}>
        </TextInput>
        {listViewContent}
      </View>
    );
  },

  /*-- private method --*/

  //点击搜索响应数据请求
  onSearchChange: function(event) {
    var serarchText = event.nativeEvent.text.toLowerCase();
    var queryURL = GIT_URL + encodeURIComponent(serarchText);

    fetch(queryURL)
      .then((response) => response.json())
      .then((responseData) => {
        if (responseData.items) {
          this.setState({
            dataSource : this.state.dataSource.cloneWithRows(responseData.items)
          });
        }
      })
      .done();
  },

  //渲染列表中的每一行数据
  renderRow: function(item) {
    return (
      <View>
        <View  style={styles.row}>
          <Image
            source={{uri:item.owner.avatar_url}}
            style={styles.Img}>
          </Image>
          <View>
            <Text style={styles.name}>
              {item.full_name}
            </Text>
            <Text style={styles.name}>
              Star:{item.stargazers_count}
            </Text>
          </View>
        </View>
        <View style={styles.cellBorder}></View>
      </View>
    );
  },

});

/*布局样式*/
var styles = StyleSheet.create({
  container: {
    flex: 1,
    // justifyContent: ‘center‘,
    // alignItems: ‘center‘,
    backgroundColor: ‘#F5FCFF‘,
  },
  searchView:{
    marginTop:30,
    padding:5,
    margin:5,
    fontSize:15,
    height:30,
    backgroundColor:‘#EAEAEA‘
  },
  row:{
    flexDirection:‘row‘,
    padding:8,
  },
  name:{
    marginBottom:8,
    marginLeft:8,
  },
  Img:{
    width:50,
    height:50,
  },
  cellBorder:{
    height:1,
    marginLeft:2,
    backgroundColor:‘#EAEAEA‘,
  }
});

AppRegistry.registerComponent(‘AwesonProject‘, () => AwesonProject);
时间: 2024-10-20 10:26:59

React Native ——实现一个简单的抓取github上的项目数据列表的相关文章

二、windows下使用git拉取github上的项目(通过设置ssh key方式)

一.windows下使用git拉取github上的项目 1.创建仓库 说明: 2.打开git bash 3.使用ssh-keygen命令生成自己的公钥和私钥 首先输入ssh-keygen,这里会提示你输入私钥保存的位置,直接回车使用默认位置即可, 后面会两次提示输入密码 直接回车 这里标红的两个文件 id_rsa和id_rsa.pub分别是私钥和公钥 4.查看生成的秘钥 cat ~/.ssh/id_rsa.pub 此时打开C:UsersAdministrator.ssh 文件夹(.ssh文件夹默

爬虫技术(四)-- 简单爬虫抓取示例(附c#代码)

这是我的第一个爬虫代码...算是一份测试版的代码.大牛大神别喷... 通过给定一个初始的地址startPiont然后对网页进行捕捉,然后通过正则表达式对网址进行匹配. List<string> todo :进行抓取的网址的集合 List<string> visited :已经访问过的网址的集合 下面实现的是,给定一个初始地址,然后进行爬虫,输出正在访问的网址和已经访问的网页的个数. 需要注意的是,下面代码实现的链接匹配页面的内容如图一.图二所示: 图一: 图二: 简单代码示范如下:

推荐一个不错的抓取匹配源码的正则表达式网站

在线网址:http://regexpal.com/ 本人用于抓取匹配的源码,更多功能自己研究. 推荐一个不错的抓取匹配源码的正则表达式网站,布布扣,bubuko.com

一个用php抓取网页中电子邮箱的实例

原文出自: http://outofmemory.cn/code-snippet/36020/php-how-zhuaqu-wangye-youxiangdizhi-code php如何抓取网页中邮箱地址,下面我就给大家分享一个用php抓取网页中电子邮箱的实例. 原文来自: www.pc100.net <?php /** desc:采集网页中的邮箱的代码 link:www.pc100.net date:2013/2/24 */ $url='http://www.pc100.net'; //要采集

简单爬虫-抓取博客园文章列表

原文:简单爬虫-抓取博客园文章列表 如果使用对方网站数据,而又没有响应的接口,或者使用接口不够灵活的情况下,使用爬虫在合适不过了.爬虫有几种,对方网站展示形式有几种都是用分析,每个网站展示有相似的地方,有不同的地方. 大部分使用httpRequst就能完成,不管是否添加了口令.随即码.请求参数.提交方式get或者post.地址来源.多次响应等等.但是有些网站使用ajax如果是返回json或固定格式的也好处理,如果是很复杂的,可以使用webbrower控件进行抓取,最后正则解析,获取所需要的数据即

arpspoof+driftnet+ ARP欺骗简单图片抓取

arpspoof+driftnet+ ARP欺骗简单图片抓取 driftnet是一款简单而使用的图片捕获工具,可以很方便的在网络数据包中抓取图片.该工具可以实时和离线捕获指定数据包中是图片 环境 受害ip:192.168.228.130 攻击ip:192.168.228.129 网关:192.168.228.2 条件 1,开启或关闭IP转发 2,向被攻击机器发送arp欺骗数据包,冒充网关 3,向网关发送arp数据欺骗网关,冒充被攻击机器 4,运行driftnet截取图片 开启IP转发功能 cat

[python应用]python简单图片抓取

前言 emmmm python简单图片抓取 1 import requests 2 import threading 3 import queue 4 from subprocess import Popen,PIPE 5 from bs4 import BeautifulSoup as bs 6 import urllib 7 import base64 8 9 10 queue=queue.Queue() 11 12 class Jiandan(threading.Thread): 13 d

React Native创建一个APP

React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等. React Native代码框架示例下载:https://github.com/facebook/react-native 1.首先下载安装nodejs:https://nodejs.org/en/ 2.然后推荐使用Homebrew 的方式

Hawk: 20分钟无编程抓取大众点评17万数据

1. 主角出场:Hawk介绍 Hawk是沙漠之鹰开发的一款数据抓取和清洗工具,目前已经在Github开源.详细介绍可参考:http://www.cnblogs.com/buptzym/p/5454190.html,强烈建议先读这篇文章,该文介绍了详细原理和抓取链家二手房的攻略,以此为基础,才能较好的理解整个操作. 本文将讲解通过本软件,获取大众点评的所有美食数据,可选择任一城市,也可以很方便地修改成获取其他生活门类信息的爬虫. 本文将省略原理,一步步地介绍如何在20分钟内完成爬虫的设计,基本不需