①expo-image-picker
名前からは想像しにくいが、カメラで撮影しアプリで利用する場合にも利用する
import { StatusBar } from 'expo-status-bar';
import { StyleSheet, Text, View, Button, Image } from 'react-native';
import { useState } from 'react';
import * as ImagePicker from 'expo-image-picker';
function Contents() {
const [imageUriState, setImageUriState] = useState({
imageUri: null
});
const takePicture = async() => {
//カメラの使用許可
const res = await ImagePicker.requestCameraPermissionsAsync();
if(res.status !== 'granted'){
return;
}
//カメラを呼び出し撮影
const result = await ImagePicker.launchCameraAsync();
//写真を撮影された場合はstateを更新する
if(!result.canceled){
}
}
return(
<View style={{alignItems: 'center'}}>
<View style={{marginBottom:10}}>
<Button
title='Take Picture'
onPress={takePicture}/>
</View>
{
//撮影された写真がある場合のみ表示
imageUriState.imageUri&&
<Image
style={{width:320, height:320}}
resizeMode='cover'/>
}
</View>
);
}
export default function App() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
<Contents/>
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
他に、react-native-vision-cameraというライブラリもあります。
②expo-camera
サンプルコード参照。
③expo-notifications
Expoでのプッシュ通知の仕方についてまとめ(ローカル通知編) #reactnative - Qiita
④react-native-maps
import { StatusBar } from 'expo-status-bar';
import { Dimensions, StyleSheet, Text, View } from 'react-native';
import MapView from 'react-native-maps';
export default function App() {
return (
<MapView
initialRegion={{
latitude: 35.68095,longitude: 139.7673,
latitudeDelta:0.046,longitudeDelta:0.021
}}
style={styles.map}/>
);
}
const windowDim = Dimensions.get("window");
const styles = StyleSheet.create({
container: {
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
map: {
width: windowDim.width,
height: windowDim.height,
}
});
React-Nativeで地図を表示する(react-native-maps) #reactnative - Qiita
⑤react-native-geolocation-services
React Native geolocation: A complete tutorial - LogRocket Blog
⑥react-native-reanimated
Expo Routerでreact-native-reanimatedのShared Element Transitionsを使う #expo - Qiita
⑦react-native-safe-area-content
[ReactNative] SafeAreaViewで混乱しないために (zenn.dev)
⑧expo-av 『AV』『Audio』『Video』の項目で出てくる
⑨expo-sqlite
⑩react-native-webview
【ReactNative】WebViewを使ってWebコンテンツを表示する
WordPressHPへ移行中