2016-02-09 7 views
6

मैं रियलम का उपयोग कर अपने एंड्रॉइड एप्लिकेशन के लिए डेटाबेस बनाने की कोशिश कर रहा हूं। मुझे उस डेटा की आवश्यकता है जो ऐप इंस्टॉल होने पर पूर्व-जनसंख्या वाला हो। RealmConfiguration के हिस्से के रूप में एक Realm माइग्रेशन सेट करना तब नहीं चलता है जब डेटाबेस का संस्करण 0 है (प्रारंभ में 0 से डिफ़ॉल्ट)। पहली बार एप्लिकेशन सेटअप होने पर मैं डेटा कैसे जोड़ सकता हूं?मैं अपने एंड्रॉइड ऐप के प्रारंभिक डेटा के साथ एक रियलम डेटाबेस कैसे बना सकता हूं?

उत्तर

0

मैं अभी क्या कर रहा हूं कि यह काम करना है कि यह जांचने के लिए कि यह पहली बार मेरा ऐप इंस्टॉल है या कोई नई वस्तु बना है या नहीं।

if (Preferences.freshInstall(getApplicationContext())) { 
     Realm realm = Realm.getDefaultInstance(); 
     realm.beginTransaction(); 
     Category inbox = new Category("Inbox", "#445566"); 
     realm.copyToRealm(inbox); 
     realm.commitTransaction(); 
     Preferences.notNew(getApplicationContext()); 
    } 

इस क्षेत्र का उपयोग कर ऐसा करने के लिए एक बेहतर तरीका होनी चाहिए माइग्रेशन

+0

माइग्रेशन डेटाबेस को पूर्व पॉप्युलेट करने के लिए नहीं हैं। वरीयताओं में एक बूलियन का ट्रैक रखना संभवतः सबसे आसान है यदि आप ऐप के साथ एक पूर्व पॉप्युलेट फ़ाइल नहीं भेजना चाहते हैं। उसने कहा कि पहली बार डेटा प्रदान करने का कोई तरीका जोड़ने से रीयलम बनाया जाता है जैसे उपयोग के मामले में हम बेहतर समर्थन कर सकते हैं। –

6

क्षेत्र जावा 0.89 एक विधि है कि एक सौदे को निर्दिष्ट जब एक क्षेत्र डेटाबेस पहली बार के लिए बनाई गई है चलाने के लिए अनुमति देता है की शुरुआत की। इस विधि, RealmConfiguration.Builder.initialData(Realm.Transaction transaction), को RealmConfiguration बिल्डर स्थापित करने के हिस्से के रूप में जाना जाता है।

उदाहरण

RealmConfiguration config = new RealmConfiguration.Builder(context) 
    .name("myrealm.realm") 
    .initialData(new MyInitialDataRealmTransaction()), 
    .build(); 
0

प्रारंभिक डेटा लेन-देन सेटअप के लिए, के रूप में क्षेत्र जावा में @Benjamin द्वारा दिखाए गए काम करता है ! मैं केवल यह चाहता हूं कि यह रियलम कोको में भी मौजूद था।

मैंने गिटब ट्रैकर here, #3877 में इसके लिए कोई समस्या बनाई है।

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

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