2011-12-16 5 views
0

Je développe l'application pour BlackBerry qui ont la base de données comme back-end. Base de données a des données donc je suis importer cette base de données de la résolution à sdcard il fonctionne parfaitement dans le simulateur. Lorsque j'installe my app into device alors cela ne fonctionne pas ce qui peut être le problème que je ne pouvais pas comprendre. Voici mon code ..Comment copier la base de données dans l'appareil dans Blackberry

appel Méthode

DatabseCopy db=new DatabseCopy(); 
     db.copyFile("/nm.db","file:///SDCard/Databases/nm.db");  

Méthode

public void copyFile(String srFile, String dtFile) 
    { 
     try 
     {     
       FileConnection fconn;      
       fconn = (FileConnection) Connector.open(dtFile,Connector.READ_WRITE); 

       if(!fconn.exists()) // if file does not exists , create a new one 
       { 
         fconn.create(); 
       } 

       InputStream is = (InputStream)this.getClass().getResourceAsStream(srFile); 
       OutputStream os =fconn.openOutputStream(); 
       byte[] buf = new byte[1024]; 
       int len; 
       while ((len = is.read(buf)) > 0) 
       { 
       os.write(buf, 0, len); 
       } 
      is.close(); 
      os.close(); 
     } 
     catch(IOException e) 
     { 
      System.out.println("Exception"+e.getMessage())   ; 
     } 
} 
+0

quelle erreur avez-vous eu? Si vous voulez plus venir ici http://chat.stackoverflow.com/rooms/4014/knowledge-sharing-center-for-blackberry-and-java –

+0

Mieux vaut changer le titre – alishaik786

Répondre

1

Essayez ceci: Avant d'essayer ceci, vous devez vérifier la SDCARD est là ou pas et

System.getProperty ("fileconn.dir.memorycard")

donne directement la voie jusqu'à:

fichier

: /// SDCard/

puis votre nom de fichier ;

private void copyFromResToSDCard() 
{  
    try 
    { 
     InputStream is=(InputStream)getClass().getResourceAsStream("/ManualRecords.db"); 
     FileConnection fileconn=(FileConnection)Connector.open(System.getProperty("fileconn.dir.memorycard")+"ManualRecords.db");//Here set your Path with new fileName.db; 
     if(fileconn.exists()) 
     { 
      fileconn.delete();    
     } 
     fileconn.create(); 
     byte data[]=new byte[is.available()]; 
     data=IOUtilities.streamToBytes(is); 
     OutputStream os=fileconn.openOutputStream(); 
     os.write(data); 
     fileconn.close(); 
     is.close(); 
     os.close(); 
    } 
    catch (Exception e) 
    { 
     System.out.println("=============="+e.getMessage()); 
    } 

} 

Assez;

+0

ça marche ou pas? – alishaik786

+0

oui, c'est ce que je cherche. Merci mon cher. – Hasmukh

Questions connexes