feature():新增对android的支持
This commit is contained in:
parent
d25c64ea51
commit
7fdfa32201
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
/*******************struct bloodmember***********************
|
||||
BLOODMEMBER[0]Bagnumber//当前包号
|
||||
BLOODMEMBER[1]Current//当前蓝牙原始电流
|
||||
BLOODMEMBER[2]Real_fix_current//待函数返回计算的电流修正值;
|
||||
BLOODMEMBER[3]Before_fix_current//前一个包的Real_fix_current
|
||||
BLOODMEMBER[4]Reference_k//参比系数,第一个参比之前为0;每次有参比输入后,会更新一次;
|
||||
BLOODMEMBER[5]Reference_bloodsugar//当前包输入的参比血糖值,当前包没有输入参比血糖时应为0;放大10倍保存
|
||||
BLOODMEMBER[6]Real_B//未有参比输入时,应为0;每次有参比输入后,会更新一次;
|
||||
BLOODMEMBER[7]Blood_sugar//待函数返回计算的值,未计算时为0;放大10倍保存
|
||||
|
||||
//函数返回计算后的数组;
|
||||
uint16 * Glucose_calculation(uint16 A[] ){
|
||||
return BLOODMEMBER;
|
||||
}
|
||||
*********************struct bloodmember*********************/
|
||||
|
||||
typedef unsigned short uint16; /* Unsigned 16 bit value */
|
||||
uint16 BLOODMEMBER[8];
|
||||
|
|
@ -82,5 +82,6 @@ dependencies {
|
|||
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
||||
//noinspection GradleDynamicVersion
|
||||
implementation "com.facebook.react:react-native:+"
|
||||
implementation "org.apache.commons:commons-lang3:3.5"
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,2 +1,16 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH"
|
||||
android:maxSdkVersion="30" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
|
||||
android:maxSdkVersion="30" />
|
||||
<!-- Needed only if your app looks for Bluetooth devices. -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
</manifest>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.btdevice;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.device.comm.mylibrary.RNMethodModule;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
|
|
@ -17,6 +18,7 @@ public class BtDevicePackage implements ReactPackage {
|
|||
public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
|
||||
List<NativeModule> modules = new ArrayList<>();
|
||||
modules.add(new BtDeviceModule(reactContext));
|
||||
modules.add(new RNMethodModule(reactContext));
|
||||
return modules;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,20 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH"
|
||||
android:maxSdkVersion="30" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
|
||||
android:maxSdkVersion="30" />
|
||||
<!-- Needed only if your app looks for Bluetooth devices. -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
|
||||
|
||||
<application
|
||||
android:name=".MainApplication"
|
||||
|
|
|
|||
|
|
@ -1,22 +1,77 @@
|
|||
package com.btdeviceexample
|
||||
|
||||
import android.Manifest.permission.ACCESS_COARSE_LOCATION
|
||||
import android.Manifest.permission.ACCESS_FINE_LOCATION
|
||||
import android.Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS
|
||||
import android.Manifest.permission.BLUETOOTH_CONNECT
|
||||
import android.Manifest.permission.BLUETOOTH_PRIVILEGED
|
||||
import android.Manifest.permission.BLUETOOTH_SCAN
|
||||
import android.Manifest.permission.READ_EXTERNAL_STORAGE
|
||||
import android.Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Bundle
|
||||
import android.os.PersistableBundle
|
||||
import androidx.core.app.ActivityCompat
|
||||
import com.facebook.react.ReactActivity
|
||||
import com.facebook.react.ReactActivityDelegate
|
||||
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
|
||||
import com.facebook.react.defaults.DefaultReactActivityDelegate
|
||||
|
||||
|
||||
class MainActivity : ReactActivity() {
|
||||
|
||||
/**
|
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
||||
* rendering of the component.
|
||||
*/
|
||||
private var PERMISSIONS_STORAGE: Array<String> = arrayOf<String>(
|
||||
READ_EXTERNAL_STORAGE,
|
||||
WRITE_EXTERNAL_STORAGE,
|
||||
ACCESS_FINE_LOCATION,
|
||||
ACCESS_COARSE_LOCATION,
|
||||
ACCESS_LOCATION_EXTRA_COMMANDS,
|
||||
BLUETOOTH_SCAN,
|
||||
BLUETOOTH_CONNECT,
|
||||
BLUETOOTH_PRIVILEGED
|
||||
)
|
||||
private val PERMISSIONS_LOCATION = arrayOf<String>(
|
||||
ACCESS_FINE_LOCATION,
|
||||
ACCESS_COARSE_LOCATION,
|
||||
ACCESS_LOCATION_EXTRA_COMMANDS,
|
||||
BLUETOOTH_SCAN,
|
||||
BLUETOOTH_CONNECT,
|
||||
BLUETOOTH_PRIVILEGED
|
||||
)
|
||||
override fun getMainComponentName(): String = "BtDeviceExample"
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
checkPermissions()
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
|
||||
* which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
|
||||
*/
|
||||
override fun createReactActivityDelegate(): ReactActivityDelegate =
|
||||
DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
|
||||
|
||||
private fun checkPermissions() {
|
||||
val permission1 = ActivityCompat.checkSelfPermission(this, WRITE_EXTERNAL_STORAGE)
|
||||
val permission2 = ActivityCompat.checkSelfPermission(this, BLUETOOTH_SCAN)
|
||||
if (permission1 != PackageManager.PERMISSION_GRANTED) {
|
||||
// We don't have permission so prompt the user
|
||||
ActivityCompat.requestPermissions(
|
||||
this,
|
||||
PERMISSIONS_STORAGE,
|
||||
1
|
||||
)
|
||||
} else if (permission2 != PackageManager.PERMISSION_GRANTED) {
|
||||
ActivityCompat.requestPermissions(
|
||||
this,
|
||||
PERMISSIONS_LOCATION,
|
||||
1
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
import * as React from 'react';
|
||||
|
||||
import { StyleSheet, View, Text } from 'react-native';
|
||||
import RNMethodModule from 'react-native-bt-device';
|
||||
import RNMethodModule,{DYGlucoseDriver} from 'react-native-bt-device';
|
||||
|
||||
export default function App() {
|
||||
// const [result, setResult] = React.useState<number | undefined>();
|
||||
|
||||
React.useEffect( () => {
|
||||
RNMethodModule.startBLEScan()
|
||||
RNMethodModule.connectSingleDevice('abc')
|
||||
DYGlucoseDriver.startMonitor('abc')
|
||||
// multiply(3, 7).then(setResult);
|
||||
}, []);
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue