मुझे यह नोट बिल्ड में मिल रहा है जब भी मैं एक कोटलिन वर्ग (btw) में एक इंजेक्शन करता हूं, मेरे पास कोटलिन और जावा दोनों के साथ एक मिश्रित एंड्रॉइड प्रोजेक्ट है।
उदाहरण के लिए, इस compileStagingDebugJavaWithJavac
ग्रेडल टास्क के बाद: (StagingDebug मेरा बिल्ड वेरिएंट है), मुझे यह संदेश मिला:
"नोट: Com.packageNameXXX.CourseDiscoveryFragment के लिए एक सदस्य इंजेक्टर या फैक्ट्री बनाना। इसके बजाय उस वर्ग के ऊपर डैगर प्रोसेसर चलाना पसंद करें।"
मेरा कोर्सडिस्कवरी मैपफ्रेम कोड यहाँ देखा जा सकता है:
class CourseDiscoveryMapFragment : Fragment(){
@Inject
lateinit var presenter: CourseDiscoveryMapPresenter
lateinit var mapView: MapView
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_discovery_map, container, false)
MapsInitializer.initialize(activity)
mapView = view.mapView
mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE))
(activity as BaseActivity)
.activityComponent.inject(this)
}
और मेरी गतिविधिकम्पोनेंट है:
@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {
void inject(BaseActivity baseActivity);
void inject(CourseDiscoveryMapFragment fragment);
//Exposed to sub-graphs.
Activity activity();
}
इसलिए, मैं कोटलिन में खंजर के इंजेक्शन होने के साथ-साथ जावा में लिखे डैगर कंपोनेंट और मॉड्यूल को लिख रहा हूं।
क्या यह कोई ऐसी चीज है जिसके बारे में मुझे चिंतित होना चाहिए?
धन्यवाद।