MovieRankingTab.js 9.81 KB
import React, { Component } from "react";
import { View, Text, StyleSheet, Image } from "react-native";
import { Icon } from "native-base";
import { AsyncStorage } from "react-native";
import axios from "axios";
const API_KEY = "2bf00f660b1a6a3ffeb6e06ac270cce3";
const NAVER_CLIENT_ID = "KqPsntd1hcPJ8FUPBGqN";
const NAVER_CLIENT_SECRET = "0GRb3uya1U";
let uri1 = "";

export default class MovieRankingTab extends Component {
  state = {
    isLoading: true,
    info: [],
    name0: [],
    name1: [],
    name2: [],
    name3: [],
    name4: [],
    name5: [],
    name6: [],
    name7: [],
    name8: [],
    name9: [],
    imgur0: [],
    imgurl: [],
    imgur2: [],
    imgur3: [],
    imgur4: [],
    imgur5: [],
    imgur6: [],
    imgur7: [],
    imgur8: [],
    imgur9: []
  };
  static navigationOptions = {
    tabBarIcon: ({ tintColor }) => (
      <Icon name="ios-trophy" style={{ color: tintColor }} />
    )
  };

  getMovieList = async () => {
    axios
      .get(
        `http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=${API_KEY}&targetDt=20191129`
      )
      .then(
        response => {
          this.setState({
            name0: response.data.boxOfficeResult.dailyBoxOfficeList[0].movieNm,
            name1: response.data.boxOfficeResult.dailyBoxOfficeList[1].movieNm,
            name2: response.data.boxOfficeResult.dailyBoxOfficeList[2].movieNm,
            name3: response.data.boxOfficeResult.dailyBoxOfficeList[3].movieNm,
            name4: response.data.boxOfficeResult.dailyBoxOfficeList[4].movieNm,
            name5: response.data.boxOfficeResult.dailyBoxOfficeList[5].movieNm,
            name6: response.data.boxOfficeResult.dailyBoxOfficeList[6].movieNm,
            name7: response.data.boxOfficeResult.dailyBoxOfficeList[7].movieNm,
            name8: response.data.boxOfficeResult.dailyBoxOfficeList[8].movieNm,
            name9: response.data.boxOfficeResult.dailyBoxOfficeList[9].movieNm,
            info: response.data.boxOfficeResult.dailyBoxOfficeList
          });

          name = response.data.boxOfficeResult.dailyBoxOfficeList[0].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl0: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[1].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl1: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[2].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl2: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[3].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl3: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[4].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl4: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[5].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl5: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[6].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl6: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[7].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl7: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[8].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl8: json.items[0].image
              });
            });
          name = response.data.boxOfficeResult.dailyBoxOfficeList[9].movieNm;
          fetch(
            `https://openapi.naver.com/v1/search/movie.json?query='${name}'`,
            {
              headers: {
                "X-Naver-Client-Id": NAVER_CLIENT_ID,
                "X-Naver-Client-Secret": NAVER_CLIENT_SECRET
              }
            }
          )
            .then(response => response.json())
            .then(json => {
              this.setState({
                imgurl9: json.items[0].image
              });
            });
        }
        //   {
        //   for (var i = 0; i < 10; i++) {
        //     console.log(
        //       response.data.boxOfficeResult.dailyBoxOfficeList[i].movieNm
        //     );
        //   }
        // }
      )
      .catch(error => {
        console.log(error);
      });
  };
  componentDidMount() {
    this.getMovieList();
  }
  render() {
    return (
      <View style={style.container}>
        <Text>MovieRanking</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl0}` }}
        />
        <Text>{this.state.name0}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl1}` }}
        />
        <Text>{this.state.name1}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl2}` }}
        />
        <Text>{this.state.name2}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl3}` }}
        />
        <Text>{this.state.name3}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl4}` }}
        />
        <Text>{this.state.name4}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl5}` }}
        />
        <Text>{this.state.name5}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl6}` }}
        />
        <Text>{this.state.name6}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl7}` }}
        />
        <Text>{this.state.name7}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl8}` }}
        />
        <Text>{this.state.name8}</Text>
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl9}` }}
        />
        <Image
          style={{ height: "25%", width: "25%" }}
          source={{ uri: `${this.state.imgurl9}` }}
        />
        <Text>{this.state.name9}</Text>
      </View>
    );
  }
}

const style = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: "center",
    justifyContent: "center"
  },
  splitContainer: {
    flex: 1
  }
});