2011-07-11 8 views
11

मैं एंड्रॉइड, आईओएस और ब्लैकबेरी के लिए एक क्रॉस-प्लेटफ़ॉर्म ऐप लागू कर रहा हूं। मैं प्रत्येक प्लेटफार्म के लिए देशी भाषा संस्करणों का उत्पादन करने के लिए फोनगैप का उपयोग कर रहा हूं। मैं जानना चाहता हूं कि SQLite डेटाबेस कैसे बनाएं, एक्सेस करें और खोजें।फोनगैप में SQLite डेटाबेस को कैसे कार्यान्वित करें?

मैंने प्रलेखन में पढ़ा है कि इसे जावास्क्रिप्ट फ़ाइल के माध्यम से बनाया जा सकता है लेकिन मैं जानना चाहता हूं कि उस फ़ाइल को कहां रखा जाए और कोड में इसका संदर्भ कैसे दिया जाए।

उत्तर

13

पर एक नजर डालें लॉन्चेयर (http://brian.io/lawnchair/), इसका उपयोग करना बहुत आसान है और बॉक्स के बाहर संभवतः आपको जो कुछ चाहिए (खोज सहित), यह क्रॉस-ब्राउजर है, युद्ध टी एडेप्टर के उपयोग के माध्यम से अच्छी तरह से गिरावट और गिरावट। ब्लैकबेरी के लिए एक एडाप्टर है, और एक प्लगइन जो प्रश्नों का समर्थन करता है। वेबकिट एडेप्टर का उपयोग करके त्वरित उदाहरण यहां दिया गया है, जो एंड्रॉइड और आईफोन के लिए अच्छा है, यह दिखाने के लिए कि यह कितना आसान है।

<script type="text/javascript" src="Lawnchair.js" charset="utf-8"></script> 
<script type="text/javascript" src="webkit-sqlite.js" charset="utf-8"></script> 

// Open local DB connection 
var lawnchair = new Lawnchair({table:'mytable', adaptor:'webkit'}, function(){ 
    // Lawnchair setup! 
}); 

// Getting some data out of the lawnchair database 
lawnchair.get('my_data_key', function(obj) { 
    if (obj !== undefined) { 
     lastSyncDate = obj.lastSync; 
     dataList = obj.dataList; 
    } 
}); 

// Saving to the database 
lawnchair.save({key:'my_data_key', lastSync: currentTime, dataList: someData}); 
+0

लॉन्चेयर बहुत अच्छा है! –

+0

क्या मैं विंडोज प्लेटफार्म के लिए लॉंचैयर का उपयोग कर सकता हूं? –

12

स्टोरेज पर फोनगैप दस्तावेज़ यहां बहुत स्पष्ट है, और इसमें कुछ उदाहरण कोड शामिल है। स्टोरेज एपीआई को ओपेरा और वेबकिट में इस्तेमाल किए गए एचटीएमएल 5 के तहत विकसित जावास्क्रिप्ट एपीआई पर मॉडलिंग किया गया है। यहाँ प्रासंगिक पृष्ठ है:

मूल 2011 लिंक: http://docs.phonegap.com/phonegap_storage_storage.md.html

2017 अद्यतन: अब सभी पुराने हो चुके हैं, लेकिन इस देखें: http://docs.phonegap.com/en/1.2.0/phonegap_storage_storage.md.html

+0

लिंक अब काम नहीं कर –

+0

@designedbyscott इस पोस्ट में छह साल की है, इसलिए पूरी तरह आश्चर्य की बात नहीं है (और यह जो बहुत बदल गया है PhoneGap का एक बहुत पुराने संस्करण, से संबंधित है)। – Ben

+0

अच्छी तरह से पता है। बस इसे ध्वजांकित करें, क्योंकि यह अभी भी एक प्रमुख पोस्ट है। –

0
**html** 

<input id="show" type="button" value="Show"> 

**js** 

function globalError(tx, error) 
    { 
    alert("Error: " + error.message); 
    } 

var db = window.openDatabase('TabOrder', '', 'Bar Tab Orders', 2500000); 
db.transaction(function(tx) { 
tx.executeSql('DROP TABLE IF EXISTS SubmiteData;', null, null, globalError); 
tx.executeSql('CREATE TABLE IF NOT EXISTS SubmiteData (SubmiteDataId integer 
primary key, UserId text, AuthNo number, LocId number,ProdId number, 
CardId number, OrgLat text, OrgLng text, OrgTime text)', 
      null, 
      function() 
      { 
      SubmiteData("USER1",12345678,23434, 21212, 220232, 
      "9", "45", "23/06/2014"); 

      }, 
      globalError); 
    }); 

function SubmiteData(UserId, AuthNo, LocId,ProdId, CardId, OrgLat, OrgLng, OrgTime){ 
db.transaction(function(tx){ 
tx.executeSql('INSERT INTO SubmiteData(UserId, AuthNo, LocId, ProdId, CardId, 
OrgLat, OrgLng, OrgTime) VALUES (?,?,?,?,?,?,?,?)', [UserId, AuthNo, LocId, 
ProdId, CardId, OrgLat, OrgLng, OrgTime], 
      null, 
      globalError 
      ); 
    }); 
} 


function read(UserId, AuthNo, LocId,ProdId, CardId, OrgLat, OrgLng, OrgTime){ 

db.transaction(function(tx) { 
tx.executeSql('SELECT * FROM SubmiteData', 
     [], 
     function(tx, results) 
     { 
      for (var i=0; i<results.rows.length; i++) 
      { 
       var row=results.rows.item(i); 
       // alert("Id: " + row['UserId']); 
       var stringout = "LocId: " + row['LocId'] + "\n"; 
       alert(stringout); 
      } 
     },     
     globalError 
     ); 
    }); 
}; 

$(function() 
{ 
    $('#show').click(read); 
}); 
संबंधित मुद्दे