feat: Add native module and package for custom functionality
This commit is contained in:
@@ -10,13 +10,15 @@ import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
|
||||
class MainApplication : Application(), ReactApplication {
|
||||
|
||||
override val reactHost: ReactHost by lazy {
|
||||
|
||||
val packages = PackageList(this).packages.toMutableList()
|
||||
|
||||
// ✅ Add your custom package HERE (Kotlin syntax)
|
||||
packages.add(NativeModulesPackage())
|
||||
|
||||
getDefaultReactHost(
|
||||
context = applicationContext,
|
||||
packageList =
|
||||
PackageList(this).packages.apply {
|
||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
||||
// add(MyReactNativePackage())
|
||||
},
|
||||
packageList = packages,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
19
android/app/src/main/java/com/lynkeduppro/MyNativeModule.kt
Normal file
19
android/app/src/main/java/com/lynkeduppro/MyNativeModule.kt
Normal file
@@ -0,0 +1,19 @@
|
||||
package com.lynkeduppro
|
||||
|
||||
import com.facebook.react.bridge.ReactApplicationContext
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
||||
import com.facebook.react.bridge.ReactMethod
|
||||
import com.facebook.react.bridge.Promise
|
||||
|
||||
class MyNativeModule(private val reactContext: ReactApplicationContext)
|
||||
: ReactContextBaseJavaModule(reactContext) {
|
||||
|
||||
override fun getName(): String {
|
||||
return "MyNativeModule" // JS module name
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
fun greet(name: String, promise: Promise) {
|
||||
promise.resolve("Hello $name from Android(Kotlin)!")
|
||||
}
|
||||
}
|
||||
19
android/app/src/main/java/com/lynkeduppro/MyNativePackage.kt
Normal file
19
android/app/src/main/java/com/lynkeduppro/MyNativePackage.kt
Normal file
@@ -0,0 +1,19 @@
|
||||
package com.lynkeduppro
|
||||
|
||||
import com.facebook.react.ReactPackage
|
||||
import com.facebook.react.bridge.NativeModule
|
||||
import com.facebook.react.bridge.ReactApplicationContext
|
||||
import com.facebook.react.uimanager.ViewManager
|
||||
|
||||
class NativeModulesPackage : ReactPackage {
|
||||
|
||||
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
|
||||
return listOf(
|
||||
MyNativeModule(reactContext)
|
||||
)
|
||||
}
|
||||
|
||||
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
||||
return emptyList()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user