यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
FAQ — अक्सर पूछे जाने वाले प्रश्न
एक या दो वाक्यों में जवाब, हमेशा स्रोत के लिंक के साथ। सीखने के लिए, देखें
learn/; किसी त्रुटि को ठीक करने के लिए, troubleshooting/।
सामान्य
CrossFly क्या है? एक UI फ्रेमवर्क जो libGDX/OpenGL पर Java में बना है — सब कुछ GPU के माध्यम से बनाता है, बिना नेटिव विजेट के, इसलिए हर प्लेटफ़ॉर्म पर दिखावट एक जैसी रहती है। (अध्याय 1)
क्या मुझे libGDX जानना ज़रूरी है? रोज़मर्रा के काम के लिए नहीं — आप Window/Component के साथ काम करते हैं।
(अध्याय 4)
बूटस्ट्रैप और जीवनचक्र
ऐप कैसे शुरू होता है? Main, MainWindow को रिफ्लेक्शन द्वारा (classname के जरिए) इंस्टैंशिएट करता है।
(अध्याय 4)
मेरी MainWindow लोड नहीं होती। इसे Window को एक्सटेंड करना और बिना-आर्गुमेंट वाला पब्लिक
कंस्ट्रक्टर होना ज़रूरी है। (प्रोजेक्ट की संरचना)
UI कहाँ बनाऊँ? onShow() में (super.onShow() के साथ), कभी भी कंस्ट्रक्टर में नहीं।
(अध्याय 7)
थ्रेडिंग और रेंडरिंग
क्या मैं किसी दूसरी थ्रेड से UI बदल सकता हूँ? नहीं — Component.onUI(r) /
Main.runOnPaintThread(r) के साथ वापस आएँ। (पेंट थ्रेड)
मैंने कुछ बदला और स्क्रीन अपडेट नहीं होती। रेंडर मांग पर होता है: Component.repaint() कॉल करें (और
अगर आकार/स्थिति बदली हो तो setValidLayout(false))। (अध्याय 4 §4.6)
लंबा ऑपरेशन बिना अटके कैसे चलाऊँ? एक Thread में चलाएँ और onUI के साथ वापस आएँ।
(बैकग्राउंड में काम)
लेआउट
add() के नंबरों का क्या मतलब है? LAY_FILL = -1f बचा हुआ भरता है; LAY_AUTO = 0f = सामग्री का
आकार; >0 = कंटेनर का अंश (पिक्सेल नहीं)। (अध्याय 12)
पैडिंग और मार्जिन? शैली में ingap (आंतरिक) और outgap (बाहरी)।
(कंपोनेंट को स्टाइल करना)
रिस्पॉन्सिव UI? Relative + LAY_FILL/LAY_AUTO का उपयोग करें, कभी पिक्सेल नहीं।
(रिस्पॉन्सिवनेस)
GridLayout? पहले सभी चौड़ाइयाँ, फिर सभी कंपोनेंट पास करें: add(w0,w1,…,c0,c1,…)।
(GridLayout)
नेविगेशन
मैं स्क्रीनों के बीच कैसे नेविगेट करूँ? novaWindow.show() = push, hide() = pop (यह एक Window का स्टैक है)।
(नेविगेशन)
दूसरी स्क्रीन को डेटा भेजना? गंतव्य Window के कंस्ट्रक्टर के जरिए — कोई नामित रूट नहीं है।
कोई परिणाम प्राप्त करना? पिकर के लिए picker.show(onAnswer); सामान्य स्क्रीन कंस्ट्रक्टर के जरिए
कॉलबैक का उपयोग करती हैं; Alert, buttonAction के जरिए जवाब देता है। (मान वापस करना)
शैली, थीम और रंग
लाइट/डार्क बदलना? Styles.setDarkMode(true/false) / toggleDarkMode() — सब कुछ अपने आप फिर से स्टाइल हो जाता है।
(लाइट/डार्क मोड)
Material/iOS का “रूप” बदलना? Skin.set(new MaterialSkin()|new IOSSkin()|new FlutterSkin())।
(स्किन)
रंग परिभाषित करना? एक सीड रंग से ColorScheme जनरेट करें।
(कलर स्कीम)
मेरा रंग अदृश्य हो गया। यह int ARGB 0xAARRGGBB है — अल्फा में FF के बिना यह गायब हो जाता है। 0xFF… का उपयोग करें।
(अध्याय 11)
डेटा और परसिस्टेंस
साधारण प्राथमिकताएँ सहेजना? अब कोई अंतर्निहित prefs नहीं हैं (Settings.appSettings हटा दिया गया) —
SQLite या Device.homeFolder में फ़ाइलों का उपयोग करें। (फ़ाइलें और प्राथमिकताएँ)
डेटाबेस का उपयोग करना? dev.crossfly.sqlite (SqliteDb/SqliteStmt/SqliteCursor), SQLite3MC सिफर के साथ, पेंट थ्रेड
के बाहर। (SQLite के साथ परसिस्टेंस)
क्या कोई तैयार HTTP/sync क्लाइंट है? नहीं — java.net/OkHttp का उपयोग करें; JSON के लिए Jackson।
(नेटवर्क और HTTP)
टेक्स्ट का i18n? फ्रेमवर्क अनुवाद नहीं करता — केवल locale के अनुसार तिथियाँ/संख्याएँ फ़ॉर्मैट करता है (LocaleFormats);
अनुवाद आपकी ज़िम्मेदारी है। (अंतर्राष्ट्रीयकरण)
बड़ी सूची धीमी है? VirtualListView/PagedDataAdapter का उपयोग करें।
(प्रदर्शन और बड़ी सूचियाँ)
प्लेटफ़ॉर्म और डिवाइस
यह किन प्लेटफ़ॉर्मों पर चलता है? Android, iOS, Desktop (LWJGL3 के जरिए Windows/macOS/Linux) और Web (TeaVM)। (प्लेटफ़ॉर्म मैट्रिक्स)
कैमरा/GPS/Bluetooth/बायोमेट्रिक्स? dev.crossfly.device पैकेज; Bluetooth BLE/GATT एसिंक्रोनस है।
(अध्याय 24)
थर्मल प्रिंटर? समर्थन हटा दिया गया — सीधे BLE/GATT के जरिए बात करें। (Bluetooth BLE)
पुराने डिवाइस पर UI अटकती है? Screen.slowGPU जाँचें और छाया/ग्रेडिएंट/ग्लास कम करें।
(अध्याय 8)
UI को स्वचालित रूप से टेस्ट करना? dev.crossfly.test फ्रेमवर्क (TestCase + स्क्रीनशॉट तुलना)।
(टेस्ट)
Javadoc व्यवहार का खंडन करता है? कोड और इस दस्तावेज़ पर भरोसा करें। (रेफरेंस कैसे व्यवस्थित है)
यह भी देखें
- कैनोनिकल स्रोत: अध्याय 34 — FAQ ·
troubleshooting/·reference/