
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
react-native-cipherlab-scanner
Advanced tools
Use react-native on your Android based CipherLab scanner!
Use react-native on your Android based CipherLab scanner!
CipherLab RS31
$ react-native init --version="0.59.9" AwesomeScanner
$ cd AwesomeScanner
$ npm install
$ npm install react-native-cipherlab-scanner --save
android/app/src/main/java/[...]/MainApplication.java
import au.com.micropacific.react.cipherlab.CipherLabScannerPackage;
to the imports at the top of the filenew CipherLabScannerPackage()
to the list returned by the getPackages()
methodandroid/settings.gradle
:
include ':react-native-cipherlab-scanner'
project(':react-native-cipherlab-scanner').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cipherlab-scanner/android')
android/app/build.gradle
:
implementation project(':react-native-cipherlab-scanner')
// App.js
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import CipherLabScannerModule from 'react-native-cipherlab-scanner';
import { DeviceEventEmitter, Button } from 'react-native';
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
type Props = {};
export default class App extends Component<Props> {
constructor(props)
{
super(props);
this.state = {
barcode: '',
type: '',
binary: '',
}
this.requestScan=this.requestScan.bind(this);
// MDR 21/08/2018 - make fake scans if we're on an emulator
var _this = this;
this.scanner = {
requestScan: function() {
_this.barcodeReadEvent({barcode: '123', type: 'FAKE_BARCODE', binary: []})
}
}
this.listeners = [];
}
async componentDidMount() {
this.listeners.push(DeviceEventEmitter.addListener('CIPHERLAB.initEvent', this.scannerInitEvent.bind(this)));
this.listeners.push(DeviceEventEmitter.addListener('CIPHERLAB.barcodeReadEvent', this.barcodeReadEvent.bind(this)));
// MDR 23/08/2018 - We can subscribe to some hardware specific intents
this.listeners.push(DeviceEventEmitter.addListener('CIPHERLAB.receiveIntent', this.cipherlabReceiveIntent.bind(this) ));
await CipherLabScannerModule.initialise();
// MDR 21/08/2018 - Note that this incurs a performance hit for each scan
await CipherLabScannerModule.enableBinaryData();
}
async componentWillUnmount() {
console.log(`componentWillUnmount()`);
for (var x in this.listeners) {
this.listeners[x].remove();
}
this.listeners = [];
}
requestScan(e) {
//CipherLabScannerModule.requestScan();
this.scanner.requestScan();
}
async scannerInitEvent(e) {
// MDR 21/08/2018 - The onboard scanner has been initialised, overwrite our fake scanner
console.log(`CIPHERLAB.initEvent initcallback`);
this.scanner = CipherLabScannerModule;
}
async barcodeReadEvent(e) {
this.setState({barcode: e.barcode, type: e.type, binary: e.binary});
}
async cipherlabReceiveIntent(e)
{
switch (e.action)
{
case "android.intent.action.FUNC_BUTTON":
console.log(`func button: `, e);
this.setState({barcode: ''});
break;
}
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>Welcome to React Native!</Text>
<Text style={styles.instructions}>To get started, edit App.js</Text>
<Text style={styles.instructions}>{instructions}</Text>
<Text style={styles.instructions}>Barcode: {this.state.barcode}</Text>
<Text style={styles.instructions}>Type: {this.state.type}</Text>
<Text style={styles.instructions}>Binary: {this.state.binary}</Text>
<Button title="Scan" capitalize={false} block primary onPress={this.requestScan} />
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
FAQs
Use react-native on your Android based CipherLab scanner!
The npm package react-native-cipherlab-scanner receives a total of 2 weekly downloads. As such, react-native-cipherlab-scanner popularity was classified as not popular.
We found that react-native-cipherlab-scanner demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.