SQLite

2012-02-18 11 views
7

मुझे लगता है कि SQLite का उपयोग करेगा मेरी पहली Android एप्लिकेशन बना रहा हूं में डाटा स्टोर करने बाकी का उपयोग करना। मैं एक mysql डेटाबेस बनाने वर्डप्रेस के साथ उपयोग करने के लिए के लिए छोड़कर डेटाबेस के साथ शून्य अनुभव है, ...SQLite


संपादित करें: बाकी के बारे में कुछ शोध करने के बाद, मैं अभी भी कैसे बाकी है, SQLite, और एंड्रॉयड देव लेकर संदेह में हूँ साथ जमाये हुये। मेरा लक्ष्य एक यूआरएल के माध्यम से एक आराम आधारित वेब सेवा तक पहुंचने और कुछ डेटासेट तक पहुंचने के लिए है, फिर उन्हें अपने एसक्यूलाइट डेटाबेस में स्टोर करें। फिर मैं अपने जावा प्रोग्राम के माध्यम से डेटाबेस की सामग्री तक पहुंच बनाना चाहता हूं, और तदनुसार उनका उपयोग करना चाहता हूं।

डेटासेट को CSV format में व्यक्तिगत रूप से डाउनलोड किया जा सकता है, लेकिन क्योंकि मैं उनमें से बहुत से उपयोग कर रहा हूं, मैं व्यक्तिगत रूप से प्रत्येक पंक्ति से गुजरना नहीं चाहता हूं और उन्हें डेटाबेस में संग्रहीत नहीं करना चाहता हूं। मुझे आशा है कि डेटाबेस में इन डेटासेट को स्टोर करने का एक और अधिक प्रभावी तरीका है।

मेरा मुख्य सवाल कर रहे हैं:

  • मैं अपने SQLite डेटाबेस में एक यूआरएल से किसी वेबपेज का एक्सएमएल सामग्री की प्रतिलिपि कर सकते हैं? क्या मैं इसे अपने जावा प्रोग्राम के साथ, एसक्लाइट डेटाबेस, या जावा लाइब्रेरी के माध्यम से कर सकता हूं?
  • मैं केवल SQLite डेटाबेस एक बार में यूआरएल से वेबपेजों की सामग्री की प्रतिलिपि की जरूरत है? यदि हां, तो डेटासेट में कोई जानकारी बदली जाने पर मैं क्या कर सकता हूं?

उत्तर

5

आपको पहले अपने sqllite DB के लिए एक स्कीमा की जरूरत है। उस स्कीमा को वेब सेवा के पीछे वस्तुओं को मैप करना चाहिए। उदाहरण के लिए, यदि वेब पर कोई व्यक्ति इकाई है तो आपको अपने डीबी में एक व्यक्ति तालिका की आवश्यकता है। यह इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं।

जब आप स्कीमा को डिजाइन किया जाता है, तो आप कोड है कि आप & एंड्रॉयड पर डीबी प्रबंधन बनाने में मदद कर लेखन शुरू कर देना चाहिए। यह SQLiteOpenHelper क्लास की मदद से किया जाता है: http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

यदि आपको क्लाउड (वेब ​​सेवाओं) पर डेटा के साथ डीबी synce'd रखने की आवश्यकता है, तो आपको सिंक लागू करना चाहिए। एंड्रॉइड एक बहुत ही कुशल सिंक ढांचा प्रदान करता है।http://www.youtube.com/watch?v=xHXn3Kg2IQE

ध्यान दें, वास्तव में वेब सेवा से डेटा प्राप्त करने का आप UrlConnection एपीआई का प्रयोग करेंगे:: http://developer.android.com/reference/java/net/URLConnection.html

यह नमूना शायद कैप्चर

इसके अलावा, सर्वोत्तम प्रथाओं समझा एंड्रॉयड इंजीनियरों से इस वीडियो को देखने करना बहुत हद तक। http://developer.android.com/resources/samples/SampleSyncAdapter/index.html

+0

धन्यवाद, इन संदर्भों ने मेरे सभी प्रश्नों का उत्तर दिया !! – mdegges

0

मैं अपने पहले प्रश्न का उत्तर दे सकता हूं "मुझे यकीन नहीं है कि उन्हें कुशलतापूर्वक कैसे जोड़ना है"? हां, एसक्यूलाइट बहुत शक्तिशाली और बुद्धिमान है, आप पारंपरिक लेनदेन की तरह, एक लेनदेन में हजारों रिकॉर्ड जोड़ सकते हैं, यह प्रदर्शन में काफी सुधार करता है।

मेरी समझ के रूप में दूसरा सवाल, के बारे में

, क्योंकि सीवीएस फ़ाइल, बहुत सरल है ताकि आप डाउनलोड करने और खुद ही यह विश्लेषण कर सकते हैं।

3

CSV फ़ाइलों को पढ़ने के संदर्भ में, वहाँ कुछ अच्छे संसाधन यहां हैं:

Can you recommend a Java library for reading (and possibly writing) CSV files?

एक बार जब आप एक वस्तु में प्रत्येक CSV लाइन को पढ़ लिया है, तो आप बिलकुल पलट गया और यह बच सकते हैं डेटाबेस में। मैं ORMLite का लेखक हूं इसलिए मैं इसका उपयोग करने के बारे में बात करूंगा। मुझे विश्वास नहीं है कि एंड्रॉइड के लिए एक हाइबरनेट पोर्ट है।

ORMLite साथ गति पकड़ पाने के लिए मदद करने के लिए Android examples के एक नंबर रहे हैं। some good tutorials भी। यदि आप एक साथ कई पंक्तियां लिखना चाहते हैं तो मैं बैच कार्यों ORMLite सुविधा का उपयोग करने की अनुशंसा करता हूं। जानकारी के लिए, मेलिंग सूची पर discussion about creating lists of objects देखें।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। जब मैंने कल अपना प्रश्न पोस्ट किया तो मुझे यह नहीं पता था, लेकिन वेबसाइट पर एक एपीआई है जो डेटासेट तक पहुंच प्रदान करने के लिए बाकी का उपयोग करती है। क्योंकि ऐसे कई बड़े डेटासेट हैं जिन्हें मुझे उपयोग करने की आवश्यकता है, और अब मुझे पता है कि एक विशिष्ट एपीआई है, मैंने तदनुसार अपना प्रश्न अपडेट किया। – mdegges

+0

मैंने एक और सवाल बनाया होगा क्योंकि अब मेरा जवाब कोई समझ नहीं आता है। @mdegges – Gray