{"rsdb":{"rid":"239124","subhead":"","postdate":"0","aid":"164829","fid":"98","uid":"1","topic":"1","content":"
\n

\"preview\"<\/p> \n

Kotlin \u548c Swift, \u4e24\u5927\u65b0\u5ba0! \u501f ReactNative \u719f\u6089\u4e0b kotlin \u7684\u7528\u6cd5,\u4e0d\u6599\u6389\u5751\u91cc\u9762\u4e86.\u6628\u665a\u82b1\u4e86\u5927\u534a\u591c,\u8d81\u8fd9\u4f1a\u513f\u601d\u8def\u6e05\u6670,\u628a\u6d89\u53ca\u5230\u7684\u4e00\u4e9b\u5173\u952e\u4fe1\u606f,\u8fc5\u901f\u6574\u7406\u4e0b.<\/p> \n

\u6700\u4f73\u7684\u4f7f\u7528 Kotlin \u5feb\u901f\u5f00\u59cb\u5199Android\u6a21\u5757\u7684\u65b9\u5f0f<\/h2> \n
    \n
  1. react-native init AwesomeProject<\/em> \u751f\u6210\u7684 android \u76ee\u5f55,\u662f\u4e00\u4e2a\u6807\u51c6\u7684 Android Studio \u5de5\u7a0b,\u8be6\u89c1: http:\/\/facebook.github.io\/react-native\/docs\/getting-started.html<\/a><\/li> \n
  2. \u76f4\u63a5\u5728 Android Studio \u4e2d\u6253\u5f00 AwesomeProject\/android \u76ee\u5f55.<\/li> \n
  3. \u53c2\u8003\u6587\u7ae0 http:\/\/facebook.github.io\/react-native\/docs\/native-modules-android.html<\/a>,\u5148\u7528 java<\/a> \u5b9e\u73b0<\/li> \n
  4. \u9876\u90e8\u83dc\u5355 --> code --> Convert Java File to Kotlin File ,\u81ea\u52a8\u8f6c\u6362\u4e3a kotlin .<\/li> \n <\/ol> \n
    \n
    package<\/span> com.awesomeproject<\/span>.AnExampleReactPackage<\/span>\n\nimport<\/span> android.widget<\/span>.Toast<\/span>\n\nimport<\/span> com.facebook<\/span>.react<\/span>.bridge<\/span>.ReactApplicationContext<\/span>\nimport<\/span> com.facebook<\/span>.react<\/span>.bridge<\/span>.ReactContextBaseJavaModule<\/span>\nimport<\/span> com.facebook<\/span>.react<\/span>.bridge<\/span>.ReactMethod<\/span>\n\nimport<\/span> java<\/a>.util<\/span>.HashMap<\/span>\n\n\/**<\/span>\n * Created by yanfeng on 2017\/10\/12.<\/span>\n *\/<\/span>\n\nclass<\/span> ToastModule<\/span>(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule<\/span>(reactContext) {\n\n    override<\/span> fun getName<\/span>(): String {\n        return<\/span> "ToastExample"<\/span>\n    }\n\n    override<\/span> fun getConstants<\/span>(): Map<String, Any>? {\n        val<\/span> constants = HashMap<String, Any>()\n        constants.put<\/span>(DURATION_SHORT_KEY, Toast.LENGTH_SHORT<\/span>)\n        constants.put<\/span>(DURATION_LONG_KEY, Toast.LENGTH_LONG<\/span>)\n        return<\/span> constants\n    }\n\n    @ReactMethod\n    fun show<\/span>(message: String, duration: Int<\/span>) {\n        Toast.makeText<\/span>(reactApplicationContext, message, duration).show<\/span>()\n    }\n\n    companion object<\/span> {\n\n        private<\/span> val<\/span> DURATION_SHORT_KEY = "SHORT"<\/span>\n        private<\/span> val<\/span> DURATION_LONG_KEY = "LONG"<\/span>\n    }\n}<\/code><\/pre>\n <\/div> \n 

    \u4e00\u4e9b\u5751\u4e2d\u7684\u7ecf\u9a8c<\/h2> \n