मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

Jetpack Compose से आना

Compose (डिक्लेरेटिव Kotlin) में जब ऑब्ज़र्वेबल स्टेट बदलता है तो UI रीकंपोज़ होता है। CrossFly में आप एक बार माउंट करते हैं और म्यूट करते हैं। पहले दर्शन पढ़ें।

अनुवाद तालिका

Jetpack Compose CrossFly
@Composable fun वह मेथड जो onShow() में एक बार माउंट करता है
remember { mutableStateOf(...) } + रीकंपोज़िशन फ़ील्ड + repaint() (बिना रीकंपोज़िशन)
Column / Row / Box VerticalLayout / HorizontalLayout / RelativeLayout
Modifier.weight(1f) add(LAY_FILL, c) (-1f)
Modifier.padding(...) स्टाइल में ingap
LazyColumn VirtualListView
Text Label
Button Button
Scaffold / TopAppBar Window (+ TabBar)
NavController / NavHost Window का स्टैक (show() / hide())
ViewModel + StateFlow मैनुअल ViewModel + callback (बिना फ़्लो कलेक्शन के)
LaunchedEffect / coroutines Thread + Component.onUI(...)
Color(0xFF...) int 0xAARRGGBB (UIConstants / ColorUtils)

पहले कैसा था / अब कैसा है — काउंटर

// Compose: muda o state → recompõe sozinho
@Composable fun Contador() {
   var n by remember { mutableStateOf(0) }
   Column {
      Text("$n")
      Button(onClick = { n++ }) { Text("+") }
   }
}
// CrossFly: रेफ़रेंस रखता है और मैन्युअली अपडेट करता है
public class Contador extends Window {
   private int n = 0;
   private Label display;
   @Override public void onShow() throws Exception {
      super.onShow();
      setLayout(new VerticalLayout());
      add(LAY_AUTO, display = new Label("0"));
      Button mais = new Button("+");
      mais.onAction(c -> { n++; display.setText(String.valueOf(n)); });   // बिना रीकंपोज़िशन के
      add(LAY_AUTO, mais);
   }
}

वह बिंदु जो सबसे ज़्यादा चौंकाता है

StateFlow/collectAsState का कोई समकक्ष नहीं है: CrossFly आपके स्टेट को ऑब्ज़र्व नहीं करता। जहाँ आप एक फ़्लो कलेक्ट करते, वहाँ मान को एक फ़ील्ड में रखें और repaint() कॉल करें (या अपने ViewModel में एक मैनुअल observe(Runnable) — देखें ऐप आर्किटेक्चर)।

यह भी देखें

क्या यह पृष्ठ उपयोगी था?