4.4.9 • Published 7 years ago

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

Weekly downloads
524
License
TMA-FALCO
Repository
github
Last release
7 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

7 years ago

4.4.8

7 years ago

4.4.7

7 years ago

4.4.6

7 years ago

4.4.5

7 years ago

4.4.4

7 years ago

4.4.3

7 years ago

4.4.2

7 years ago

4.4.1

7 years ago

4.4.0

7 years ago

4.3.9

7 years ago

4.3.8

7 years ago

4.3.7

7 years ago

4.3.6

7 years ago

4.3.5

7 years ago

4.3.4

7 years ago

4.3.3

7 years ago

4.3.2

7 years ago

4.3.1

7 years ago

4.3.0

7 years ago

4.2.6

7 years ago

4.2.5

7 years ago

4.2.4

7 years ago

4.2.3

7 years ago

4.2.2

7 years ago

4.2.1

7 years ago

4.2.0

7 years ago

4.1.9

7 years ago

4.1.8

7 years ago

4.1.7

7 years ago

4.1.6

7 years ago

4.1.5

7 years ago

4.1.4

7 years ago

4.1.3

7 years ago

4.1.2

7 years ago

4.1.1

7 years ago

4.1.0

7 years ago

4.0.1

7 years ago

3.4.2

7 years ago

3.4.1

7 years ago

3.4.0

7 years ago

3.3.3

7 years ago

3.3.2

7 years ago

3.3.1

8 years ago

3.3.0

8 years ago

3.2.9

8 years ago

3.2.7

8 years ago

3.2.6

8 years ago

3.2.5

8 years ago

3.2.4

8 years ago

3.2.3

8 years ago

3.2.2

8 years ago

3.2.1

8 years ago

3.2.0

8 years ago

3.1.2

8 years ago

3.1.1

8 years ago

3.1.0

8 years ago

3.0.3

8 years ago

3.0.2

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.9.5

8 years ago

2.9.3

8 years ago

2.9.2

8 years ago

2.9.1

8 years ago

2.9.0

8 years ago

2.7.0

8 years ago

2.6.7

8 years ago

2.6.6

8 years ago

2.6.5

8 years ago

2.6.0

8 years ago

2.5.9

8 years ago

2.5.8

8 years ago

2.5.7

8 years ago

2.5.6

8 years ago

2.5.5

8 years ago

2.5.4

8 years ago

2.5.3

8 years ago

2.5.2

8 years ago

2.5.1

8 years ago

2.5.0

8 years ago

2.4.5

8 years ago

2.4.3

8 years ago

2.4.2

8 years ago

2.4.1

8 years ago

2.4.0

8 years ago

2.3.1

8 years ago

2.3.0

8 years ago

2.2.0

8 years ago

2.1.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.8.7

8 years ago

1.8.6

8 years ago

1.8.5

8 years ago

1.8.3

8 years ago

1.8.2

8 years ago

1.8.1

8 years ago

1.8.0

8 years ago

1.7.8

8 years ago

1.7.7

8 years ago

1.7.6

8 years ago

1.7.5

8 years ago

1.7.3

8 years ago

1.7.2

8 years ago

1.7.1

8 years ago

1.7.0

8 years ago

1.6.9

8 years ago

1.6.8

8 years ago

1.6.7

8 years ago

1.6.6

8 years ago

1.6.5

8 years ago

1.6.2

8 years ago

1.6.1

8 years ago

1.6.0

8 years ago

1.5.1

8 years ago

1.5.0

8 years ago

1.4.1

8 years ago

1.4.0

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.4

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago