sexta-feira, 11 de dezembro de 2015

Ionic - SQLite no browser

Tentando usar o plugin do SQLite (do Cordova) com o Ionic eu tive o seguinte erro:

Uncaught TypeError: Cannot read property 'openDatabase' of undefined

Isso acontece, pois o plugin usa código nativo para utilizar o SQLite, então não funciona no browser... Para resolver alterei o código q abre a conexão com o banco.

De:

var db = null;
db = $cordovaSQLite.openDB("myapp.db");

Para:

var db = null;
if(window.cordova) {
    // used in cell phones
    db = $cordovaSQLite.openDB("myapp.db");
} else {
    // used in web browsers
   db = window.openDatabase("myapp.db", "1.0", "MyApp", -1);
}

Pronto, agora consigo utilizar no browser.

Todos os outros comandos continuam idênticos.

Fonte: http://stackoverflow.com/questions/30160552/ionic-framework-sqlite-testing-with-browser

Para estudar SQLite com ionic:
http://ngcordova.com/docs/plugins/sqlite/
https://blog.nraboy.com/2014/11/use-sqlite-instead-local-storage-ionic-framework/

Abraço!
Adriano Schmidt


quinta-feira, 3 de dezembro de 2015

Lista de imagens em Ionic

Faaala galera,

Tô trabalhando em projeto com Ionic para desenvolver uma app mobile híbrida e precisei exibir uma lista de imagens colocando 4 imagens por linhas...

Segue abaixo o código:

    <div ng-repeat="myObject in myList">
        <div class="row" ng-if="$index % 4 === 0">
            <div class="col col-25" ng-repeat="obj in [myList[$index], myList[$index + 1], myList[$index + 2], myList[$index + 3]]">
                 <img ng-src="{{obj.imgSrc}}" style="width: 100%;" />
            </div>
        </div>
    </div>

Para fazer isso me baseei nesse exemplo:

   <div ng-repeat="number in numbers"> 
        <div class="row" ng-if="$even">
            <div class="col col-50" ng-repeat="num in [numbers[$index],numbers[$index + 1]]">
                {{num}}
            </div>
        </div>
    </div>

Fonte: http://stackoverflow.com/questions/26688086/create-row-every-after-2-item-in-angular-ng-repeat-ionic-grid

Abraço!
Adriano Schmidt