2011-09-21 7 views
6

पहली बार पोस्टिंग और पहली बार Android पर काम, इतना आसान जाना अगर मैं किसी भी नियम :)Android ऐप के लिए स्थानीय रूप से या ऑनलाइन बड़े डेटा संग्रहीत करना?

फिर भी तोड़ने कर रहा हूँ, मैं तो बस एक Android ऐप्लिकेशन बनाने में मिला है और मैं एक साधारण सामान्य ज्ञान खेल बनाने के लिए कोशिश कर रहा हूँ। मैं कई प्रश्न पूछने की योजना बना रहा हूं (उम्मीद है कि लगभग 5000+ प्रश्न)। कोई डेटा मैनिपुलेशन नहीं किया गया, बस सीधे प्रश्नों को पढ़ना और इसे उपयोगकर्ता को प्रस्तुत करना। अब मुझे प्रश्नों को कैसे स्टोर किया जाए, इस बारे में दुविधा का सामना करना पड़ रहा है।

1.) बंडल अनुप्रयोग के साथ सवाल: संभवतः SQLite में जानकारी स्टोर

मैं दो विकल्प हैं। मूल रूप से, डेमो प्रयोजनों के लिए, मैंने प्रश्नों को एक एक्सएमएल फ़ाइल में रखा, लेकिन मुझे जल्दी ही एहसास हुआ कि सवाल उठने के बाद यह कितना अक्षम होगा। सबसे पहले, मुझे चिंता है कि ऐसी विशाल एक्सएमएल फाइल खोलने से एंड्रॉइड की याद आती है। दूसरा, मुझे चिंता है कि ऐप कितना बड़ा होगा यदि इसमें 5000+ प्रश्न हों। मैं XML बनाम SQLite के पेशेवरों के बारे में read here। उस उदाहरण में, उपयोगकर्ता की 70,000 प्रविष्टियां हैं, इसलिए शायद मेरे 5,000 प्रश्न पर्याप्त होंगे?

या

2.) होस्ट सर्वर पर सवाल: मेरा मानना ​​है कि उल्टा एप्लिकेशन सवालों का एक विशाल राशि के साथ बंडल करने की जरूरत नहीं होगी और के बारे में चिंता की जरूरत नहीं होगी प्रश्न खोलने और इकट्ठा करने का तर्क। यह सिर्फ एक PHP पृष्ठ हिट करेगा और भेजे गए पैरामीटर के आधार पर, PHP पृष्ठ XML प्रारूप में प्रश्न वापस करेगा। गेम खेलने के लिए उपयोगकर्ता को ऑनलाइन होना चाहिए (प्रश्नों को पुनर्प्राप्त करने के लिए) और मेरे सर्वर को 24/7 होने और चलाने की आवश्यकता होगी।

क्या किसी ने इस डिज़ाइन मुद्दे का सामना किया है कि एंड्रॉइड ऐप में कितनी मात्रा में डेटा स्टोर किया जाए?

धन्यवाद, किसी भी मदद की बहुत सराहना की जाएगी!

+4

का उपयोग करने का प्रयास करना चाहिए, मुझे लगता है कि विपरीत का भी उल्लेख किया जाना चाहिए: किसी भी नियम को तोड़ना नहीं (विशेष रूप से आपके पहले प्रश्न पर)। एक स्पष्ट, अच्छी तरह लिखित और स्वरूपित प्रश्न के लिए +1 जो अनुसंधान प्रयास और विचार दिखाता है। StackOverflow में आपका स्वागत है। :) –

उत्तर

7

एक विपणन परिप्रेक्ष्य से, मुझे लगता है कि सही दृष्टिकोण # 1 है। बस शीर्ष ऐप सूची को देखकर, यह उन ऐप्स से भरा है जो ऑफ़लाइन काम करते हैं। मुझे नहीं पता कि ज्यादातर लोग मार्केटिंग ऐप्स के बारे में बात करते समय इस महत्वपूर्ण मानदंड का उल्लेख क्यों नहीं करते हैं ... खासकर एंड्रॉइड में, जहां बहुत से लोगों के पास डेटा प्लान नहीं है। इसके अलावा, एक ट्रिविया ऐप ऐसा लगता है कि किसी ऐसे व्यक्ति की तरह लगता है जो किसी ट्रेन में यात्रा के दौरान उपयोग करेगा, क्योंकि फेसबुक चैट जैसी कुछ चीजों के विपरीत जो वे ऑनलाइन होते हैं।

तकनीकी परिप्रेक्ष्य से, 5000+ प्रश्नों को संग्रहीत करने में वास्तव में बड़ी मात्रा में स्थान नहीं लगेगा। इस ऐप को "माईफैथैपल" कहा जाता है। यह पौष्टिक जानकारी के साथ, एसक्यूलाइट डेटाबेस में 30,000 से अधिक खाद्य पदार्थों को स्टोर करता है। तो अधिक अनुमान न करें कि यह कितनी जगह लेगा।

# 2 के साथ जाने का लाभ यह है कि यदि प्रश्न या उत्तर अक्सर बदलते हैं, तो आप उस दृष्टिकोण के साथ जाना चाहेंगे।

+0

हाँ, यह वही है जो मैं सोच रहा था - उपयोगकर्ता के बारे में ऑनलाइन गेम खेलने में सक्षम नहीं है। तो मैं एक हजार प्रश्नों के साथ एक्सएमएल के आकार की जांच कर रहा था और आप सही थे, यह बहुत छोटा है। मैं वास्तव में पूरे डेटाबेस दृष्टिकोण को कम करने की सोच रहा हूं क्योंकि एंड्रॉइड एक्सएमएल फ़ाइल खोलने में कम से कम एक हज़ार काम करता है (कम से कम एक हजार प्रविष्टियों के साथ) और शिकायत किए बिना जानकारी के माध्यम से विश्लेषण करना - जिसे मैं पहले से डरता था। – RaKku

2

मुझे लगता है कि आपके लिए सबसे अच्छा विकल्प SQLite में प्रश्नों को स्टोर करना है। इस तरह उपयोगकर्ताओं को ऑफ़लाइन होने पर भी आपके गेम तक पहुंच हो सकती है, जो कि हिसाका के उल्लेख की जाने वाली महत्वपूर्ण चीजों में से एक है। तो मुझे लगता है कि आपको SQLite.

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