2011-01-25 12 views
7

हम एंड्रॉइड 2.3 - में 320 डीपीआई के नए घनत्व के साथ उपकरणों का अनुकरण करने की कोशिश कर रहे हैं जैसे कि आर्कोस 101, और हम एक एमुलेटर को परिभाषित करने में सक्षम नहीं हैं नवीनतम 2.3 एसडीके डाउनलोड करने के बाद भी इस घनत्व, ।एंड्रॉइड एमुलेटर पर 320 डीपीआई की नकल घनत्व

मैं वास्तव में यह एक :)

बहुत धन्यवाद पर कुछ विचार की सराहना करेंगे!

उत्तर

3

आप अपने वर्चुअल डिवाइस के लिए हमेशा एक कस्टम घनत्व और संकल्प परिभाषित कर सकते हैं।

आप उपयोग कर रहे हैं ग्रहण Window - Android SDK and AVD Manager करने के लिए जाना है, वहाँ New बटन हिट, एक नाम दर्ज करें और SDK संस्करण का चयन करें, Skin खंड में Resolution विकल्प नीचे मारा और संकल्प की जरूरत है निर्धारित किया है। Hardware अनुभाग में डिफ़ॉल्ट विकल्प ABstracted LCD Density को अपने वांछित मान में संपादित करें और Create AVD बटन दबाएं।

जब आप एवीडी प्रबंधक में Start बटन दबाते हैं तो आपको एक पॉपअप विंडो मिलती है जहां आप Scale display to real size चुन सकते हैं। वहां आपको डिवाइस को वास्तविक स्क्रीन आकार और आपके मॉनीटर डीपीआई सेट करना होगा। आप उस इनपुट फ़ील्ड के दाईं ओर प्रश्न चिह्न को हिट कर सकते हैं और कैलकुलेटर को अपने मॉनीटर आकार के आधार पर आपके लिए गणना कर सकते हैं।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। अफसोस की बात है, हमने एवीडी मैनेजर के अंदर 320 डीपीआई तक घनत्व स्थापित करने की कोशिश की है, फिर भी एम्यूलेटर में यह किसी भी तरह 240 डीपीआई पर सेट है। मुझे लगता है कि मैंने इस मुद्दे के बारे में कहीं पढ़ा है और मुझे आशा है कि शायद इसके लिए कोई कामकाज या संभावित समाधान हो, क्योंकि यह काफी नई समस्या है। –

+0

दिलचस्प। मैंने अभी तक इस मुद्दे के बारे में नहीं पढ़ा है। क्या आप उस लिंक को खोजने और पोस्ट करने का प्रयास कर सकते हैं? –

+1

मैं कल इस तरह के एक पोस्ट को इसके लिए अधिक समय देने के बिना सफल रहा, लेकिन दुख की बात है कि अब मुझे यह प्रतीत नहीं होता है। मुझे लगता है कि यह आधिकारिक एंड्रॉइड डेवलपर्स Google समूह के अंदर था। किसी भी मामले में, घनत्व प्राप्त करने का मेरा कोड निम्नानुसार है, और यह हमेशा आर्कोस की नई स्क्रीन प्रोफ़ाइल के लिए 240 लौटाता है: प्रदर्शन मेट्रिक्स प्रदर्शन मेट्रिक्स = नया प्रदर्शन मेट्रिक्स(); getWindowManager()। GetDefaultDisplay()। GetMetrics (displayMetrics); अंतिम int घनत्व = displayMetrics.densityDpi; –

2

जो मैं समझता हूं उससे एंड्रॉइड स्क्रीन आकार और घनत्व को वर्गीकृत करता है, इसलिए मुझे लगता है कि यह 240 डीपीआई 320 डीपीआई जैसा ही व्यवहार करता है, यानी यह उच्च घनत्व है। एक अगला विकल्प भी है जो अतिरिक्त उच्च घनत्व है। मुझे एंड्रॉइड डेवलपर संदर्भ में यह जानकारी मिली है और निचले भाग की ओर से अनुभाग को आवेदन आवश्यकताओं को अस्वीकार कर दिया गया है। मैं पूरी तरह गलत हो सकता हूं लेकिन चिल्लाया कि यह चिल्लाओ।

6

AVD प्रबंधक में यदि आप चाहें तो एक तो निर्मित त्वचा पृथक एलसीडी घनत्व को नजरअंदाज कर दिया जाता है और यह घनत्व को यहां बताए गए सेट हो जाएगा:

एम्यूलेटर खाल (http://developer.android.com/tools/revisions/platforms.html से)

डाउनलोड करने योग्य मंच

  • QVGA (240x320, कम घनत्व, छोटे परदे)
  • WQVGA400 (240x400, कम घनत्व, सामान्य स्क्रीन)
  • : निम्नलिखित एमुलेटर खाल भी शामिल है
  • WQVGA432 (240x432, कम घनत्व, सामान्य स्क्रीन)
  • HVGA (320x480, मध्यम घनत्व, सामान्य स्क्रीन)
  • WVGA800 (480x800, उच्च घनत्व, सामान्य स्क्रीन)
  • WVGA854 (480x854 उच्च घनत्व, सामान्य स्क्रीन)
  • WXGA720 (1280x720, अतिरिक्त उच्च घनत्व, सामान्य स्क्रीन)
  • WSVGA (1024x600, मध्यम घनत्व, बड़ी स्क्रीन)
  • WXGA800-7in (1280x800, उच्च घनत्व, बड़ी स्क्रीन) नई
  • WXGA800 (1 280x800, मध्यम घनत्व, xlarge स्क्रीन)

यदि आप अपनी खुद की सारित एलसीडी घनत्व सेट करना चाहते हैं तो आपको संकल्प रेडियो बटन पर क्लिक करके मैन्युअल रूप से अपना संकल्प परिभाषित करने की आवश्यकता होगी।

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
int density = metrics.densityDpi; 
    if (density == DisplayMetrics.DENSITY_HIGH) { 
     Toast.makeText(this, "DENSITY_HIGH... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
    else if (density == DisplayMetrics.DENSITY_MEDIUM) { 
     Toast.makeText(this, "DENSITY_MEDIUM... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
    else if (density == DisplayMetrics.DENSITY_LOW) { 
     Toast.makeText(this, "DENSITY_LOW... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
    else { 
     Toast.makeText(this, "Density is neither HIGH, MEDIUM OR LOW. Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); 
    } 
6

कि काफी सरल है:

यहाँ कुछ कोड आप इस परीक्षण करने के लिए उपयोग कर सकते हैं।

एवीडी कॉन्फ़िगरेशन फ़ाइल पर hw.lcd.density=320 विशेषता को संशोधित करें: /Users/yourUserName/.android/avd/CustomDevice_API_19.avd/config.ini, और अपने वर्चुअल डिवाइस को रीबूट करें। मैं पहले से ही इसका परीक्षण कर रहा हूं, और यह मेरे लिए काम करता है!

Warnning: आप सही घनत्व सेट सुनिश्चित करें, अन्यथा आप एक त्रुटि प्राप्त होगा: qemu: available lcd densities are: 120, 160, 213, 240, 280, 320, 360, 400, 420, 480, 560, 640

BTW मेरी Android SDK Tools संस्करण 25.2.5 है।

+0

पूरी तरह से काम किया। धन्यवाद! मैंने गणना की थी और स्क्रीन आकार को इंच में सेट किया था जिसे 213 डीपी ट्रिगर किया जाना चाहिए था लेकिन यह 240 के बजाय चयन कर रहा था। संपादन 'config.ini' को ठीक किया गया है और अब मेरा एमुलेटर उस टैबलेट से बिल्कुल मेल खाता है जिसके लिए मैं विकास कर रहा हूं। – gMale

+0

कमाल, काम किया, अब मैं अपने डिवाइस को एमुलेटर पर अनुकरण कर सकता हूं, बिल्कुल! – AVEbrahimi

संबंधित मुद्दे