4.4.9 • Published 9 years ago

react-native-hunterslog-media-picker v4.4.9

Weekly downloads
524
License
TMA-FALCO
Repository
github
Last release
9 years ago

react-native-hunterslog-media-picker

React Native Media Picker component, only used in Hunterslog Project. Do not copy or modify in any circumstances.

Table of contents

Install

npm install react-native-hunterslog-media-picker --save Also you need to install dependencies plugin if not installed yet: npm install react-native-video --save npm install react-native-asset-thumbnail --save

Use rnpm to automatically complete the installation:
rnpm link react-native-hunterslog-media-picker rnpm link react-native-video rnpm link react-native-asset-thumbnail

or link manually like so:

iOS

  • Libraries need to be added to XCode, follow direction at here:
    • RCTImageResizer in ./ios
    • RNCamera in ./ios
    • RTCCameraRoll in ./node_modules/react-native/Libraries
    • RNAssetThumbnail in node_modules/react-native-asset-thumbnail
  • Insert this to Info.plist
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) want to acccess your Camera Library</string>

Android

// file: android/settings.gradle
...

include ':react-native-hunterslog-media-picker'
project(':react-native-hunterslog-media-picker').projectDir = new File(settingsDir, '../node_modules/react-native-hunterslog-media-picker/android')
// file: android/app/build.gradle
...

dependencies {
    ...
    compile project(':react-native-hunterslog-media-picker')
}
<!-- file: android/app/src/main/AndroidManifest.xml -->
<manifest ...>

	...
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application...>
    	...
        <activity android:name="com.falco.mediapicker.MediaPickerActivity" android:screenOrientation="portrait"/>
        ...
        <activity android:name="com.falco.mediapicker.PhotoPreviewActivity" />
        <activity android:name="com.falco.mediapicker.VideoPreviewActivity" />

        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="[package name].fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"></meta-data>
        </provider>
        ...
    </application>
    ...
// file: android/app/src/main/java/com/<...>/MainApplication.java
...

import com.falco.mediapicker.MediaHunterslogPickerPackage; // <-- add this import

public class MainApplication extends Application implements ReactApplication {
    @Override
    protected List<ReactPackage> getPackages() {
        return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new MediaHunterslogPickerPackage() // <-- add this line
        );
    }
...
}

Create xml folder in ./res, and create a xml file named "file_paths.xml":

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <external-path name="hunterslog_img" path="Android/data/[package name]/files/Pictures/" />
</paths>

Usage

var Platform = require('react-native').Platform;
var MediaPicker = require('react-native-hunterslog-media-picker');

/**
 * The method will launch native module
 * @params {Int} max_photo Max number of photo can be uploaded
 * @params {Int} max_video Max number of video can be uploaded
 * @params {Int} max_video_duration Maximun seconds a video can be captured
 * @params {Object} selectedMedia List of selected media, used in case Edit or go back from Create post after
 * selected some photos, videos
 */
MediaPicker.showMediaPicker(max_photo, max_video, max_video_duration, selectedMedia, (response) => {
// Data is an Array of selected media
  console.log('Response = ', response);

  ...

});
[{'Location':{'Lat':10.254,'Lng':101.5458},'Url':'file:///storage/...','ThumbUrl':'base64String'},{'Location':{'Lat':10.254,'Lng':101.5458},'Url':'file:///storage/...','ThumbUrl':'base64String'},...]

The format of media file will be 'file:///storage...' for Android, put it in Image tag:

<Image source={this.state.avatarSource} style={styles.uploadAvatar} />
4.4.9

9 years ago

4.4.8

9 years ago

4.4.7

9 years ago

4.4.6

9 years ago

4.4.5

9 years ago

4.4.4

9 years ago

4.4.3

9 years ago

4.4.2

9 years ago

4.4.1

9 years ago

4.4.0

9 years ago

4.3.9

9 years ago

4.3.8

9 years ago

4.3.7

9 years ago

4.3.6

9 years ago

4.3.5

9 years ago

4.3.4

9 years ago

4.3.3

9 years ago

4.3.2

9 years ago

4.3.1

9 years ago

4.3.0

9 years ago

4.2.6

9 years ago

4.2.5

9 years ago

4.2.4

9 years ago

4.2.3

9 years ago

4.2.2

9 years ago

4.2.1

9 years ago

4.2.0

9 years ago

4.1.9

9 years ago

4.1.8

9 years ago

4.1.7

9 years ago

4.1.6

9 years ago

4.1.5

9 years ago

4.1.4

9 years ago

4.1.3

9 years ago

4.1.2

9 years ago

4.1.1

9 years ago

4.1.0

9 years ago

4.0.1

9 years ago

3.4.2

9 years ago

3.4.1

9 years ago

3.4.0

9 years ago

3.3.3

9 years ago

3.3.2

9 years ago

3.3.1

10 years ago

3.3.0

10 years ago

3.2.9

10 years ago

3.2.7

10 years ago

3.2.6

10 years ago

3.2.5

10 years ago

3.2.4

10 years ago

3.2.3

10 years ago

3.2.2

10 years ago

3.2.1

10 years ago

3.2.0

10 years ago

3.1.2

10 years ago

3.1.1

10 years ago

3.1.0

10 years ago

3.0.3

10 years ago

3.0.2

10 years ago

3.0.1

10 years ago

3.0.0

10 years ago

2.9.5

10 years ago

2.9.3

10 years ago

2.9.2

10 years ago

2.9.1

10 years ago

2.9.0

10 years ago

2.7.0

10 years ago

2.6.7

10 years ago

2.6.6

10 years ago

2.6.5

10 years ago

2.6.0

10 years ago

2.5.9

10 years ago

2.5.8

10 years ago

2.5.7

10 years ago

2.5.6

10 years ago

2.5.5

10 years ago

2.5.4

10 years ago

2.5.3

10 years ago

2.5.2

10 years ago

2.5.1

10 years ago

2.5.0

10 years ago

2.4.5

10 years ago

2.4.3

10 years ago

2.4.2

10 years ago

2.4.1

10 years ago

2.4.0

10 years ago

2.3.1

10 years ago

2.3.0

10 years ago

2.2.0

10 years ago

2.1.0

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.8.7

10 years ago

1.8.6

10 years ago

1.8.5

10 years ago

1.8.3

10 years ago

1.8.2

10 years ago

1.8.1

10 years ago

1.8.0

10 years ago

1.7.8

10 years ago

1.7.7

10 years ago

1.7.6

10 years ago

1.7.5

10 years ago

1.7.3

10 years ago

1.7.2

10 years ago

1.7.1

10 years ago

1.7.0

10 years ago

1.6.9

10 years ago

1.6.8

10 years ago

1.6.7

10 years ago

1.6.6

10 years ago

1.6.5

10 years ago

1.6.2

10 years ago

1.6.1

10 years ago

1.6.0

10 years ago

1.5.1

10 years ago

1.5.0

10 years ago

1.4.1

10 years ago

1.4.0

10 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.4

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago