ऑफ़लाइन वेब एप्लिकेशन (क्लाइंट-साइड स्टोरेज डेटाबेस) के लिए छवि डेटा संग्रहीत करना


105

मेरे पास appcaching का उपयोग करके एक ऑफ़लाइन वेब एप्लिकेशन है। मुझे इसे लगभग 10MB - 20MB डेटा प्रदान करने की आवश्यकता है, जो मुख्य रूप से PNG छवि फ़ाइलों से मिलकर (क्लाइंट-साइड) बचाएगा। ऑपरेशन इस प्रकार है:

  1. वेब एप्लिकेशन डाउनलोड और appcache में स्थापित (प्रकट का उपयोग करता है)
  2. सर्वर PNG डेटा फ़ाइलों से वेब ऐप अनुरोध (कैसे? - नीचे विकल्प देखें)
  3. कभी-कभी वेब ऐप सर्वर के साथ resyncs, और PNG डेटाबेस के लिए छोटे आंशिक अद्यतन / हटा / जोड़ देता है
  4. FYI करें: सर्वर एक JSON REST सर्वर है, जो पिकअप के लिए wwwroot में फाइल रख सकता है

यहाँ क्लाइंट-आधारित "डेटाबेस" का मेरा वर्तमान विश्लेषण है जो बाइनरी बूँद भंडारण को संभालता है

नीचे देखें

  • AppCache (प्रकट के माध्यम से सभी पीएनजी जोड़ें और फिर मांग पर अपडेट करें)
    • CON: PNG डेटाबेस आइटम के किसी भी परिवर्तन का अर्थ होगा प्रकट में सभी वस्तुओं का पूर्ण डाउनलोड (वास्तव में बुरी खबर!)
  • वेब भंडारण
    • CON: JSON स्टोरेज के लिए डिज़ाइन किया गया
    • कांग्रेस: ​​केवल आधार 64 एन्कोडिंग के माध्यम से ब्लब्स को स्टोर कर सकता है (शायद डी-एन्कोडिंग की लागत के कारण घातक दोष)
    • CON: वेबस्टोरेज के लिए 5MB की हार्ड लिमिट http://htmlui.com/blog/2011-08-23-5-obscure-facts-about-html5-localstorage.html
  • PhoneGap और SQLLite
    • CON: प्रायोजक इसे एक मूल एप्लिकेशन के रूप में खारिज कर देगा जिसमें प्रमाणीकरण की आवश्यकता होगी
  • ज़िप फ़ाइल
    • सर्वर एक ज़िप फ़ाइल बनाता है, इसे wwwroot में रखता है, और क्लाइंट को सूचित करता है
    • उपयोगकर्ता को मैन्युअल रूप से अनज़िप करना होगा (कम से कम यह है कि मैं इसे कैसे देखता हूं) और क्लाइंट फ़ाइल सिस्टम को सहेजें
    • वेब ऐप फाइलों को संदर्भित करने के लिए फाइलसिस्टम एपीआई का उपयोग करता है
    • CON: जिप बहुत बड़ा हो सकता है (zip64?), बनाने में लंबा समय
    • कांग्रेस: ​​यकीन नहीं कि अगर फ़ाइलसिस्टम एपीआई हमेशा सैंडबॉक्स से बाहर पढ़ सकता है (मुझे ऐसा लगता है)
  • यूएसबी या एसडी कार्ड (पाषाण युग में वापस ....)
    • उपयोगकर्ता ऑफ़लाइन होने से पहले सर्वर के लिए स्थानीय होगा
    • तो हम उसे SD कार्ड डाल सकते हैं, सर्वर को PNG फ़ाइलों के साथ भरने दें
    • फिर उपयोगकर्ता इसे लैपटॉप, टैबलेट में प्लग करेगा
    • फ़ाइलों को पढ़ने के लिए वेब ऐप FileSystem API का उपयोग करेगा
    • कांग्रेस: ​​यकीन नहीं कि अगर फ़ाइलसिस्टम एपीआई हमेशा सैंडबॉक्स से बाहर पढ़ सकता है (मुझे ऐसा लगता है)
  • WebSQL
    • कांग्रेस: ​​w3c ने इसे छोड़ दिया है (बहुत बुरा)
    • मैं एक जावास्क्रिप्ट रैपर पर विचार कर सकता हूं जो IndexedDB और WebSQL का उपयोग एक गिरावट के रूप में करता है
  • फ़ाइलसिस्टम एपीआई
    • Chrome बूँद के पढ़ने / लिखने का समर्थन करता है
    • कांग्रेस: ​​IE और फ़ायरफ़ॉक्स के बारे में स्पष्ट नहीं (IE10, गैर-मानक msSave है)
    • caniuse.com IOS और Android समर्थन की रिपोर्ट करता है (लेकिन फिर, क्या यह JSON का सिर्फ r / w है, या इसमें लिखने के लिए पूर्ण ब्लॉब एपीआई शामिल है?
    • कांग्रेस: ​​फ़ायर्फ़ॉक्स लोग फाइलसिस्टम एपीआई को नापसंद करते हैं और यदि वे ब्लब्स को बचाने का समर्थन कर रहे हैं तो स्पष्ट नहीं है: https://hacks.mozilla.org/2012/07/why-no-filesystem-api-in-firefox/
    • प्रो: jsperf के अनुसार ब्लॉब्स के लिए IndexedDB से बहुत तेज़ http://jsperf.com/indexeddb-vs-localstorage/15 (पेज 2)
  • IndexedDB
    • IE10 में अच्छा समर्थन, फ़ायर्फ़ॉक्स (सहेजें, बूँदें पढ़ें)
    • फ़ाइल सिस्टम की तुलना में अच्छी गति और आसान प्रबंधन (हटाता है, अपडेट करता है)
    • प्रो: गति परीक्षण देखें: http://jsperf.com/indexeddb-vs-localstorage/15
    • IndexedDB में छवियों के भंडारण और प्रदर्शन पर यह लेख देखें: https://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/
    • कांग्रेस: ​​मैंने पुष्टि की है कि क्रोम अभी तक बूँद लेखन का समर्थन नहीं करता है (वर्तमान बग, लेकिन स्पष्ट नहीं है कि यह कब तय किया जाएगा)
    • अद्यतन: क्रोम डेवलपर्स पुष्टि करते हैं कि वे डेस्कटॉप और एंड्रॉइड दोनों के लिए इस पर काम कर रहे हैं! अभी तक कोई समयरेखा नहीं।
  • लॉनचेयर जावास्क्रिप्ट रैपर http://brian.io/lawnchair/
    • PRO: IndexedDB, WebSQL या आपके पास जो भी डेटाबेस हो उसके लिए बहुत साफ आवरण (पॉलीफ़िल सोचें)
    • कांग्रेस: ​​बाइनरी ब्लॉब्स को स्टोर नहीं किया जा सकता, केवल डेटा: उरी (बेस 64 एन्कोडिंग) (शायद डी-एन्कोडिंग की लागत के कारण घातक दोष)
  • IndexedDB JQUERY पॉलीफिल https://github.com/axemclion/jquery-indexeddb
    • परशुराम ने कच्चे IndexedDB इंटरफ़ेस के लिए एक अच्छा JQUERY आवरण लिखा है
    • PRO: IndexedDB का उपयोग करके बहुत सरल करता है, मैं Chrome FileSystemAPI के लिए एक शिम / पॉलीफ़िल जोड़ने की उम्मीद कर रहा था
    • कॉन: इसे ब्लॉब्स को संभालना चाहिए, लेकिन मैं इसे काम करने में असमर्थ था
  • idb.filesystem.js http://ericbidelman.tumblr.com/post/21649963613/idb-filesystem-js-bringing-the-html5-filesystem-api
    • एरिक बिडेलमैन @ गूगल ने एक अच्छी तरह से जांच की गई पॉलीफ़िल फ़ाइलस् सिस्टम एपीआई को लिखा है जो अनुक्रमित डीबी को एक गिरावट के रूप में उपयोग करता है
    • प्रो: फाइलसिस्टम एपीआई स्टोरिंग ब्लब्स के लिए अच्छी तरह से अनुकूल है
    • प्रो: फ़ायरफ़ॉक्स और क्रोम पर महान काम करता है
      • PRO: क्लाउड आधारित CouchDB के साथ सिंक्रनाइज़ करने के लिए बहुत अच्छा है
    • कांग्रेस: ​​कोई स्पष्ट क्यों नहीं, लेकिन यह IE10 पर काम नहीं कर रहा है
  • PouchDB जावास्क्रिप्ट लाइब्रेरी http://pouchdb.com/
    • स्थानीय DB के साथ CouchDB सिंक करने के लिए बहुत अच्छा है (या तो WebSQL या IndexedDB का उपयोग करता है (हालांकि मेरी समस्या नहीं है)
    • CON: NO CONS, PouchDB अब सभी हाल के ब्राउज़रों (IE, क्रोम, फ़ायरफ़ॉक्स, मोबाइल पर क्रोम, आदि) और साथ ही कई पुराने ब्राउज़रों के लिए बाइनरी ब्लब्स का समर्थन करता है। ऐसा तब नहीं था जब मैंने पहली बार यह पोस्ट किया था।

नोट: एक डेटा देखने के लिए: पीएनजी की uri एन्कोडिंग मैंने इस पर एक उदाहरण बनाया: http://jsbin.com/ivefak/1/it

वांछित / उपयोगी / असूचीगत विशेषताएँ

  • क्लाइंट पर कोई मूल (EXE, PhoneGap, ObjectiveC, आदि) ऐप (शुद्ध वेब अनुप्रयोग)
  • केवल लैपटॉप के लिए नवीनतम क्रोम, फ़ायरफ़ॉक्स, IE10 पर चलने की आवश्यकता है
  • एंड्रॉइड टैबलेट (IOS भी अच्छा होगा) के लिए एक ही समाधान चाहते हैं लेकिन काम करने के लिए केवल एक ब्राउज़र की आवश्यकता होती है (FF, Chrome, आदि)
  • तेजी से प्रारंभिक DB जनसंख्या
  • आवश्यकता: भंडारण से वेब एप्लिकेशन द्वारा छवियों की बहुत तेज़ पुनर्प्राप्ति (DB, फ़ाइल)
  • उपभोक्ताओं के लिए नहीं है। हम ब्राउज़र को प्रतिबंधित कर सकते हैं, और उपयोगकर्ता को विशेष सेटअप और कार्य करने के लिए कह सकते हैं, लेकिन चलो इसे कम से कम करें

IndexedDB कार्यान्वयन

  • IE, FF और Chrome इसे आंतरिक रूप से कैसे लागू करते हैं, इस पर एक उत्कृष्ट लेख है: http://www.aaron-powell.com/web/indexeddb-storage
  • संक्षेप में:
    • IE इंडेक्सडीडीबी के लिए एक्सचेंज और सक्रिय निर्देशिका के समान डेटाबेस प्रारूप का उपयोग करता है
    • फ़ायरफ़ॉक्स SQLite का उपयोग कर रहा है इसलिए SQL डेटाबेस में NoSQL डेटाबेस को लागू करने की तरह है
    • Chrome (और WebKit) एक कुंजी / मान स्टोर का उपयोग कर रहे हैं जिसकी BigTable में विरासत है

मेरे वर्तमान परिणाम

  • मैंने एक IndexedDB दृष्टिकोण का उपयोग करने के लिए चुना (और Chrome के लिए FileSystemAPI के साथ पॉलीफ़िल जब तक वे बूँद समर्थन नहीं करते हैं)
  • टाइल्स लाने के लिए, मेरे पास एक दुविधा थी क्योंकि JQUERY के लोग इसे AJAX में जोड़ने के बारे में चिंतित हैं
  • मैं फिल पार्सन्स द्वारा XHR2-Lib के साथ गया, जो कि JQUERY .ajax () की तरह है। https://github.com/pmp/xhr2-lib को
  • 100MB डाउनलोड (IE10 4s, Chrome 6s, FireFox 7s) के लिए प्रदर्शन।
  • मुझे अनुक्रमित करने के लिए किसी भी अनुक्रमित डीबीआर को ब्लब्स (लॉनचेयर, पाउचडीबी, जेकरी-इंडेक्सडब, आदि) के लिए काम नहीं मिल सका।
  • मैंने अपना रैपर रोल किया, और प्रदर्शन (IE10 2s, Chrome 3s, FireFox 10s) है
  • FF के साथ, मुझे लगता है कि हम एक गैर-वर्गीय भंडारण के लिए एक संबंधपरक DB (sqllite) का उपयोग करने के प्रदर्शन के मुद्दे को देख रहे हैं
  • ध्यान दें, Chrome में IndexedDB की स्थिति का निरीक्षण करने के लिए बकाया डिबग टूल (डेवलपर टैब, संसाधन) हैं।

अंतिम परिणाम उत्तर के रूप में नीचे पोस्ट किए गए हैं

अपडेट करें

PouchDB अब सभी हाल के ब्राउज़रों (IE, क्रोम, फ़ायरफ़ॉक्स, मोबाइल पर क्रोम, आदि) और साथ ही कई पुराने ब्राउज़रों के लिए बाइनरी ब्लब्स का समर्थन करता है। ऐसा तब नहीं था जब मैंने पहली बार यह पोस्ट किया था।


1
webstorage doesn का समर्थन करता है, लेकिन तार, तो आप base64 अपने imagez सांकेतिक शब्दों में बदलना और उन्हें dataurls के रूप में वापस सेवा कर सकते हैं।
mpm

ठीक है, लेकिन शायद 20MB इमेजरी के लिए इष्टतम (या कोटा के भीतर) नहीं है, कि वास्तव में फिसलन मानचित्र टाइलें हैं, जिन्हें आपको LEAFLET मैप एप्लिकेशन द्वारा ज़ूम और पैन के रूप में तेजी से प्राप्त करने और प्रदर्शित करने की आवश्यकता है।
डॉ.वाईएसजी

आपके द्वारा किया गया शोध काफी मददगार है।
बोगदान कुलीनेच

मेरी बात यह है कि यदि आप png छवियों का उपयोग कर रहे हैं तो आपको बाइनरी ब्लब्स से निपटने की आवश्यकता नहीं है।
mpm

यदि आप मेरे इनपुट को प्रतिबिंबित करने के लिए दस्तावेज़ को अपडेट करते हैं, तो क्या आप सही हैं?
डॉवाईएसजी

जवाबों:


25

पीएनजी फिसलन नक्शे के लिए ऑफ़लाइन ऑफ़लाइन कैश कैश

परिक्षण

  • 171 पीएनजी फाइलें (कुल 3.2MB)
  • प्लेटफ़ॉर्म का परीक्षण किया गया: क्रोम v24, फ़ायरफ़ॉक्स 18, IE 10
  • एंड्रॉइड के लिए क्रोम और एफएफ के साथ भी काम करना चाहिए

वेब सर्वर से प्राप्त करें

  • वेब सर्वर से बूँद डाउनलोड के लिए XHR2 (लगभग सभी ब्राउज़रों पर समर्थित) का उपयोग करना
  • मैं फिल पार्सन्स द्वारा XHR2-Lib के साथ गया, जो कि JQUERY .ajax () की तरह है।

भंडारण

  • IE और FireFox के लिए IndexedDB
  • क्रोम: पॉलीफिल (फाइलसिस्टम एपीआई का उपयोग करके संग्रहित ब्लॉब, इंडेक्सडीडीबी में रखा गया संदर्भ) पॉलीफिल
  • "कैसे ब्राउजर्स इंडेक्सडीडीबी डेटा स्टोर करें" पर एक लेख अवश्य पढ़ें
  • नोट: फ़ायरफ़ॉक्स NOSQL IndexedDB के लिए SQLlite का उपयोग करता है। यह धीमे प्रदर्शन का कारण हो सकता है। (अलग से रखा गया ब्लब)
  • नोट: Microsoft IE एक्स्टेंसिबल स्टोरेज इंजन का उपयोग करता है:
  • नोट: Chrome LevelDB http://code.google.com/p/leveldb/ का उपयोग करता है

प्रदर्शन

  • मैं http://wwwfletjs.com/ का उपयोग कर रहा हूँ मानचित्र टाइल दिखाने के लिए
  • मैंने DB से टाइल की परत लाने के लिए Ishmel Smyrnow द्वारा कार्यात्मक टाइल परत प्लगइन का उपयोग किया
  • मैंने डीबी-आधारित टाइल्स की परत की तुलना विशुद्ध रूप से स्थानीय (लोकलहोस्ट: //) स्टोरेज से की
  • प्रदर्शन में कोई उल्लेखनीय अंतर नहीं है! IndexedDB और स्थानीय फ़ाइलों का उपयोग करने के बीच!

परिणाम

  • Chrome: Fetch (6.551s), स्टोर (8.247s), कुल बीता समय: (13.714s)
  • फ़ायर्फ़ॉक्स: Fetch (0.422s), स्टोर (31.519s), कुल बीता समय: (32.836 सेकंड)
  • आईई 10: Fetch (0.668s), स्टोर: (0.896s), कुल बीता समय: (3.898s)

4

आपकी आवश्यकताओं के लिए मेरा सुझाव है कि दो अन्य के आधार पर एक नया पॉलीफ़िल विकसित करना: फाइलसिस्टम एपीआई इंडेक्सडीडीबी और इंडेक्सडबीडी टू वेबएसडी - सबसे अच्छा विकल्प है।

पहले वाला Chrome (FileSystem API) और फ़ायरफ़ॉक्स (IndexedDB) में ब्लॉब्स के भंडारण के लिए समर्थन सक्षम करेगा, जबकि बाद वाले को Android और iOS ( WebSQL ) के लिए समर्थन प्रदान करना चाहिए । जरूरत है तो बस इन पॉलीफिल को एक साथ काम करने की, और मुझे लगता है कि यह कठिन नहीं है।

एनबी: चूंकि मुझे इस बारे में वेब पर कोई जानकारी नहीं मिल पाई है, इसलिए आपको परीक्षण करना चाहिए कि वेबक्यूएस पॉलीफिल का उपयोग करते हुए ब्लोअर का भंडारण आईओएस और एंड्रॉइड पर काम करेगा या नहीं। ऐसा लगता है कि हालांकि यह काम करना चाहिए:

var sql = ["CREATE TABLE", idbModules.util.quote(storeName), "(key BLOB", createOptions.autoIncrement ? ", inc INTEGER PRIMARY KEY AUTOINCREMENT" : "PRIMARY KEY", ", value BLOB)"].join(" ")

स्रोत


मैं आपके सुझाव की ओर झुक रहा हूं, लेकिन मैं दूसरों से सुनने का इंतजार कर रहा हूं। मेरे पास एंड्रॉइड नहीं है, लेकिन एक jsBin या jsFiddle बनाना अच्छा है और देखें कि एंड्रॉइड पर क्या काम करता है।
डॉ.वाईएसजी

1
ये दोनों बूँद अलग-अलग हैं। जावास्क्रिप्ट में sqlite बूँद अरैस्फ़र है, जबकि js बूँद में sqlite के बराबर नहीं है। बूँदें सरणीबफ़र में परिवर्तित नहीं हो सकती हैं, हालांकि यह संरचनात्मक रूप से क्लोन किया जा सकता है।
क्यॉं तुन

2

मेरे पास कैशिंग उदाहरण हैं (खुले उदाहरण, क्षेत्रों और ज़ोम्स की खोज करें, ऑफ़लाइन स्विच करें और खोजे गए क्षेत्र उपलब्ध होंगे)।

कर रहे हैं map.js- ऑफ़लाइन टाइल, के लिए नक्शा परत storage.js- भंडारण कार्यान्वयन IndexedDB और WebSQL के आधार पर (लेकिन खराब प्रदर्शन के साथ यह सिर्फ परीक्षण कार्यान्वयन)।

  • साइट फ़ाइलों (html, css, js और आदि) के लिए मैं एप्लिकेशन कैश का उपयोग करना पसंद करता हूं।
  • भंडारण के लिए मैं अनुक्रमित DB (समर्थन बूँद), वेब एसक्यूएल (केवल आधार 64), फ़ाइलविकार (समर्थन बूँद, लेकिन केवल क्रोम) का उपयोग करना पसंद करता हूँ। खुलकर भंडारण इसके लिए बड़ा मुद्दा है। आपको सबसे तेज़ कुंजी मान समाधान की आवश्यकता है जो उन सभी को मिलाएगा। मुझे लगता है कि मौजूद समाधान का उपयोग करना अच्छा निर्णय है।
  • लाने के लिए मैंने कॉर्स के साथ कैनवास का इस्तेमाल किया। लेकिन मैं WebWorkers और XHR2 के बारे में सोच रहा हूं और यह कैनवास के बजाय बेहतर हो सकता है क्योंकि विभिन्न ब्राउज़रों और अन्य में CORS के साथ कैनवास में कुछ परेशानी है (उदाहरण के लिए इस शीर्षक को ओपेरा में खराब संग्रहीत किया गया था )।

2 बिलियन शहर ( मिन्स्क ) के आकारों की अतिरिक्त जानकारी :

  • ज़ूम - 9, टाइल्स - 2, आकार - 52 केबी, पिछले के साथ - 52 केबी;
  • ज़ूम - 10, टाइल्स - 3, आकार - 72 केबी, पिछले के साथ - 124 केबी;
  • ज़ूम - 11, टाइल्स - 7, आकार - 204 केबी, पिछले के साथ - 328 केबी;
  • ज़ूम - 12, टाइल्स - 17, आकार - 348 केबी, पिछले के साथ - 676 ​​केबी;
  • ज़ूम - 13, टाइल्स - 48, आकार - 820 केबी, पिछले के साथ - 1.5 एमबी;
  • ज़ूम - 14, टाइलें - 158, आकार - 2.2 एमबी, पिछले के साथ - 3.7 एमबी;
  • ज़ूम - 15, टाइलें - 586, आकार - 5.5 एमबी, पिछले के साथ - 9.3 एमबी;
  • ज़ूम - 16, टाइल्स - 2264, आकार - 15 एमबी, पिछले के साथ - 24.3 एमबी;

मुझे लगता है कि उन slippy EGPS3857 प्रारूप में JPG टाइल सही हैं? चूंकि मैं लीफलेट का उपयोग कर रहा हूं और रिस्टर ऑवेल्स कर रहा हूं इसलिए मुझे पीएनजी के साथ जाना पड़ा। PouchDB (जो IDB नीचे का उपयोग करता है) का उपयोग करने के मेरे डेमो की भी जाँच करें। stackoverflow.com/questions/16721312/…
DrYSG

अरे हाँ, आप फ्लाई पर कैशिंग कर रहे हैं, लेकिन क्या आप जानते हैं कि मैं 10 या 11 या 12 ज़ूम करने के लिए पूर्व-निर्मित ओएसएम मैप (दुनिया चौड़ा) प्राप्त करने के लिए कहां जा सकता हूं? हम इसे अपने ऑफ़लाइन सर्वर पर रखेंगे।
डॉ। वाईएसजी

नहीं, PNGडिफ़ॉल्ट प्रोजेक्शन (ईजीपीएस: 3857) के साथ उपयोग किया जाता है, लेकिन कोई बात नहीं JPEGया PNGक्योंकि यह imgटैग या द्वारा उपयोग किया जाता है canvas। मेरे उदाहरण से आप टाइल्स को प्रीलोड कर सकते हैं यदि आप टाइल कीज़ ( storage.add('x_y_z', 'data:image/png;base64,...')प्रत्येक संग्रहीत टाइल के लिए) जानते हैं , लेकिन आप हमेशा उन्हें प्राप्त कर सकते हैं यदि आपको बस सीमा (बहुभुज) और ज़ूम पता हो।
tbicr

मैं यह सुनिश्चित करना चाहता हूं कि हमारे पास भाषा की समस्या नहीं है। क्या आपके पास कोई ऐसी जगह है जिससे हम 10 के स्तर तक ज़ूम करने के लिए फिसलनदार टाइल्स (PNG या JPG) का विश्वव्यापी OSM सेट प्राप्त कर सकते हैं?
डॉ। वाईएसजी

आप टाइल्स फॉर्म tile.osm.org(मेपनी रेंडरर) प्राप्त कर सकते हैं । उदाहरण के लिए http://tile.openstreetmap.org/10/590/329.png( zoom/ x/ y.png)। इस टाइल में Access-Control-Allow-Origin: *हेडर हैं ताकि आप उन्हें अजाक्स द्वारा प्राप्त कर सकें या कैनवास द्वारा डेटा यूरी (बेस 64) प्राप्त कर सकें। आप पहले से ही अपने साथ टाइल्स डाउनलोड कर सकते हैं manifest.json {id: 0-0-0}, लेकिन क्या आप वाकई चाहिए कि है सही zoom, x, yअनुक्रम।
tbicr

1

कुछ साल पहले (बिल्कुल पत्थर की उम्र नहीं), मैं एक हस्ताक्षरित जावा एप्लेट का उपयोग कर रहा था जो अपने सर्वर को सिंक्रनाइज़ / अपडेट करने की आवश्यकताओं के लिए क्वेरी करेगा, सर्वर से उपयुक्त फाइलें डाउनलोड करेगा और उन्हें उपयोगकर्ता के फाइल सिस्टम (डेटाबेस नहीं) पर बचाएगा। वह समाधान आपके लिए काम कर सकता है, हालाँकि आपको किसी को एप्लेट लिखने और उस पर हस्ताक्षर करने की आवश्यकता होगी। डेटाबेस सॉल्यूशंस के लिए, इस तरह के एपलेट एक उपयुक्त पोर्ट (जैसे MySQL के लिए 3306) पर लोकलहोस्ट का उपयोग करके अधिकांश डेटाबेस के लिए उपलब्ध jdbc का उपयोग कर सकते हैं। मेरा मानना ​​है कि एप्लेट टैग Html5 में पदावनत है, लेकिन यह अभी भी काम करता है। एंड्रॉइड टैबलेट पर कोई अनुभव नहीं है, इसलिए उस हिस्से पर टिप्पणी नहीं कर सकते।


1
मैंने 1968 में कार्ड-पंच का उपयोग करके फोरट्रान में प्रोग्रामिंग शुरू की थी। इसलिए पत्थरबाजी के समाधान मेरे लिए नए नहीं हैं।
डॉ.वाईएसजी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.