React Native ImagePicker (remobile)
A image picker for react-native, supprt for ios and android
Installation
npm install @remobile/react-native-image-picker --save
Installation (iOS)
- Drag RCTImagePicker.xcodeproj to your project on Xcode.
- Click on your main project file (the one that represents the .xcodeproj) select Build Phases and drag libRCTImagePicker.a from the Products folder inside the RCTImagePicker.xcodeproj.
- Look for Header Search Paths and make sure it contains both $(SRCROOT)/../../../react-native/React as recursive.
Installation (Android)
...
include ':react-native-image-picker'
project(':react-native-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-picker/android/RCTImagePicker')
- In
android/app/build.gradle
...
dependencies {
...
compile project(':react-native-image-picker')
}
- register module (in MainActivity.java)
import com.remobile.imagePicker.*;
public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler {
......
private RCTImagePickerPackage mImagePickerPackage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mReactRootView = new ReactRootView(this);
mImagePickerPackage = new RCTImagePickerPackage(this);
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModuleName("index.android")
.addPackage(new MainReactPackage())
.addPackage(mImagePickerPackage)
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
mReactRootView.startReactApplication(mReactInstanceManager, "ExampleRN", null);
setContentView(mReactRootView);
}
......
@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mImagePickerPackage.onActivityResult(requestCode, resultCode, data);
}
}
Screencasts
- ios
- android
Usage
Example
var React = require('react-native');
var {
StyleSheet,
View,
} = React;
var ImagePicker = require('@remobile/react-native-image-picker');
var Button = require('@remobile/react-native-simple-button');
var Dialogs = require('@remobile/react-native-dialogs');
module.exports = React.createClass({
onOpen() {
var options = {maximumImagesCount: 10, width: 400};
ImagePicker.getPictures(options, function(results) {
var msg = '';
for (var i = 0; i < results.length; i++) {
msg += 'Image URI: ' + results[i] + '\n';
}
Dialogs.alert(msg);
}, function (error) {
Dialogs.alert('Error: ' + error);
});
},
render() {
return (
<View style={styles.container}>
<Button onPress={this.onOpen}>Photo</Button>
</View>
);
},
});
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'transparent',
},
});
HELP
thanks