├── 01-01-02 ├── index.html ├── package.json ├── src │ ├── bundle.js │ └── js │ │ ├── components │ │ └── bodyindex.js │ │ └── index.js └── webpack.config.js ├── 02-02-02 └── HelloReact │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── helloreact │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── HelloReact-tvOS │ │ └── Info.plist │ ├── HelloReact-tvOSTests │ │ └── Info.plist │ ├── HelloReact.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── HelloReact-tvOS.xcscheme │ │ │ └── HelloReact.xcscheme │ ├── HelloReact │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── HelloReactTests │ │ ├── HelloReactTests.m │ │ └── Info.plist │ ├── package.json │ └── yarn.lock ├── 03-04 ├── child-2-parent.js └── parent-2-child.js ├── 03-06 └── lifecycle.js ├── 04-03 ├── align-content.html ├── align-items.html ├── align-self.html ├── flex-basis.html ├── flex-direction.html ├── flex-grow.html ├── flex-shrink.html ├── flex-wrap.html ├── justify-content.html ├── order.html └── website.css ├── 06-02 └── ViewComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── viewcomponent │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app-2.js │ ├── app-3.js │ ├── app.json │ ├── index.js │ ├── ios │ ├── ViewComponent-tvOS │ │ └── Info.plist │ ├── ViewComponent-tvOSTests │ │ └── Info.plist │ ├── ViewComponent.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── ViewComponent-tvOS.xcscheme │ │ │ └── ViewComponent.xcscheme │ ├── ViewComponent │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── ViewComponentTests │ │ ├── Info.plist │ │ └── ViewComponentTests.m │ ├── package.json │ └── yarn.lock ├── 06-03 ├── TabBarComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ │ ├── app │ │ │ ├── BUCK │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tabbarcomponent │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── MainApplication.java │ │ │ │ └── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── keystores │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ │ ├── TabBarComponent-tvOS │ │ │ └── Info.plist │ │ ├── TabBarComponent-tvOSTests │ │ │ └── Info.plist │ │ ├── TabBarComponent.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ ├── TabBarComponent-tvOS.xcscheme │ │ │ │ └── TabBarComponent.xcscheme │ │ ├── TabBarComponent │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ └── TabBarComponentTests │ │ │ ├── Info.plist │ │ │ └── TabBarComponentTests.m │ ├── package.json │ └── yarn.lock └── TabBarComponentAndroid │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── tabbarcomponentandroid │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── flux.png │ ├── index.js │ ├── ios │ ├── TabBarComponentAndroid-tvOS │ │ └── Info.plist │ ├── TabBarComponentAndroid-tvOSTests │ │ └── Info.plist │ ├── TabBarComponentAndroid.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── TabBarComponentAndroid-tvOS.xcscheme │ │ │ └── TabBarComponentAndroid.xcscheme │ ├── TabBarComponentAndroid │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── TabBarComponentAndroidTests │ │ ├── Info.plist │ │ └── TabBarComponentAndroidTests.m │ ├── package.json │ ├── relay.png │ └── yarn.lock ├── 06-04 ├── NavigatorIOSComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ │ ├── app │ │ │ ├── BUCK │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── navigatorioscomponent │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── MainApplication.java │ │ │ │ └── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── keystores │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ └── settings.gradle │ ├── app.json │ ├── details.js │ ├── index.js │ ├── ios │ │ ├── NavigatorIOSComponent-tvOS │ │ │ └── Info.plist │ │ ├── NavigatorIOSComponent-tvOSTests │ │ │ └── Info.plist │ │ ├── NavigatorIOSComponent.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ ├── NavigatorIOSComponent-tvOS.xcscheme │ │ │ │ └── NavigatorIOSComponent.xcscheme │ │ ├── NavigatorIOSComponent │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ └── NavigatorIOSComponentTests │ │ │ ├── Info.plist │ │ │ └── NavigatorIOSComponentTests.m │ ├── main.js │ ├── package.json │ ├── props.json │ └── yarn.lock └── ReactNativeNavigationAndroid │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── README.md │ ├── android │ ├── app │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── ic_launcher-web.png │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ └── strings.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle │ ├── img │ ├── beach.jpg │ ├── colors.png │ ├── delete@1x.png │ ├── delete@2x.png │ ├── edit@1x.png │ ├── edit@2x.png │ ├── gyro_header.jpg │ ├── heroes │ │ ├── bouny_hunter.png │ │ ├── earthspirit.png │ │ ├── oracle.png │ │ ├── skywrath_mage.png │ │ └── templar_assasin.png │ ├── list@1.5x.android.png │ ├── list@1x.png │ ├── list@2x.android.png │ ├── list@3x.android.png │ ├── list@4x.android.png │ ├── masonry │ │ ├── 158xD4xbeh.jpeg │ │ ├── 37r6Cqp1B8.jpeg │ │ ├── 5Gi8kova3k.jpeg │ │ ├── 61mpAVRV73.jpeg │ │ ├── A4g0lZ33Z8.jpeg │ │ ├── AdGXmD1CH6.jpeg │ │ ├── Cfw87359UT.jpeg │ │ ├── N30E32431C.jpeg │ │ ├── a848dHxA4e.jpeg │ │ ├── j51Pva1P8L.jpeg │ │ ├── kVN0FryOZk.jpeg │ │ ├── pqgylg80SD.jpeg │ │ ├── rVOcz7rd0z.jpeg │ │ ├── ri90ueind7.jpeg │ │ ├── v8KLi2f0Tr.jpeg │ │ └── xU42hx19BB.jpeg │ ├── navicon_add@2x.android.png │ ├── navicon_add@2x.ios.png │ ├── navicon_add@3x.android.png │ ├── navicon_edit@2x.png │ ├── navicon_menu@2x.png │ ├── one@1.5x.android.png │ ├── one@1x.android.png │ ├── one@2x.ios.png │ ├── one@3x.android.png │ ├── one@4x.android.png │ ├── one_selected@2x.png │ ├── swap@1x.png │ ├── swap@2x.png │ ├── three@2x.png │ ├── three_selected@2x.png │ ├── transform@1x.png │ ├── transform@2x.png │ ├── two@2x.png │ └── two_selected@2x.png │ ├── index.js │ ├── ios │ ├── example.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── example.xcscheme │ │ │ └── example_release.xcscheme │ ├── example │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── exampleTests │ │ ├── Info.plist │ │ └── exampleTests.m │ ├── package.json │ ├── scripts │ └── postinstall.js │ ├── src │ ├── app.js │ ├── components │ │ └── Row.js │ └── screens │ │ ├── Actions.js │ │ ├── NavigationTypes.js │ │ ├── Transitions.js │ │ ├── index.js │ │ ├── transitions │ │ ├── CollapsingHeader.js │ │ ├── SharedElementTransitions.js │ │ └── sharedElementTransitions │ │ │ ├── Cards │ │ │ ├── Cards.js │ │ │ └── Info.js │ │ │ ├── Masonry │ │ │ ├── Item.js │ │ │ ├── Masonry.js │ │ │ └── images.js │ │ │ └── Profiles │ │ │ ├── Profiles.js │ │ │ └── data.js │ │ └── types │ │ ├── CustomButtonScreen.js │ │ ├── CustomTopBar.js │ │ ├── CustomTopBarScreen.js │ │ ├── Drawer.js │ │ ├── DummyScreen.js │ │ ├── LightBox.js │ │ ├── ListScreen.js │ │ ├── Modal.js │ │ ├── Notification.js │ │ ├── Push.js │ │ ├── TopTabs.js │ │ └── tabs │ │ ├── TabOne.js │ │ └── TabTwo.js │ └── test │ └── e2e │ ├── init.js │ ├── mocha.opts │ └── sanity.test.js ├── 06-05 └── ImageComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── imagecomponent │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── ImageComponent-tvOS │ │ └── Info.plist │ ├── ImageComponent-tvOSTests │ │ └── Info.plist │ ├── ImageComponent.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── ImageComponent-tvOS.xcscheme │ │ │ └── ImageComponent.xcscheme │ ├── ImageComponent │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── ImageComponentTests │ │ ├── ImageComponentTests.m │ │ └── Info.plist │ ├── package.json │ ├── react-native.png │ └── yarn.lock ├── 06-06 └── TextComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App-sample.js │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── textcomponent │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app-nested.js │ ├── app.json │ ├── index.js │ ├── ios │ ├── TextComponent-tvOS │ │ └── Info.plist │ ├── TextComponent-tvOSTests │ │ └── Info.plist │ ├── TextComponent.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── TextComponent-tvOS.xcscheme │ │ │ └── TextComponent.xcscheme │ ├── TextComponent │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── TextComponentTests │ │ ├── Info.plist │ │ └── TextComponentTests.m │ ├── package.json │ └── yarn.lock ├── 06-07 └── TextInputComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── README.md │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── screens │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── index.android.js │ ├── index.ios.js │ ├── ios │ ├── screens.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── screens.xcscheme │ ├── screens │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── screensTests │ │ ├── Info.plist │ │ └── screensTests.m │ ├── jsconfig.json │ ├── package.json │ ├── screens │ ├── login │ │ ├── index.js │ │ ├── login1_bg.png │ │ ├── login1_lock.png │ │ ├── login1_mark.png │ │ └── login1_person.png │ └── signup │ │ ├── back.png │ │ ├── index.js │ │ ├── signup_bg.png │ │ ├── signup_birthday.png │ │ ├── signup_email.png │ │ ├── signup_lock.png │ │ └── signup_person.png │ ├── signup_bg.png │ └── yarn.lock ├── 06-08 └── TouchComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── README.md │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── screens │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── index.android.js │ ├── index.ios.js │ ├── ios │ ├── screens.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── screens.xcscheme │ ├── screens │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── screensTests │ │ ├── Info.plist │ │ └── screensTests.m │ ├── jsconfig.json │ ├── package.json │ ├── screens │ ├── login │ │ ├── index.js │ │ ├── login1_bg.png │ │ ├── login1_lock.png │ │ ├── login1_mark.png │ │ └── login1_person.png │ └── signup │ │ ├── back.png │ │ ├── index.js │ │ ├── signup_bg.png │ │ ├── signup_birthday.png │ │ ├── signup_email.png │ │ ├── signup_lock.png │ │ └── signup_person.png │ ├── signup_bg.png │ └── yarn.lock ├── 06-09 └── WebViewComponent │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── webviewcomponent │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── WebViewComponent-tvOS │ │ └── Info.plist │ ├── WebViewComponent-tvOSTests │ │ └── Info.plist │ ├── WebViewComponent.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── WebViewComponent-tvOS.xcscheme │ │ │ └── WebViewComponent.xcscheme │ ├── WebViewComponent │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── WebViewComponentTests │ │ ├── Info.plist │ │ └── WebViewComponentTests.m │ ├── package.json │ └── yarn.lock ├── 06-10 └── ScrollViewDemo │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── ScrollViewComponent.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── scrollviewdemo │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── ScrollViewDemo-tvOS │ │ └── Info.plist │ ├── ScrollViewDemo-tvOSTests │ │ └── Info.plist │ ├── ScrollViewDemo.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── ScrollViewDemo-tvOS.xcscheme │ │ │ └── ScrollViewDemo.xcscheme │ ├── ScrollViewDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── ScrollViewDemoTests │ │ ├── Info.plist │ │ └── ScrollViewDemoTests.m │ ├── package.json │ └── yarn.lock ├── 07-02 └── Alert │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── README.md │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── textcomponent │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── index.android.js │ ├── index.ios.js │ ├── ios │ ├── screens.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── screens.xcscheme │ ├── screens │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── screensTests │ │ ├── Info.plist │ │ └── screensTests.m │ ├── jsconfig.json │ ├── other.js │ ├── package.json │ ├── screens │ ├── login │ │ ├── index.js │ │ ├── login1_bg.png │ │ ├── login1_lock.png │ │ ├── login1_mark.png │ │ └── login1_person.png │ └── signup │ │ ├── back.png │ │ ├── index.js │ │ ├── signup_bg.png │ │ ├── signup_birthday.png │ │ ├── signup_email.png │ │ ├── signup_lock.png │ │ └── signup_person.png │ ├── signup_bg.png │ └── yarn.lock ├── 07-03 └── AppStateDemo │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── appstatedemo │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── AppStateDemo-tvOS │ │ └── Info.plist │ ├── AppStateDemo-tvOSTests │ │ └── Info.plist │ ├── AppStateDemo.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── AppStateDemo-tvOS.xcscheme │ │ │ └── AppStateDemo.xcscheme │ ├── AppStateDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── AppStateDemoTests │ │ ├── AppStateDemoTests.m │ │ └── Info.plist │ ├── package.json │ └── yarn.lock ├── 07-04 └── AsyncStorageDemo │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── README.md │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── textcomponent │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── index.android.js │ ├── index.ios.js │ ├── ios │ ├── screens.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── screens.xcscheme │ ├── screens │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── screensTests │ │ ├── Info.plist │ │ └── screensTests.m │ ├── jsconfig.json │ ├── other.js │ ├── package.json │ ├── screens │ ├── login │ │ ├── index.js │ │ ├── login1_bg.png │ │ ├── login1_lock.png │ │ ├── login1_mark.png │ │ └── login1_person.png │ └── signup │ │ ├── back.png │ │ ├── index.js │ │ ├── signup_bg.png │ │ ├── signup_birthday.png │ │ ├── signup_email.png │ │ ├── signup_lock.png │ │ └── signup_person.png │ ├── signup_bg.png │ └── yarn.lock ├── 07-05 └── CameraDemo │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── camerademo │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── CameraDemo-tvOS │ │ └── Info.plist │ ├── CameraDemo-tvOSTests │ │ └── Info.plist │ ├── CameraDemo.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── CameraDemo-tvOS.xcscheme │ │ │ └── CameraDemo.xcscheme │ ├── CameraDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── CameraDemoTests │ │ ├── CameraDemoTests.m │ │ └── Info.plist │ ├── package.json │ └── yarn.lock ├── 07-06 └── GeolocationDemo │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── geolocationdemo │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── getCurrentPosition.js │ ├── index.js │ ├── ios │ ├── GeolocationDemo-tvOS │ │ └── Info.plist │ ├── GeolocationDemo-tvOSTests │ │ └── Info.plist │ ├── GeolocationDemo.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── GeolocationDemo-tvOS.xcscheme │ │ │ └── GeolocationDemo.xcscheme │ ├── GeolocationDemo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── GeolocationDemoTests │ │ ├── GeolocationDemoTests.m │ │ └── Info.plist │ ├── package.json │ ├── watchPosition.js │ └── yarn.lock ├── 07-07 └── ConnectionInfoCurrent.js ├── 08-03 └── ListDemo │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ ├── index.android.bundle │ │ │ └── index.android.bundle.meta │ │ │ ├── java │ │ │ └── com │ │ │ │ └── tabbarcomponentandroid │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── drawable-mdpi │ │ │ ├── flux.png │ │ │ └── relay.png │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── flux.png │ ├── home.js │ ├── index.js │ ├── ios │ ├── TabBarComponentAndroid-tvOS │ │ └── Info.plist │ ├── TabBarComponentAndroid-tvOSTests │ │ └── Info.plist │ ├── TabBarComponentAndroid.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── TabBarComponentAndroid-tvOS.xcscheme │ │ │ └── TabBarComponentAndroid.xcscheme │ ├── TabBarComponentAndroid │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── TabBarComponentAndroidTests │ │ ├── Info.plist │ │ └── TabBarComponentAndroidTests.m │ ├── package.json │ ├── relay.png │ └── yarn.lock ├── 09-05 └── PieChart.js ├── 11-02 └── NativeiOSModule │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── nativeiosmodule │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── MyModule.h │ ├── MyModule.m │ ├── NativeiOSModule-tvOS │ │ └── Info.plist │ ├── NativeiOSModule-tvOSTests │ │ └── Info.plist │ ├── NativeiOSModule.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── NativeiOSModule-tvOS.xcscheme │ │ │ └── NativeiOSModule.xcscheme │ ├── NativeiOSModule │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── NativeiOSModuleTests │ │ ├── Info.plist │ │ └── NativeiOSModuleTests.m │ ├── package.json │ └── yarn.lock ├── 11-03 └── GetSystemVolume │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── getsystemvolume │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── GetSystemVolume-tvOS │ │ └── Info.plist │ ├── GetSystemVolume-tvOSTests │ │ └── Info.plist │ ├── GetSystemVolume.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── GetSystemVolume-tvOS.xcscheme │ │ │ └── GetSystemVolume.xcscheme │ ├── GetSystemVolume │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ ├── GetSystemVolumeTests │ │ ├── GetSystemVolumeTests.m │ │ └── Info.plist │ ├── OutputVolume.h │ └── OutputVolume.m │ ├── package.json │ └── yarn.lock ├── 12-02 └── NativeAndroidModule │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── MyAndroidModule.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── nativeandroidmodule │ │ │ │ ├── MainActivity.java │ │ │ │ ├── MainApplication.java │ │ │ │ ├── MyModule.java │ │ │ │ └── MyModulePackage.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── NativeAndroidModule-tvOS │ │ └── Info.plist │ ├── NativeAndroidModule-tvOSTests │ │ └── Info.plist │ ├── NativeAndroidModule.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── NativeAndroidModule-tvOS.xcscheme │ │ │ └── NativeAndroidModule.xcscheme │ ├── NativeAndroidModule │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── NativeAndroidModuleTests │ │ ├── Info.plist │ │ └── NativeAndroidModuleTests.m │ ├── package.json │ └── yarn.lock ├── 12-03 └── GetSystemVolumeAndroid │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── getsystemvolumeandroid │ │ │ │ ├── MainActivity.java │ │ │ │ ├── MainApplication.java │ │ │ │ ├── VolumeModule.java │ │ │ │ └── VolumePackage.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ ├── GetSystemVolumeAndroid-tvOS │ │ └── Info.plist │ ├── GetSystemVolumeAndroid-tvOSTests │ │ └── Info.plist │ ├── GetSystemVolumeAndroid.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── GetSystemVolumeAndroid-tvOS.xcscheme │ │ │ └── GetSystemVolumeAndroid.xcscheme │ ├── GetSystemVolumeAndroid │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── GetSystemVolumeAndroidTests │ │ ├── GetSystemVolumeAndroidTests.m │ │ └── Info.plist │ ├── package.json │ ├── volume.js │ └── yarn.lock ├── 13-03 ├── JPushDemo │ ├── .babelrc │ ├── .buckconfig │ ├── .flowconfig │ ├── .gitattributes │ ├── .watchmanconfig │ ├── App.js │ ├── android │ │ ├── app │ │ │ ├── BUCK │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── jpushdemo │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── MainApplication.java │ │ │ │ └── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── keystores │ │ │ ├── BUCK │ │ │ └── debug.keystore.properties │ │ └── settings.gradle │ ├── app.json │ ├── index.js │ ├── ios │ │ ├── JPushDemo-tvOS │ │ │ └── Info.plist │ │ ├── JPushDemo-tvOSTests │ │ │ └── Info.plist │ │ ├── JPushDemo.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ ├── JPushDemo-tvOS.xcscheme │ │ │ │ └── JPushDemo.xcscheme │ │ ├── JPushDemo │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Base.lproj │ │ │ │ └── LaunchScreen.xib │ │ │ ├── Images.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Info.plist │ │ │ └── main.m │ │ └── JPushDemoTests │ │ │ ├── Info.plist │ │ │ └── JPushDemoTests.m │ ├── package.json │ └── yarn.lock └── api.cs ├── README.md ├── picker_demo ├── .babelrc ├── .buckconfig ├── .flowconfig ├── .gitattributes ├── .watchmanconfig ├── App.js ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── picker_demo │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle ├── app.json ├── index.js ├── ios │ ├── picker_demo-tvOS │ │ └── Info.plist │ ├── picker_demo-tvOSTests │ │ └── Info.plist │ ├── picker_demo.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── picker_demo-tvOS.xcscheme │ │ │ └── picker_demo.xcscheme │ ├── picker_demo │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── picker_demoTests │ │ ├── Info.plist │ │ └── picker_demoTests.m ├── package.json └── yarn.lock └── 《React Native精解与实战》试读(第一章至第三章).pdf /01-01-02/index.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | -------------------------------------------------------------------------------- /01-01-02/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "01-01-02", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "babel-preset-es2015": "^6.14.0", 13 | "babel-preset-react": "^6.11.1", 14 | "babelify": "^7.3.0", 15 | "react": "^15.3.2", 16 | "react-dom": "^15.3.2", 17 | "webpack": "^1.13.2", 18 | "webpack-dev-server": "^1.16.1" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/app/src/main/java/com/helloreact/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.helloreact; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "HelloReact"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/02-02-02/HelloReact/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/02-02-02/HelloReact/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/02-02-02/HelloReact/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/02-02-02/HelloReact/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | HelloReact 3 | 4 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/02-02-02/HelloReact/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jan 13 22:30:54 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'HelloReact' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HelloReact", 3 | "displayName": "HelloReact" 4 | } -------------------------------------------------------------------------------- /02-02-02/HelloReact/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('HelloReact', () => App); 5 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/ios/HelloReact/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/ios/HelloReact/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /02-02-02/HelloReact/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HelloReact", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.52.0" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.0.6", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.0.6", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /03-04/parent-2-child.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 章节: 03-04 3 | * 父子组件通信,在父组件中调用子组件 4 | * FilePath: /03-04/parent-2-child.js 5 | * @Parry 6 | */ 7 | 8 | 9 | 10 | /** 11 | * 章节: 03-04 12 | * 子组件实现,通过 props 获取父页面传递的值 13 | * FilePath: /03-04/parent-2-child.js 14 | * @Parry 15 | */ 16 | 17 | class ChildComponent extends Component { 18 | render() { 19 | return ( 20 | Hello {this.props.name}! 21 | ); 22 | } 23 | } -------------------------------------------------------------------------------- /04-03/align-items.html: -------------------------------------------------------------------------------- 1 | 7 | 15 |
16 |

1

17 |

2

18 |

3

19 |

4

20 |

5

21 |
22 |
-------------------------------------------------------------------------------- /04-03/flex-basis.html: -------------------------------------------------------------------------------- 1 | 7 | 14 |
15 |

Flexbox item

16 |
-------------------------------------------------------------------------------- /06-02/ViewComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-02/ViewComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-02/ViewComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-02/ViewComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-02/ViewComponent/android/app/src/main/java/com/viewcomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.viewcomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "ViewComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-02/ViewComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-02/ViewComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-02/ViewComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-02/ViewComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-02/ViewComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-02/ViewComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-02/ViewComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-02/ViewComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-02/ViewComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ViewComponent 3 | 4 | -------------------------------------------------------------------------------- /06-02/ViewComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-02/ViewComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-02/ViewComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-02/ViewComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /06-02/ViewComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-02/ViewComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-02/ViewComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'ViewComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-02/ViewComponent/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ViewComponent", 3 | "displayName": "ViewComponent" 4 | } -------------------------------------------------------------------------------- /06-02/ViewComponent/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('ViewComponent', () => App); 5 | -------------------------------------------------------------------------------- /06-02/ViewComponent/ios/ViewComponent/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-02/ViewComponent/ios/ViewComponent/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06-02/ViewComponent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ViewComponent", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.52.1" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.1.0", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.1.4", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /06-03/TabBarComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/app/src/main/java/com/tabbarcomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.tabbarcomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "TabBarComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TabBarComponent 3 | 4 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jan 27 16:03:44 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TabBarComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TabBarComponent", 3 | "displayName": "TabBarComponent" 4 | } -------------------------------------------------------------------------------- /06-03/TabBarComponent/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('TabBarComponent', () => App); 5 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/ios/TabBarComponent/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/ios/TabBarComponent/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06-03/TabBarComponent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TabBarComponent", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.52.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.1.0", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.1.4", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/app/src/main/java/com/tabbarcomponentandroid/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.tabbarcomponentandroid; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "TabBarComponentAndroid"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponentAndroid/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TabBarComponentAndroid 3 | 4 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponentAndroid/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jan 27 22:22:12 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TabBarComponentAndroid' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TabBarComponentAndroid", 3 | "displayName": "TabBarComponentAndroid" 4 | } -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/flux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponentAndroid/flux.png -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('TabBarComponentAndroid', () => App); 5 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/ios/TabBarComponentAndroid/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/ios/TabBarComponentAndroid/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06-03/TabBarComponentAndroid/relay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-03/TabBarComponentAndroid/relay.png -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/app/src/main/java/com/navigatorioscomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.navigatorioscomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "NavigatorIOSComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/NavigatorIOSComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NavigatorIOSComponent 3 | 4 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/NavigatorIOSComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'NavigatorIOSComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NavigatorIOSComponent", 3 | "displayName": "NavigatorIOSComponent" 4 | } -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('NavigatorIOSComponent', () => App); 5 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/ios/NavigatorIOSComponent/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-04/NavigatorIOSComponent/ios/NavigatorIOSComponent/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/android/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/java/com/example/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import com.reactnativenavigation.controllers.SplashActivity; 4 | 5 | public class MainActivity extends SplashActivity { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | React Native Navigation 3 | 4 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Jan 28 19:31:28 IST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'example' 2 | 3 | include ':app' 4 | include ':react-native-navigation' 5 | project(':react-native-navigation').projectDir = new File( 6 | rootProject.projectDir, '../node_modules/react-native-navigation/android/app/') -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/beach.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/beach.jpg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/colors.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/delete@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/delete@1x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/delete@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/delete@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/edit@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/edit@1x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/edit@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/edit@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/gyro_header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/gyro_header.jpg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/heroes/bouny_hunter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/heroes/bouny_hunter.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/heroes/earthspirit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/heroes/earthspirit.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/heroes/oracle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/heroes/oracle.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/heroes/skywrath_mage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/heroes/skywrath_mage.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/heroes/templar_assasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/heroes/templar_assasin.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/list@1.5x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/list@1.5x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/list@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/list@1x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/list@2x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/list@2x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/list@3x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/list@3x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/list@4x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/list@4x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/158xD4xbeh.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/158xD4xbeh.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/37r6Cqp1B8.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/37r6Cqp1B8.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/5Gi8kova3k.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/5Gi8kova3k.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/61mpAVRV73.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/61mpAVRV73.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/A4g0lZ33Z8.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/A4g0lZ33Z8.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/AdGXmD1CH6.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/AdGXmD1CH6.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/Cfw87359UT.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/Cfw87359UT.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/N30E32431C.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/N30E32431C.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/a848dHxA4e.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/a848dHxA4e.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/j51Pva1P8L.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/j51Pva1P8L.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/kVN0FryOZk.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/kVN0FryOZk.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/pqgylg80SD.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/pqgylg80SD.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/rVOcz7rd0z.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/rVOcz7rd0z.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/ri90ueind7.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/ri90ueind7.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/v8KLi2f0Tr.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/v8KLi2f0Tr.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/masonry/xU42hx19BB.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/masonry/xU42hx19BB.jpeg -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/navicon_add@2x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/navicon_add@2x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/navicon_add@2x.ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/navicon_add@2x.ios.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/navicon_add@3x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/navicon_add@3x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/navicon_edit@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/navicon_edit@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/navicon_menu@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/navicon_menu@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/one@1.5x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/one@1.5x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/one@1x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/one@1x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/one@2x.ios.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/one@2x.ios.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/one@3x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/one@3x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/one@4x.android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/one@4x.android.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/one_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/one_selected@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/swap@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/swap@1x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/swap@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/swap@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/three@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/three@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/three_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/three_selected@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/transform@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/transform@1x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/transform@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/transform@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/two@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/two@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/img/two_selected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-04/ReactNativeNavigationAndroid/img/two_selected@2x.png -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/index.js: -------------------------------------------------------------------------------- 1 | __STRESS_TEST__ = false; 2 | import App from './src/app'; 3 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/ios/example/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/scripts/postinstall.js: -------------------------------------------------------------------------------- 1 | const cp = require('child_process'); 2 | cp.execSync(`rm -rf node_modules/react-native-navigation/node_modules`); 3 | cp.execSync(`rm -rf node_modules/react-native-navigation/example `); 4 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/src/screens/types/tabs/TabOne.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {View, Text} from 'react-native'; 3 | 4 | class TabOne extends React.Component { 5 | 6 | render() { 7 | return ( 8 | 9 | Tab One 10 | 11 | ); 12 | } 13 | } 14 | 15 | export default TabOne; 16 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/src/screens/types/tabs/TabTwo.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {View, Text} from 'react-native'; 3 | 4 | class TabOne extends React.Component { 5 | 6 | render() { 7 | return ( 8 | 9 | Tab Two 10 | 11 | ); 12 | } 13 | } 14 | 15 | export default TabOne; 16 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/test/e2e/init.js: -------------------------------------------------------------------------------- 1 | /*eslint-disable*/ 2 | const detox = require('detox'); 3 | const config = require('../../package.json').detox; 4 | 5 | before(async () => { 6 | await detox.init(config); 7 | }); 8 | 9 | after(async () => { 10 | await detox.cleanup(); 11 | }); 12 | 13 | 14 | -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/test/e2e/mocha.opts: -------------------------------------------------------------------------------- 1 | --recursive 2 | --timeout 60000 3 | --require babel-polyfill 4 | --compilers js:babel-core/register -------------------------------------------------------------------------------- /06-04/ReactNativeNavigationAndroid/test/e2e/sanity.test.js: -------------------------------------------------------------------------------- 1 | describe('sanity', () => { 2 | 3 | beforeEach(async () => await global.device.reloadReactNative()); 4 | 5 | it('should push a screen', async () => { 6 | await element(by.id('pushScreen')).tap(); 7 | 8 | await expect(element(by.label('Pushed Screen'))).toBeVisible(); 9 | }); 10 | 11 | }); 12 | -------------------------------------------------------------------------------- /06-05/ImageComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-05/ImageComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-05/ImageComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-05/ImageComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-05/ImageComponent/android/app/src/main/java/com/imagecomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.imagecomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "ImageComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-05/ImageComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-05/ImageComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-05/ImageComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-05/ImageComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-05/ImageComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-05/ImageComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-05/ImageComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-05/ImageComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-05/ImageComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ImageComponent 3 | 4 | -------------------------------------------------------------------------------- /06-05/ImageComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-05/ImageComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-05/ImageComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-05/ImageComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Jan 30 22:44:21 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /06-05/ImageComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-05/ImageComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-05/ImageComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'ImageComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-05/ImageComponent/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ImageComponent", 3 | "displayName": "ImageComponent" 4 | } -------------------------------------------------------------------------------- /06-05/ImageComponent/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('ImageComponent', () => App); 5 | -------------------------------------------------------------------------------- /06-05/ImageComponent/ios/ImageComponent/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-05/ImageComponent/ios/ImageComponent/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06-05/ImageComponent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ImageComponent", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.52.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.1.0", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.1.4", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /06-05/ImageComponent/react-native.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-05/ImageComponent/react-native.png -------------------------------------------------------------------------------- /06-06/TextComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-06/TextComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-06/TextComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-06/TextComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-06/TextComponent/android/app/src/main/java/com/textcomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.textcomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "TextComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-06/TextComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-06/TextComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-06/TextComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-06/TextComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-06/TextComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-06/TextComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-06/TextComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-06/TextComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-06/TextComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TextComponent 3 | 4 | -------------------------------------------------------------------------------- /06-06/TextComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-06/TextComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-06/TextComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-06/TextComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jan 31 14:48:33 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /06-06/TextComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-06/TextComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-06/TextComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TextComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-06/TextComponent/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TextComponent", 3 | "displayName": "TextComponent" 4 | } -------------------------------------------------------------------------------- /06-06/TextComponent/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('TextComponent', () => App); 5 | -------------------------------------------------------------------------------- /06-06/TextComponent/ios/TextComponent/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-06/TextComponent/ios/TextComponent/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06-06/TextComponent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TextComponent", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.52.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.1.0", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.1.4", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /06-07/TextInputComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-07/TextInputComponent/README.md: -------------------------------------------------------------------------------- 1 | ## React Native Screens 2 | 3 | Implementations of [http://www.invisionapp.com/do](http://www.invisionapp.com/do) in `react-native` 4 | 5 | 6 | Login1: ![](https://i.imgur.com/ceB0t2Z.png) -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/app/src/main/java/com/screens/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.screens; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "screens"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | screens 3 | 4 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip 6 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = 'debug', 3 | store = 'debug.keystore', 4 | properties = 'debug.keystore.properties', 5 | visibility = [ 6 | 'PUBLIC', 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'screens' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/ios/screens/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-07/TextInputComponent/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": true, 4 | "allowSyntheticDefaultImports": true 5 | }, 6 | "exclude": [ 7 | "node_modules" 8 | ] 9 | } -------------------------------------------------------------------------------- /06-07/TextInputComponent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "screens", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "15.4.1", 11 | "react-native": "0.39.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "17.0.2", 15 | "babel-preset-react-native": "1.9.0", 16 | "jest": "17.0.3", 17 | "react-test-renderer": "15.4.1" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/login/login1_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/login/login1_bg.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/login/login1_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/login/login1_lock.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/login/login1_mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/login/login1_mark.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/login/login1_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/login/login1_person.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/signup/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/signup/back.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/signup/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/signup/signup_bg.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/signup/signup_birthday.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/signup/signup_birthday.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/signup/signup_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/signup/signup_email.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/signup/signup_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/signup/signup_lock.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/screens/signup/signup_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/screens/signup/signup_person.png -------------------------------------------------------------------------------- /06-07/TextInputComponent/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-07/TextInputComponent/signup_bg.png -------------------------------------------------------------------------------- /06-08/TouchComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-08/TouchComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-08/TouchComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-08/TouchComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-08/TouchComponent/README.md: -------------------------------------------------------------------------------- 1 | ## React Native Screens 2 | 3 | Implementations of [http://www.invisionapp.com/do](http://www.invisionapp.com/do) in `react-native` 4 | 5 | 6 | Login1: ![](https://i.imgur.com/ceB0t2Z.png) -------------------------------------------------------------------------------- /06-08/TouchComponent/android/app/src/main/java/com/screens/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.screens; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "screens"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-08/TouchComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-08/TouchComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-08/TouchComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-08/TouchComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-08/TouchComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | screens 3 | 4 | -------------------------------------------------------------------------------- /06-08/TouchComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-08/TouchComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-08/TouchComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip 6 | -------------------------------------------------------------------------------- /06-08/TouchComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = 'debug', 3 | store = 'debug.keystore', 4 | properties = 'debug.keystore.properties', 5 | visibility = [ 6 | 'PUBLIC', 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-08/TouchComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-08/TouchComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'screens' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-08/TouchComponent/ios/screens/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-08/TouchComponent/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": true, 4 | "allowSyntheticDefaultImports": true 5 | }, 6 | "exclude": [ 7 | "node_modules" 8 | ] 9 | } -------------------------------------------------------------------------------- /06-08/TouchComponent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "screens", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "15.4.1", 11 | "react-native": "0.39.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "17.0.2", 15 | "babel-preset-react-native": "1.9.0", 16 | "jest": "17.0.3", 17 | "react-test-renderer": "15.4.1" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/login/login1_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/login/login1_bg.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/login/login1_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/login/login1_lock.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/login/login1_mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/login/login1_mark.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/login/login1_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/login/login1_person.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/signup/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/signup/back.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/signup/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/signup/signup_bg.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/signup/signup_birthday.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/signup/signup_birthday.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/signup/signup_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/signup/signup_email.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/signup/signup_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/signup/signup_lock.png -------------------------------------------------------------------------------- /06-08/TouchComponent/screens/signup/signup_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/screens/signup/signup_person.png -------------------------------------------------------------------------------- /06-08/TouchComponent/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-08/TouchComponent/signup_bg.png -------------------------------------------------------------------------------- /06-09/WebViewComponent/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/app/src/main/java/com/webviewcomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.webviewcomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "WebViewComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-09/WebViewComponent/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-09/WebViewComponent/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-09/WebViewComponent/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-09/WebViewComponent/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | WebViewComponent 3 | 4 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-09/WebViewComponent/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Feb 02 00:38:03 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'WebViewComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WebViewComponent", 3 | "displayName": "WebViewComponent" 4 | } -------------------------------------------------------------------------------- /06-09/WebViewComponent/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('WebViewComponent', () => App); 5 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/ios/WebViewComponent/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/ios/WebViewComponent/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /06-09/WebViewComponent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "WebViewComponent", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.52.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.1.0", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.1.4", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/App.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 章节: 06-10 3 | * App.js 定义,演示 ScrollView 组件的使用 4 | * FilePath: /06-10/ScrollViewDemo/App.js 5 | * @Parry 6 | */ 7 | 8 | import React, { Component } from 'react'; 9 | import { 10 | Platform, 11 | StyleSheet, 12 | Text, 13 | View 14 | } from 'react-native'; 15 | import ScrollViewComponent from './ScrollViewComponent.js' 16 | 17 | export default class App extends Component<{}> { 18 | render() { 19 | return ( 20 | 21 | ); 22 | } 23 | } -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/app/src/main/java/com/scrollviewdemo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.scrollviewdemo; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "ScrollViewDemo"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-10/ScrollViewDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-10/ScrollViewDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-10/ScrollViewDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-10/ScrollViewDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ScrollViewDemo 3 | 4 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/06-10/ScrollViewDemo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'ScrollViewDemo' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ScrollViewDemo", 3 | "displayName": "ScrollViewDemo" 4 | } -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('ScrollViewDemo', () => App); 5 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/ios/ScrollViewDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /06-10/ScrollViewDemo/ios/ScrollViewDemo/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /07-02/Alert/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /07-02/Alert/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /07-02/Alert/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /07-02/Alert/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /07-02/Alert/README.md: -------------------------------------------------------------------------------- 1 | ## React Native Screens 2 | 3 | Implementations of [http://www.invisionapp.com/do](http://www.invisionapp.com/do) in `react-native` 4 | 5 | 6 | Login1: ![](https://i.imgur.com/ceB0t2Z.png) -------------------------------------------------------------------------------- /07-02/Alert/android/app/src/main/java/com/textcomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.textcomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "TextComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /07-02/Alert/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-02/Alert/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-02/Alert/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-02/Alert/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-02/Alert/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TextComponent 3 | 4 | -------------------------------------------------------------------------------- /07-02/Alert/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /07-02/Alert/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /07-02/Alert/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jan 31 14:48:33 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /07-02/Alert/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /07-02/Alert/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /07-02/Alert/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TextComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /07-02/Alert/ios/screens/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /07-02/Alert/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": true, 4 | "allowSyntheticDefaultImports": true 5 | }, 6 | "exclude": [ 7 | "node_modules" 8 | ] 9 | } -------------------------------------------------------------------------------- /07-02/Alert/other.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 章节: 07-02 3 | * 演示 Alert 功能的其他使用方法 4 | * FilePath: /07-02/Alert/other.js 5 | * @Parry 6 | */ 7 | 8 | Alert.alert( 9 | '提醒的标题', 10 | '提醒的内容', 11 | [ 12 | {text: '第一个按钮', onPress: () => console.log('点击后的回调函数')}, 13 | {text: '取消', onPress: () => console.log('点击后的回调函数'), style: 'cancel'}, 14 | {text: '确定', onPress: () => console.log('点击后的回调函数')}, 15 | ], 16 | { cancelable: false } 17 | ) -------------------------------------------------------------------------------- /07-02/Alert/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "screens", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "15.4.1", 11 | "react-native": "0.39.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "17.0.2", 15 | "babel-preset-react-native": "1.9.0", 16 | "jest": "17.0.3", 17 | "react-test-renderer": "15.4.1" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /07-02/Alert/screens/login/login1_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/login/login1_bg.png -------------------------------------------------------------------------------- /07-02/Alert/screens/login/login1_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/login/login1_lock.png -------------------------------------------------------------------------------- /07-02/Alert/screens/login/login1_mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/login/login1_mark.png -------------------------------------------------------------------------------- /07-02/Alert/screens/login/login1_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/login/login1_person.png -------------------------------------------------------------------------------- /07-02/Alert/screens/signup/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/signup/back.png -------------------------------------------------------------------------------- /07-02/Alert/screens/signup/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/signup/signup_bg.png -------------------------------------------------------------------------------- /07-02/Alert/screens/signup/signup_birthday.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/signup/signup_birthday.png -------------------------------------------------------------------------------- /07-02/Alert/screens/signup/signup_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/signup/signup_email.png -------------------------------------------------------------------------------- /07-02/Alert/screens/signup/signup_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/signup/signup_lock.png -------------------------------------------------------------------------------- /07-02/Alert/screens/signup/signup_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/screens/signup/signup_person.png -------------------------------------------------------------------------------- /07-02/Alert/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-02/Alert/signup_bg.png -------------------------------------------------------------------------------- /07-03/AppStateDemo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/app/src/main/java/com/appstatedemo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.appstatedemo; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "AppStateDemo"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-03/AppStateDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-03/AppStateDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-03/AppStateDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-03/AppStateDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | AppStateDemo 3 | 4 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-03/AppStateDemo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Feb 04 23:21:45 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'AppStateDemo' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppStateDemo", 3 | "displayName": "AppStateDemo" 4 | } -------------------------------------------------------------------------------- /07-03/AppStateDemo/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('AppStateDemo', () => App); 5 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/ios/AppStateDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/ios/AppStateDemo/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /07-03/AppStateDemo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AppStateDemo", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.52.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.1.0", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.1.4", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/README.md: -------------------------------------------------------------------------------- 1 | ## React Native Screens 2 | 3 | Implementations of [http://www.invisionapp.com/do](http://www.invisionapp.com/do) in `react-native` 4 | 5 | 6 | Login1: ![](https://i.imgur.com/ceB0t2Z.png) -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/app/src/main/java/com/textcomponent/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.textcomponent; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "TextComponent"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TextComponent 3 | 4 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jan 31 14:48:33 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TextComponent' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/ios/screens/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": true, 4 | "allowSyntheticDefaultImports": true 5 | }, 6 | "exclude": [ 7 | "node_modules" 8 | ] 9 | } -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/other.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 章节: 07-02 3 | * 演示 Alert 功能的其他使用方法 4 | * FilePath: /07-02/Alert/other.js 5 | * @Parry 6 | */ 7 | 8 | Alert.alert( 9 | '提醒的标题', 10 | '提醒的内容', 11 | [ 12 | {text: '第一个按钮', onPress: () => console.log('点击后的回调函数')}, 13 | {text: '取消', onPress: () => console.log('点击后的回调函数'), style: 'cancel'}, 14 | {text: '确定', onPress: () => console.log('点击后的回调函数')}, 15 | ], 16 | { cancelable: false } 17 | ) -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "screens", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "15.4.1", 11 | "react-native": "0.39.2" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "17.0.2", 15 | "babel-preset-react-native": "1.9.0", 16 | "jest": "17.0.3", 17 | "react-test-renderer": "15.4.1" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/login/login1_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/login/login1_bg.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/login/login1_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/login/login1_lock.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/login/login1_mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/login/login1_mark.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/login/login1_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/login/login1_person.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/signup/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/signup/back.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/signup/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/signup/signup_bg.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/signup/signup_birthday.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/signup/signup_birthday.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/signup/signup_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/signup/signup_email.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/signup/signup_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/signup/signup_lock.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/screens/signup/signup_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/screens/signup/signup_person.png -------------------------------------------------------------------------------- /07-04/AsyncStorageDemo/signup_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-04/AsyncStorageDemo/signup_bg.png -------------------------------------------------------------------------------- /07-05/CameraDemo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /07-05/CameraDemo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /07-05/CameraDemo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /07-05/CameraDemo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /07-05/CameraDemo/android/app/src/main/java/com/camerademo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.camerademo; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "CameraDemo"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /07-05/CameraDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-05/CameraDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-05/CameraDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-05/CameraDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-05/CameraDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-05/CameraDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-05/CameraDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-05/CameraDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-05/CameraDemo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | CameraDemo 3 | 4 | -------------------------------------------------------------------------------- /07-05/CameraDemo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /07-05/CameraDemo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-05/CameraDemo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /07-05/CameraDemo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Feb 06 16:59:09 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /07-05/CameraDemo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /07-05/CameraDemo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /07-05/CameraDemo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'CameraDemo' 2 | include ':react-native-image-picker' 3 | project(':react-native-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-picker/android') 4 | 5 | include ':app' 6 | -------------------------------------------------------------------------------- /07-05/CameraDemo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CameraDemo", 3 | "displayName": "CameraDemo" 4 | } -------------------------------------------------------------------------------- /07-05/CameraDemo/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('CameraDemo', () => App); 5 | -------------------------------------------------------------------------------- /07-05/CameraDemo/ios/CameraDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /07-05/CameraDemo/ios/CameraDemo/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/app/src/main/java/com/geolocationdemo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.geolocationdemo; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "GeolocationDemo"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-06/GeolocationDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-06/GeolocationDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-06/GeolocationDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-06/GeolocationDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | GeolocationDemo 3 | 4 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/07-06/GeolocationDemo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Feb 07 10:55:06 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'GeolocationDemo' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GeolocationDemo", 3 | "displayName": "GeolocationDemo" 4 | } -------------------------------------------------------------------------------- /07-06/GeolocationDemo/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('GeolocationDemo', () => App); 5 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/ios/GeolocationDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/ios/GeolocationDemo/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /07-06/GeolocationDemo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GeolocationDemo", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "react": "16.2.0", 11 | "react-native": "0.53.0" 12 | }, 13 | "devDependencies": { 14 | "babel-jest": "22.1.0", 15 | "babel-preset-react-native": "4.0.0", 16 | "jest": "22.1.4", 17 | "react-test-renderer": "16.2.0" 18 | }, 19 | "jest": { 20 | "preset": "react-native" 21 | } 22 | } -------------------------------------------------------------------------------- /08-03/ListDemo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /08-03/ListDemo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /08-03/ListDemo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /08-03/ListDemo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/assets/index.android.bundle.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/app/src/main/assets/index.android.bundle.meta -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/java/com/tabbarcomponentandroid/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.tabbarcomponentandroid; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "TabBarComponentAndroid"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/drawable-mdpi/flux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/app/src/main/res/drawable-mdpi/flux.png -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/drawable-mdpi/relay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/app/src/main/res/drawable-mdpi/relay.png -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TabBarComponentAndroid 3 | 4 | -------------------------------------------------------------------------------- /08-03/ListDemo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /08-03/ListDemo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /08-03/ListDemo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jan 27 22:22:12 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 7 | -------------------------------------------------------------------------------- /08-03/ListDemo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /08-03/ListDemo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /08-03/ListDemo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'TabBarComponentAndroid' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /08-03/ListDemo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TabBarComponentAndroid", 3 | "displayName": "TabBarComponentAndroid" 4 | } -------------------------------------------------------------------------------- /08-03/ListDemo/flux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/flux.png -------------------------------------------------------------------------------- /08-03/ListDemo/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('TabBarComponentAndroid', () => App); 5 | -------------------------------------------------------------------------------- /08-03/ListDemo/ios/TabBarComponentAndroid/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /08-03/ListDemo/ios/TabBarComponentAndroid/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /08-03/ListDemo/relay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/08-03/ListDemo/relay.png -------------------------------------------------------------------------------- /11-02/NativeiOSModule/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/app/src/main/java/com/nativeiosmodule/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.nativeiosmodule; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "NativeiOSModule"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-02/NativeiOSModule/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-02/NativeiOSModule/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-02/NativeiOSModule/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-02/NativeiOSModule/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NativeiOSModule 3 | 4 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-02/NativeiOSModule/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'NativeiOSModule' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeiOSModule", 3 | "displayName": "NativeiOSModule" 4 | } -------------------------------------------------------------------------------- /11-02/NativeiOSModule/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('NativeiOSModule', () => App); 5 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/ios/MyModule.h: -------------------------------------------------------------------------------- 1 | #import "RCTBridgeModule.h" 2 | 3 | @interface MyModule : NSObject 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/ios/MyModule.m: -------------------------------------------------------------------------------- 1 | #import "MyModule.h" 2 | 3 | @implementation MyModule 4 | 5 | // 需要包含的宏定义 6 | RCT_EXPORT_MODULE() 7 | 8 | // 定义了一个返回的字符串 9 | - (NSDictionary *)constantsToExport { 10 | return @{@"hello": @"你好,这是我编写的第一个 iOS 原生模块!"}; 11 | } 12 | 13 | // 定义了一个可被调用的函数 14 | RCT_EXPORT_METHOD(squareMe:(NSString *)number:(RCTResponseSenderBlock)callback) { 15 | int num = [number intValue]; 16 | callback(@[[NSNull null], [NSNumber numberWithInt:(num*num)]]); 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/ios/NativeiOSModule/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /11-02/NativeiOSModule/ios/NativeiOSModule/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/app/src/main/java/com/getsystemvolume/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.getsystemvolume; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "GetSystemVolume"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-03/GetSystemVolume/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-03/GetSystemVolume/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-03/GetSystemVolume/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-03/GetSystemVolume/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | GetSystemVolume 3 | 4 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/11-03/GetSystemVolume/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'GetSystemVolume' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GetSystemVolume", 3 | "displayName": "GetSystemVolume" 4 | } -------------------------------------------------------------------------------- /11-03/GetSystemVolume/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('GetSystemVolume', () => App); 5 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/ios/GetSystemVolume/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/ios/GetSystemVolume/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /11-03/GetSystemVolume/ios/OutputVolume.h: -------------------------------------------------------------------------------- 1 | #import "React/RCTBridgeModule.h" 2 | 3 | @interface OutputVolume : NSObject 4 | @end 5 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/MyAndroidModule.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 章节: 12-02 3 | * 定义 Android 平台的原生组件进行导出使用 4 | * FilePath: /12-02/NativeAndroidModule/MyAndroidModule.js 5 | * @Parry 6 | */ 7 | 8 | import { NativeModules } from "react-native"; 9 | module.exports = NativeModules.MyModule; -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/app/src/main/java/com/nativeandroidmodule/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.nativeandroidmodule; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "NativeAndroidModule"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-02/NativeAndroidModule/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-02/NativeAndroidModule/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-02/NativeAndroidModule/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-02/NativeAndroidModule/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NativeAndroidModule 3 | 4 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-02/NativeAndroidModule/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'NativeAndroidModule' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NativeAndroidModule", 3 | "displayName": "NativeAndroidModule" 4 | } -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('NativeAndroidModule', () => App); 5 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/ios/NativeAndroidModule/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /12-02/NativeAndroidModule/ios/NativeAndroidModule/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/app/src/main/java/com/getsystemvolumeandroid/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.getsystemvolumeandroid; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "GetSystemVolumeAndroid"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-03/GetSystemVolumeAndroid/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | GetSystemVolumeAndroid 3 | 4 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/12-03/GetSystemVolumeAndroid/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'GetSystemVolumeAndroid' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GetSystemVolumeAndroid", 3 | "displayName": "GetSystemVolumeAndroid" 4 | } -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('GetSystemVolumeAndroid', () => App); 5 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/ios/GetSystemVolumeAndroid/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /12-03/GetSystemVolumeAndroid/volume.js: -------------------------------------------------------------------------------- 1 | import { NativeModules } from 'react-native' 2 | 3 | export const getSystemVolume = (callback) => { 4 | NativeModules.Volume.getSystemVolume(callback) 5 | } -------------------------------------------------------------------------------- /13-03/JPushDemo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /13-03/JPushDemo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /13-03/JPushDemo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /13-03/JPushDemo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /13-03/JPushDemo/android/app/src/main/java/com/jpushdemo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.jpushdemo; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "JPushDemo"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /13-03/JPushDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/13-03/JPushDemo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /13-03/JPushDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/13-03/JPushDemo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /13-03/JPushDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/13-03/JPushDemo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /13-03/JPushDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/13-03/JPushDemo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /13-03/JPushDemo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | JPushDemo 3 | 4 | -------------------------------------------------------------------------------- /13-03/JPushDemo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /13-03/JPushDemo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/13-03/JPushDemo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /13-03/JPushDemo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /13-03/JPushDemo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /13-03/JPushDemo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /13-03/JPushDemo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'JPushDemo' 2 | 3 | include ':app', ':jpush-react-native', ':jcore-react-native' 4 | project(':jpush-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jpush-react-native/android') 5 | project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/android') 6 | 7 | include ':app' 8 | -------------------------------------------------------------------------------- /13-03/JPushDemo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "JPushDemo", 3 | "displayName": "JPushDemo" 4 | } -------------------------------------------------------------------------------- /13-03/JPushDemo/index.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | 4 | AppRegistry.registerComponent('JPushDemo', () => App); 5 | -------------------------------------------------------------------------------- /13-03/JPushDemo/ios/JPushDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /13-03/JPushDemo/ios/JPushDemo/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /picker_demo/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["module:metro-react-native-babel-preset"] 3 | } 4 | -------------------------------------------------------------------------------- /picker_demo/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /picker_demo/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /picker_demo/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/java/com/picker_demo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.picker_demo; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "picker_demo"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | picker_demo 3 | 4 | -------------------------------------------------------------------------------- /picker_demo/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /picker_demo/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/picker_demo/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /picker_demo/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 6 | -------------------------------------------------------------------------------- /picker_demo/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /picker_demo/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /picker_demo/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'picker_demo' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /picker_demo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "picker_demo", 3 | "displayName": "picker_demo" 4 | } -------------------------------------------------------------------------------- /picker_demo/index.js: -------------------------------------------------------------------------------- 1 | /** @format */ 2 | 3 | import {AppRegistry} from 'react-native'; 4 | import App from './App'; 5 | import {name as appName} from './app.json'; 6 | 7 | AppRegistry.registerComponent(appName, () => App); 8 | -------------------------------------------------------------------------------- /picker_demo/ios/picker_demo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import 9 | 10 | @interface AppDelegate : UIResponder 11 | 12 | @property (nonatomic, strong) UIWindow *window; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /picker_demo/ios/picker_demo/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /picker_demo/ios/picker_demo/main.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import 9 | 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /《React Native精解与实战》试读(第一章至第三章).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ParryQiu/ReactNative-Book-Demo/77862984df847dda73706d0483992650570e8416/《React Native精解与实战》试读(第一章至第三章).pdf --------------------------------------------------------------------------------