반응형

앱에서 화면을 이동하기 위해 Drawer 네비게이션을 사용하는 방법을 알아보겠습니다.

 

※ 구현하기 위해 사용한 라이브러리에서 Drawer navigation이라고 표현하고 있습니다만,

화면 마다 용어의 차이가 있을 수 있습니다. 저는 Side Navigation Bar라는 용어가 더 이해하기 쉬울 것 같네요.

 

 

그럼 시작해보겠습니다.

 

1. 사전 준비

필요한 라이브러리를 설치합니다.

npm install @react-navigation/native

1-1. Expo로 프로젝트를 구성하셨다면 아래 명령어를 입력해주세요.

expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

1-2. React Native로 프로젝트를 구성하셨다면 아래 명령어를 입력해주세요.

npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view

 

2. 이제 '@react-navigation/drawer' 라이브러리를 설치합니다.

npm install @react-navigation/drawer

 

3. App.js 파일에 코드를 구현합니다.

필요한 라이브러리를 import하고 

<NavigationContainer> - <Drawer.Navigator> - <Drawer.Screen> 순으로 네비게이션에 필요한 코드를 작성합니다.

그리고 <Drawer.Screen>에 메뉴에 보여질 화면을 지정해줍니다.

 

아래 샘플 코드에서는 HomeScreen, Sample1, Sample2 화면을 구현하였습니다.

HomeScreen은 같은 파일에 작성하였고, Sample1, 2는 파일을 분리하였습니다.

실제 앱을 구현하실 때는 Sample1, 2처럼 분리해서 작성하시는 걸 권장합니다.

 

 

 

4. 실행 화면

 

5. 더욱 자세한 라이브러리 내용 및 사용법을 확인하고 싶으시면 아래 라이브러리 문서를 참고하시기 바랍니다.

reactnavigation.org/docs/drawer-based-navigation

반응형
반응형

ReactNative 개발 환경 설정을 진행할 때 사용하는 방법은 2가지가 있습니다.

  1. Expo CLI Quickstart
  2. React Native CLI Quickstart

이번에는 Expo CLI Quickstart를 사용하기 위한 개발 설정을 설명해보겠습니다.

 

우선 필요한 프로그램을 설치합니다.

1. Node를 설치합니다.

 - 12 LTS 버전 이상 설치 필요.

 

2. 'expo-cli'를 npm을 사용해서 설치합니다.

 - 전역 설치(-g)로 설치합니다.

npm install -g expo-cli

expo-cli 전역 설치 명령어 실행 화면
expo-cli 전역 설치 완료 화면

 

3. expo 명령어를 사용하여 React Native 프로젝트를 생성합니다.

expo init AwesomeProject

cd AwesomeProject
npm start # you can also use: expo start

 

4. 프로젝트 생성 후 'npm start'로 프로젝트를 실행합니다.

npm start로 프로젝트 실행한 화면

5. 실행된 화면을 확인합니다.

실행 화면 ( http://localhost:19002/ )

 

 

❗ 설정 중 예외상황

- 윈도우 터미널 1.0에서 실행 시 아래와 같은 에러 발생, 일반 cmd 창에서 실행 시 정상 동작 함.

 

반응형
반응형

이번 글에서는 Mac에서 ReactNative iOS 프로젝트를 시작하는 방법에 대해 다뤄보겠습니다.

 

개발 환경 설정이 되어 있지 않으시다면 이전 글을 보고 진행해주세요.

 

0. 개발 환경 설정

 

1. React Native Command Line Interface 를 이용하여 프로젝트 생성

프로젝트를 생성하고자 하는 폴더로 이동 후 터미널에서 아래 명령어를 실행합니다.

➜  initReactNative npx react-native init initReactNative

init 실행 후 화면

2. 위의 단계가 완료되면, 가이드대로 아래 명령어를 실행합니다.

init 명령어 완료

➜  initReactNative npx react-native run-ios

 

3. iOS 시뮬레이터와 Metro 터미널이 실행됩니다.

npx react-native run-ios 실행 화면
iOS 시뮬레이터 실행 화면

 

Metro 터미널 실행 화면

 

4. 이제 iOS 시뮬레이터에 앱이 설치되고 실행되게 됩니다.

React Native iOS 프로젝트 실행 화면

 

이제 React Native iOS 앱을 개발해보세요.

반응형
반응형

React Native 프로젝트를 진행하며 Chart를 구현해야 해서

Chart를 사용하기 위한 준비 단계를 간략하게 정리하였습니다.

 

Chart를 그리기 위해 선택한 라이브러리는 'react-native-svg-charts'입니다.

 

우선 다운로드 수가 많은 ReactNative chart 라이브러리를 검색하여

주간 다운로드 수가 2만이 넘는 라이브러리를 선택하였고(victory-native, react-native-svg-charts)

그 중, Used by가 더 많고 간단하게 사용할 수 있어보이는 'react-native-svg-charts'를 선택하였습니다.

 

1. 사전 준비

1-1. 'react-native-svg'를 설치합니다.

>npm install react-native-svg

1-2. 설치한 'react-native-svg'를 link합니다.

>react-native link react-native-svg

 

2. 라이브러리 설치

>npm install react-native-svg-charts

 

3. 간단한 차트를 그리는 코드를 작성합니다.

 

import React from 'react';

import { BarChart, Grid } from 'react-native-svg-charts'

class App extends Component {
    
    render() {
        const fill = 'rgb(134, 65, 244)'
        const data = [50, 10, 40, 95, -4, -24, null, 85, undefined, 0, 35, 53, -53, 24, 50, -20, -80]

        return (
            <BarChart style={{ height: 200 }} data={data} svg={{ fill }} contentInset={{ top: 30, bottom: 30 }}>
                <Grid />
            </BarChart>
        )
    }
}

export default App;

 

4. 동작 확인

앱에서 차트가 그려지는지 확인합니다.

정상적으로 동작하는 경우 아래 화면처럼 chart가 표시됩니다.

react-native-svg-charts

 

반응형
반응형

Splash Screen이란?

앱을 실행했을 때 1~2초 정도 나오는 화면을 말합니다.

NETFLIX 앱의 Splash Screen

React Native 앱을 개발할 때 Splash Screen을 적용하는 법을 설명드리겠습니다.

 

0. React Native 앱 기본 설정이 되어 있지 않으시다면 아래 글을 참고하여 진행해주세요.

React native 시작하기 Part.1

 

React Native 시작하기 Part.1

이전 글에서 환경 설정을 모두 마쳤다면, 이제 React Native App을 생성 후 실행해보겠습니다. 환경 설정을 하지 않으신 분이라면 이전 글을 보고 환경 설정을 진행해주세요. frontmulti.tistory.com/61 React

frontmulti.tistory.com

 

1. Splash Screen을 사용하기 위한 오픈소스 라이브러리(react-native-splash-screen)를 다운로드합니다.

 

npm i react-native-splash-screen --save

 

2. 다운로드한 라이브러리의 plugin을 install 합니다.

react-native link react-native-splash-screen

 

3. Android의 MainActivity.java 파일을 수정합니다.

해당 파일의 경로는 'android/app/src/main/java/com/{앱 이름}/MainActivity.java'입니다.

import android.os.Bundle; // add
import com.facebook.react.ReactActivity;
import org.devio.rn.splashscreen.SplashScreen; // 추가해주세요.

public class MainActivity extends ReactActivity {

  // add onCreate with SplashScreen.show(this)
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    SplashScreen.show(this); // 추가해주세요.
    super.onCreate(savedInstanceState);
  }
  
  //...
}

 

4. 'launch_screen.xml' 파일을 'android/app/src/main/res/layout' 경로에 생성합니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="0dp"
        android:contentDescription="Splashscreen"
        android:scaleType="fitCenter"
        android:background="@color/splashprimary"
        android:src="@drawable/splashscreen"/>
</RelativeLayout>

 

5. Splash Screen에 보일 이미지 파일을 적용합니다.

 

(옵션) 해상도가 다른 여러 기기에 이미지 파일을 적용하기 원하신다면,

다양한 픽셀 밀도 지원 사이트를 참고하셔서 적용하세요.

 

다양한 픽셀 밀도 지원  |  Android 개발자  |  Android Developers

Android 기기는 다양한 화면 크기(핸드셋, 태블릿, TV 등)로 제공될 뿐만 아니라 화면의 픽셀 크기도 다양합니다. 즉, 한 기기에서는 제곱인치당 160픽셀을 사용하지만 다른 기기에서는 같은 공간에

developer.android.com

지금은 하나의 이미지를 기준으로 적용시켜 보겠습니다.

5-1. Splash Screen에 보여질 이미지 파일을 준비하세요.

5-2. 준비된 파일을 'android/app/src/main/res/drawable-XXX'로 시작하는 폴더에 복사 & 붙여 넣기 하세요.

저는 'splash_image.png'라는 파일을 만들고 아래 폴더들에 복사하였습니다.

splash_image.png 복사 & 붙여넣기

6. 4번에서 작성한 코드와 매핑되는 파일들을 생성합니다.

6-1. '@drawable/splashscreen'에 매핑되는 'splashscreen.xml' 파일을 'android/app/src/main/res/drawable' 경로에 생성합니다.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/splashprimary" />
    <item>
        <bitmap
                android:gravity="center"
                android:src="@drawable/splash_image" />
    </item>

</layer-list>

 

6-2. '@color/splashprimary'에 매핑되는 'colors-splash.xml' 파일을 'android/app/src/main/res/values' 경로에 생성합니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="splashprimary">#FFFFFF</color>
</resources>

colors-splash.xml

7. 이제 드디어 React Native 코드 부분의 App.js 파일을 수정합니다.

import SplashScreen from 'react-native-splash-screen';

class App extends Component {
    
    componentDidMount() { 
        setTimeout(() => {
            SplashScreen.hide();
        }, 500);
    }
    
    render() {
        return ()
    }
}

Splash Screen 라이브러리를 import 하고 componentDidMount 라이프 사이클 중에 timeout으로 Splash Screen을 얼마나 화면에 표시할지를 지정합니다.

500 -> 0.5 sec입니다.

 

이제 앱을 실행하여 Splash Screen을 확인해보세요.

 

궁금한 점이 있으시면 댓글 달아주세요~😀

반응형
반응형

ReactNative 개발 환경 설정을 진행할 때 사용하는 방법은 2가지가 있습니다.

  1. Expo CLI Quickstart
  2. React Native CLI Quickstart

Expo CLI Quickstart의 경우 쉽게 설정할 수 있지만, 몇 가지 제약 사항으로

React Native CLI 를 이용해서 개발환경을 설정해보겠습니다.

 

우선 필요한 프로그램들을 설치합니다. 공식 문서에서 설치하라고 하는 프로그램은 아래와 같습니다.

  • Node
  • Watchman
  • React Native command line interface
  • XCode

1. Node와 Watchman을 설치합니다.

Node와 Watchman의 경우 Homebrew를 이용해서 설치하면 됩니다.
Homebrew가 설치되어 있지 않으시면 https://brew.sh/ 에 방문하셔서 가이드에 따라 설치하시면 됩니다.

brew install 
brew install watchman

Node이 경우 10 버전 이상이 설치되어야 합니다.

 

2. Xcode 및 iOS시뮬레이터를 설치합니다.

 

2-1. Xcode의 경우 App Store에서 설치할 수 있습니다.

설치 링크 

 

‎Xcode

‎Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, Apple TV, and Apple Watch. Xcode provides developers a unified workflow for user interface design, coding, testing, and debugging. The Xcode IDE combined with

apps.apple.com

Xcode의 버전은 9.4 또는 그 이상이 설치되어야 합니다.

App Store Xcode 개발자 도구

Xcode를 설치하셨으면, 이제 Xcode Command Line Tools을 설정해야 합니다.

Xcode를 실행하시고, 'Preferences' 메뉴를 선택합니다.

Xcode 실행 후 Preferences 메뉴 선택

'Preferences' 메뉴 - Locations 메뉴를 선택합니다.

그리고 'Command Line Tools'에서 Xcode {최신 버전}를 선택합니다.

2-2. iOS 시뮬레이터를 설치합니다.

Xcode > Preferences 메뉴 중 Components 탭을 선택합니다.

사용하고자 하는 iOS 버전의 시뮬레이터를 설치합니다.

시뮬레이터 왼쪽에 버튼을 클릭하면 다운로드가 시작됩니다.

시뮬레이터 목록

2-3. CocoaPods을 설치합니다.

CocoaPods란 라이브러리 의존성 관리 매니저입니다.

터미널에서 아래 명령어를 실행하여 설치해 주세요.

sudo gem install cocoapods

CocoaPods 설치 화면

이제 필요한 프로그램들 설치와 설정이 완료되었습니다.

 

 

반응형
반응형

이전 글에서 환경 설정을 모두 마쳤다면, 이제 React Native App을 생성 후 실행해보겠습니다.

 

환경 설정을 하지 않으신 분이라면 이전 글을 보고 환경 설정을 진행해주세요.

frontmulti.tistory.com/61

 

React Native 개발 환경 설정 for Mac

ReactNative 개발 환경 설정 for Mac ReactNative 개발 환경 설정을 진행할 때 사용하는 방법은 2가지가 있습니다. Expo CLI Quickstart React Native CLI Quickstart Expo CLI Quickstart의 경우 쉽게 설정할 수..

frontmulti.tistory.com

 

1. React Native App을 아래 명령어를 실행하여 생성합니다.

npx react-native init [Project Name]

npx react-native init 명령어 실행
React Native App 생성 성공

 

2. React Native App 실행하기.

아래 명령어는 React Native의 서버를 실행하는 명령어입니다.

React Native의 서버만 실행헀을 경우는 디바이스에서 앱 화면을 볼 수 없기 때문에, 아래 3번 항목과 같이 Android 또는 iOS에서 앱을 실행시킵니다.

그 후에 해당 창을 통해 React Native App의 상태 및 Console로그 등을 확인할 수 있습니다.

npx react-native start

 

3. Android 또는 iOS에서 React Native App 실행하기.

아래 명령어를 실행하면 AVD(Android Virtual Device) 또는 실제 디바이스에서 해당 앱이 실행되게 됩니다.

AVD의 경우 안드로이드 에뮬레이터로 컴퓨터에서 안드로이드 OS를 실행하여 앱을 테스트할 수 있습니다.

npx react-native run-android

위 명령어를 실행하면, React Native 서버가 실행되고 AVD가 실행되어 React Native App이 실행되게 됩니다.

React Native 서버 실행
AVD(Android Virtual Device) 실행 화면
React Native App 실행 화면

 

React Native App 생성해보았습니다.

iOS에서 실행하는 법은 다음 글에서 다뤄보겠습니다.

 

반응형

+ Recent posts