{"id":2154,"date":"2016-02-08T14:36:39","date_gmt":"2016-02-08T14:36:39","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2154"},"modified":"2025-10-09T07:20:34","modified_gmt":"2025-10-09T14:20:34","slug":"mobile-1-2-enable-forestdb","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/mobile-1-2-enable-forestdb\/","title":{"rendered":"Couchbase Mobile 1.2: Habilitando o ForestDB para iOS e Android"},"content":{"rendered":"<h3><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/screen-shot-2016-01-30-at-12.36.48-am.png\" \/>Couchbase Mobile 1.2<\/h3>\n<p style=\"text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #333333;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">O <\/span><a style=\"text-decoration: none\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/announcing-couchbase-mobile-1.2\/\">nova vers\u00e3o<\/a> <span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">do Couchbase Mobile 1.2, agora dispon\u00edvel para <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/#couchbase-mobile\">download<\/a><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">A solu\u00e7\u00e3o ForestDB, da Microsoft, oferece melhorias significativas no desempenho do mecanismo de armazenamento local do lado do cliente para dispositivos m\u00f3veis. Mais especificamente, a integra\u00e7\u00e3o mais recente do ForestDB como o novo mecanismo de armazenamento projetado para oferecer suporte a v\u00e1rios sistemas operacionais m\u00f3veis e de servidor.<\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> No lado do servidor,<\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/\">Servidor Couchbase 4.1<\/a><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> completa a hist\u00f3ria do celular com<\/span><a style=\"text-decoration: none\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/#couchbase-mobile\">Gateway de sincroniza\u00e7\u00e3o 1.2<\/a><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> correndo entre os<\/span><a style=\"text-decoration: none\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/#couchbase-mobile\"> Couchbase Lite 1.2<\/a><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> cliente m\u00f3vel. <\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Neste blog, explorarei o ForestDB, examinarei os benef\u00edcios e compartilharei como os desenvolvedores podem ativar esse recurso em seus aplicativos.<\/span><\/p>\n<h3>ForestDB<\/h3>\n<p style=\"text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">O que<\/span><a style=\"text-decoration: none\" href=\"https:\/\/github.com\/couchbase\/forestdb\"> ForestDB<\/a><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> O ForestDB fornece para o Couchbase Lite \u00e9 uma biblioteca de armazenamento persistente de chave-valor em que o mapeamento de chave e valor s\u00e3o blobs bin\u00e1rios. O ForestDB \u00e9 um mecanismo de armazenamento de chave\/valor de baixo n\u00edvel e pertence \u00e0 mesma fam\u00edlia do<\/span><a style=\"text-decoration: none\" href=\"https:\/\/en.wikipedia.org\/wiki\/Berkeley_DB\"> BD de Berkeley<\/a> e <a href=\"https:\/\/en.wikipedia.org\/wiki\/LevelDB\"> LevelDB<\/a><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">. Como desenvolvedor, voc\u00ea pode obter e definir valores adequadamente, bem como enumerar as chaves em ordem lexicogr\u00e1fica.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt;text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Para entender melhor e saber mais sobre o mecanismo de armazenamento de \u00faltima gera\u00e7\u00e3o do Couchbase, <\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">veja esta apresenta\u00e7\u00e3o de<\/span> <a href=\"https:\/\/twitter.com\/chiyoungseo\"> Chiyoung Seo <\/a> <span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">no Couchbase Connect 2015:<\/span><\/p>\n<p style=\"text-align: center\">\n<h3 style=\"text-align: justify\">Benef\u00edcios<\/h3>\n<p style=\"text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Aqui est\u00e3o algumas das melhorias de desempenho do novo sistema de armazenamento para o Couchbase Lite 1.2:<\/span><\/p>\n<ul>\n<li style=\"text-align: justify\">Velocidade mais r\u00e1pida - isso varia de acordo com o aplicativo, mas observamos uma melhoria de 2x a 5x em tarefas como inser\u00e7\u00e3o e consulta de documentos.<\/li>\n<li style=\"text-align: justify\">Melhor simultaneidade - um thread de grava\u00e7\u00e3o (como o replicador) nunca bloqueia os leitores (como o thread da GUI). Isso ajuda a manter a capacidade de resposta do aplicativo.<\/li>\n<li style=\"text-align: justify\">Menor consumo de RAM - os caches de dados s\u00e3o compartilhados entre os threads, reduzindo a sobrecarga de ter v\u00e1rios threads acessando um banco de dados, como ocorre durante a replica\u00e7\u00e3o.<\/li>\n<li style=\"text-align: justify\">Compacta\u00e7\u00e3o autom\u00e1tica do banco de dados - a compacta\u00e7\u00e3o do banco de dados (que libera espa\u00e7o em disco) \u00e9 executada em segundo plano, sem bloquear outros threads, e \u00e9 agendada automaticamente sempre que houver espa\u00e7o suficiente para recupera\u00e7\u00e3o.<\/li>\n<\/ul>\n<h3 style=\"text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Dependendo da opera\u00e7\u00e3o e do conjunto de dados envolvidos, <\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">pode haver um aumento de at\u00e9 5 vezes na velocidade, bem como,<\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> melhor gerenciamento de concorr\u00eancia, em que o gravador nunca bloqueia os leitores. Como os caches de dados s\u00e3o compartilhados entre os threads, agora vemos um menor consumo de RAM. <\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Isso \u00e9 complementado pela compacta\u00e7\u00e3o autom\u00e1tica do banco de dados e pela presen\u00e7a em segundo plano.<\/span> <span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Voc\u00ea pode ler mais sobre<\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> os benchmarks do ForestDB e os resultados dos testes de desempenho visitando o site de Cihan Biyikoglu <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/next-generation-storage-engine-couchbase-server-and-couchbase-lite-forestdb-now-available-beta\/\"> blog <\/a><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> no mecanismo de armazenamento de pr\u00f3xima gera\u00e7\u00e3o para o Couchbase Server e o Couchbase Lite.<\/span><\/h3>\n<h3 style=\"text-align: justify\">Come\u00e7ar a usar<\/h3>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Nas vers\u00f5es anteriores, <\/span><a href=\"https:\/\/en.wikipedia.org\/wiki\/SQLite\">SQLite<\/a> <span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">era o mecanismo de armazenamento dispon\u00edvel para o Coucbase Lite.<\/span> <span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Embora o SQLite continue sendo o padr\u00e3o no momento, para o Couchbase Mobile 1.2 h\u00e1 um pacote opcional na biblioteca do projeto Couchbase Lite para ativar o ForestDB.<\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> O projeto inicial do GrocerySync para iOS e Android com componentes do ForestDB pode ser baixado de<\/span> <a href=\"https:\/\/github.com\/couchbaselabs\/GrocerySync-Android\">GitHub<\/a> no ramo espec\u00edfico.<\/p>\n<h3>Ativar o ForestDB<\/h3>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Agora vou falar sobre como habilitar <\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">ForestDB em nossos projetos de aplicativos m\u00f3veis para aproveitar os novos benef\u00edcios. Observe que, se voc\u00ea tiver um projeto anterior usando uma vers\u00e3o anterior do Couchbase Lite, os arquivos de banco de dados existentes n\u00e3o ser\u00e3o convertidos. \u00c9 aqui que um banco de dados apoiado em SQLite continuar\u00e1 <\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">usando o SQLite por padr\u00e3o porque o formato do tipo de banco de dados \u00e9 estabelecido no in\u00edcio da cria\u00e7\u00e3o do projeto. O banco de dados existente sempre ser\u00e1 aberto com o mesmo mecanismo de armazenamento que o criou.<\/span> <span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Fique atento aos futuros blogs que abordar\u00e3o como migrar isso.<\/span><\/p>\n<h4 style=\"text-align: justify\">iOS:<\/h4>\n<h4 style=\"text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">A seguir, descrevemos<\/span><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\"> as etapas necess\u00e1rias para ativar o mecanismo de armazenamento ForestDB em seu projeto iOS. Primeiro, mova ou copie o arquivo da biblioteca \"CouchbaseLite.framework\" encontrado no diret\u00f3rio<\/span> <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/dl\/releases\/couchbase-lite\/ios\/1.2.0\/couchbase-lite-ios-enterprise_1.2.0-112.zip\/\">couchbase-lite-ios-enterprise_1.2.0-112<\/a> <span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">ZIP na pasta do projeto do aplicativo iOS ou na subpasta Frameworks do projeto do aplicativo iOS. A partir da\u00ed, arraste a vers\u00e3o 1.2 do CouchbaseLite.framework para o projeto para evitar a cria\u00e7\u00e3o de uma refer\u00eancia em seu projeto a algum outro caminho do sistema de arquivos. Isso permite que a estrutura esteja dispon\u00edvel em todos os computadores.<\/span><\/h4>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">A pasta Frameworks agora deve conter o arquivo CouchbaseLite.framework. Em seguida, arraste o arquivo libCBLForestDBStorage.a para que ambos os destaques verdes estejam dispon\u00edveis em sua pasta Frameworks.<\/span><\/p>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">A biblioteca do sistema libc++dylib precisa ser vinculada e, para isso, entraremos no editor \"Build Phases\" do destino. Clique no s\u00edmbolo \"+\" na se\u00e7\u00e3o \"Link Binary with Libraries\" (Vincular bin\u00e1rio com bibliotecas) e selecione o arquivo de interesse em \"\/usr\/lib\/\" ou simplesmente digite \"c++\" no campo de filtro do seletor de bibliotecas e \"libc++\" ser\u00e1 exibido.<\/span><\/p>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">O caminho do arquivo pode ser semelhante ao seguinte:<\/span><\/p>\n<p style=\"text-align: justify\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/screen-shot-2016-01-28-at-2.45.17-pm.png\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/screen-shot-2016-01-28-at-2.48.42-pm.png\" \/><\/p>\n<ul>\n<li style=\"text-align: justify\">No Xcode, abra a tela Build Phases do seu aplicativo de destino e abra a se\u00e7\u00e3o Link Binary With Libraries.<\/li>\n<li style=\"text-align: justify\">Arraste libCBLForestDBStorage.a da pasta do sistema de arquivos (para onde voc\u00ea a arrastou anteriormente) para a lista na se\u00e7\u00e3o Link Binary With Libraries.<\/li>\n<li style=\"text-align: justify\">Clique no s\u00edmbolo \"+\" abaixo da lista de bibliotecas para abrir o seletor de bibliotecas. Digite \"c++\" no campo de filtro, e a \"libc++\" ser\u00e1 exibida. Selecione-a e adicione-a.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/screen-shot-2016-01-28-at-1.11.40-pm.png\" \/><\/p>\n<ul>\n<li>Agora, crie seu projeto; ele dever\u00e1 ser bem-sucedido.<\/li>\n<\/ul>\n<p>O ForestDB agora est\u00e1 dispon\u00edvel, mas n\u00e3o est\u00e1 definido como o tipo de armazenamento padr\u00e3o, de modo que os novos bancos de dados ainda ser\u00e3o criados com o SQLite. Para alterar isso, defina a propriedade storageType da inst\u00e2ncia do CBLManager antes de abrir qualquer banco de dados.  Por exemplo, voc\u00ea pode adicionar o c\u00f3digo destacado em verde:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/libc.png\" \/>A partir do qual a classe CBLManager pode ser referenciada para especificar a propriedade \"storageType\" como sendo ForestDB.  \u00c9 assim que habilitamos o projeto iOS para usar agora o sistema de armazenamento ForestDB.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/screen-shot-2016-01-28-at-2.19.13-pm.png\" \/><\/p>\n<p style=\"text-align: justify\">Para o projeto de aplicativo de amostra espec\u00edfico, navegue at\u00e9 o arquivo \"AppDelegate.m\" e, no m\u00e9todo \"createDatabase\", especifique a propriedade storageType.  Mas, normalmente, isso depende da estrutura do c\u00f3digo do seu aplicativo e, em geral, est\u00e1 na classe delegada do aplicativo.  V\u00e1 at\u00e9 o local em seu projeto ou c\u00f3digo em que instanciou a classe CBLManager e, logo em seguida, adicione uma linha para definir sua propriedade storageType, assim:<\/p>\n<pre><code class=\"\u201cobjective-c\">  - (void)createDatabase {\r\n    CBLManager* manager = [CBLManager sharedInstance];\r\n    manager.storageType= @\"ForestDB\";\r\n    NSError *error;\r\n    _database = [[CBLManager sharedInstance] databaseNamed:@\"todosapp\" error:&amp;error];\r\n}<\/code><\/pre>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Agora estamos prontos para criar e executar o aplicativo para que nosso aplicativo m\u00f3vel use o ForestDB como mecanismo de armazenamento.<\/span><\/p>\n<h4>Android:<\/h4>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Veja a seguir as etapas necess\u00e1rias para ativar o armazenamento do ForestDB em seu projeto Android.<\/span><\/p>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Em seu projeto Android, o arquivo build.gradle do n\u00edvel do m\u00f3dulo precisaria fazer refer\u00eancia ao Couchbase Lite vers\u00e3o 1.2, al\u00e9m de incluir explicitamente o ForestDB como um mecanismo de armazenamento no n\u00edvel de depend\u00eancia. As depend\u00eancias agora incluiriam:<\/span><\/p>\n<p><!--cke_bookmark_4747S--><\/p>\n<pre><code class=\"bash language-bash\">compile 'com.couchbase.lite:couchbase-lite-android:1.2.0'\r\ncompile 'com.couchbase.lite:couchbase-lite-android-forestdb:1.2.0'\r\n<\/code><\/pre>\n<p><!--cke_bookmark_4747E--><\/p>\n<p>E, em geral, o arquivo build.gradle deve ter a seguinte apar\u00eancia:<img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/screen-shot-2016-01-28-at-3.17.20-pm.png\" \/><\/p>\n<p style=\"text-align: justify\">Voc\u00ea pode consultar o <a href=\"https:\/\/github.com\/couchbaselabs\/GrocerySync-Android\/blob\/release\/1.2.0-forestdb\/GrocerySync-Android\/build.gradle\">build.gradle<\/a> do GitHub.  Agora, em nosso arquivo \"MainActivity.java\", o que h\u00e1 de novo no Couchbase Lite 1.2 para Android \u00e9 que agora existe a classe \"DatabaseOptions\", na qual especificamos as propriedades como \".setStorageType\".<\/p>\n<p style=\"text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Para ativar o ForestDB em nosso aplicativo Android, agora precisamos passar o par\u00e2metro ForestDB_Storage para a fun\u00e7\u00e3o \"setStorageType\" para mudar o tipo de armazenamento de SQLite para ForestDB.  Veja abaixo como isso \u00e9 feito:<\/span><\/p>\n<pre><code class=\"java language-java\">manager = new Manager(new AndroidContext(getApplicationContext()), Manager.DEFAULT_OPTIONS);\r\n\r\n\/\/install a view definition needed by the application\r\nDatabaseOptions options = new DatabaseOptions();\r\noptions.setCreate(true);\r\noptions.setStorageType(Manager.FORESTDB_STORAGE);\r\ndatabase = manager.openDatabase(DATABASE_NAME, options);<\/code><\/pre>\n<p><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Abaixo, no aplicativo de amostra GrocerySync, vemos onde fazemos refer\u00eancia \u00e0 propriedade \"setStorageType\" no m\u00e9todo startCBLite():<\/span><\/p>\n<p style=\"text-align: justify\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/mobile-1.2-enable-forestdb\/screen-shot-2016-01-28-at-3.46.07-pm.png\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-size: 14.666666666666666px;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline\">Ent\u00e3o, a\u00ed est\u00e1, o Couchbase Mobile 1.2 vem com o ForestDB como o novo mecanismo de armazenamento e aprendemos como ativar o recurso a partir da solu\u00e7\u00e3o padr\u00e3o do SQLite. Exploraremos mais a fundo o Couchbase Mobile 1.2, incluindo t\u00f3picos de criptografia e desempenho em blogs posteriores.<\/span>\u00a0 N\u00e3o deixe de fazer o download do novo <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/nosql-databases\/downloads\/#couchbase-mobile\">Couchbase Mobile 1.2<\/a> e conecte-se conosco em nosso <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/c\/mobile\/\">F\u00f3runs de desenvolvedores m\u00f3veis<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Couchbase Mobile 1.2 The new release of Couchbase Mobile 1.2, now available for download, delivers significant improvements around performance on the local client side storage engine for mobile devices. More specifically, the latest integration of ForestDB as the new storage [&hellip;]<\/p>","protected":false},"author":30,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2370,7667,1810,9410],"tags":[1536],"ppma_author":[8983],"class_list":["post-2154","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-couchbase-lite","category-couchbase-mobile","category-objective-c","tag-ios"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/mobile-1-2-enable-forestdb\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android\" \/>\n<meta property=\"og:description\" content=\"Couchbase Mobile 1.2 The new release of Couchbase Mobile 1.2, now available for download, delivers significant improvements around performance on the local client side storage engine for mobile devices. More specifically, the latest integration of ForestDB as the new storage [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/mobile-1-2-enable-forestdb\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-08T14:36:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:20:34+00:00\" \/>\n<meta name=\"author\" content=\"William Hoang, Mobile Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Hoang, Mobile Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/\"},\"author\":{\"name\":\"William Hoang, Mobile Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32\"},\"headline\":\"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android\",\"datePublished\":\"2016-02-08T14:36:39+00:00\",\"dateModified\":\"2025-10-09T14:20:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/\"},\"wordCount\":1182,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"ios\"],\"articleSection\":[\"Android\",\"Couchbase Lite\",\"Couchbase Mobile\",\"Objective-C\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/\",\"name\":\"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-02-08T14:36:39+00:00\",\"dateModified\":\"2025-10-09T14:20:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32\",\"name\":\"William Hoang, Mobile Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/650445f1ea30314c4f3555dd680154f5\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g\",\"caption\":\"William Hoang, Mobile Developer Advocate, Couchbase\"},\"description\":\"William was a Developer Advocate on the Mobile Engineering\/Developer Experience team at Couchbase. His love for coffee and code has transcended him into the world of mobile while appreciating the offline in-person experiences. Prior, William worked on the Developer Relations team over at Twitter, BlackBerry, and Microsoft while also having been a Software Embedded GPS engineer at Research In Motion. William graduated from McGill University in Electrical Software Engineering\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/william-hoang\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/mobile-1-2-enable-forestdb\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android","og_description":"Couchbase Mobile 1.2 The new release of Couchbase Mobile 1.2, now available for download, delivers significant improvements around performance on the local client side storage engine for mobile devices. More specifically, the latest integration of ForestDB as the new storage [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/mobile-1-2-enable-forestdb\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-02-08T14:36:39+00:00","article_modified_time":"2025-10-09T14:20:34+00:00","author":"William Hoang, Mobile Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"William Hoang, Mobile Developer Advocate, Couchbase","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/"},"author":{"name":"William Hoang, Mobile Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32"},"headline":"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android","datePublished":"2016-02-08T14:36:39+00:00","dateModified":"2025-10-09T14:20:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/"},"wordCount":1182,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["ios"],"articleSection":["Android","Couchbase Lite","Couchbase Mobile","Objective-C"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/","url":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/","name":"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-02-08T14:36:39+00:00","dateModified":"2025-10-09T14:20:34+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/mobile-1-2-enable-forestdb\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Mobile 1.2: Enabling ForestDB for iOS and Android"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/425717456c198fdf9aaa5d7a6d42ad32","name":"William Hoang, defensor do desenvolvedor m\u00f3vel, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/650445f1ea30314c4f3555dd680154f5","url":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","caption":"William Hoang, Mobile Developer Advocate, Couchbase"},"description":"William foi um defensor do desenvolvedor na equipe de engenharia m\u00f3vel\/experi\u00eancia do desenvolvedor na Couchbase. Seu amor por caf\u00e9 e c\u00f3digo o levou ao mundo dos dispositivos m\u00f3veis, ao mesmo tempo em que apreciava as experi\u00eancias presenciais off-line. Antes disso, William trabalhou na equipe de rela\u00e7\u00f5es com desenvolvedores do Twitter, BlackBerry e Microsoft, al\u00e9m de ter sido engenheiro de GPS incorporado a software na Research In Motion. William se formou na McGill University em Engenharia El\u00e9trica de Software","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/william-hoang\/"}]}},"authors":[{"term_id":8983,"user_id":30,"is_guest":0,"slug":"william-hoang","display_name":"William Hoang, Mobile Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b912c9a97568a859697ee195432d0bd7cc3ed67d720ae2e6588b67313fa49e08?s=96&d=mm&r=g","author_category":"","last_name":"Hoang","first_name":"William","job_title":"","user_url":"","description":"William foi um defensor do desenvolvedor na equipe de engenharia m\u00f3vel\/experi\u00eancia do desenvolvedor na Couchbase. Seu amor por caf\u00e9 e c\u00f3digo o levou ao mundo dos dispositivos m\u00f3veis, ao mesmo tempo em que apreciava as experi\u00eancias presenciais off-line. Antes disso, William trabalhou na equipe de rela\u00e7\u00f5es com desenvolvedores do Twitter, BlackBerry e Microsoft, al\u00e9m de ter sido engenheiro de GPS incorporado a software na Research In Motion. William se formou na McGill University em Engenharia El\u00e9trica de Software"}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2154"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2154\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2154"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}