Note that there are some explanatory texts on larger screens.

plurals
  1. POProblems getting Android Cursor from an DAOObject with ORMLite
    primarykey
    data
    text
    <p>I am trying to retrieve a Cursor from a ORMLite PreparedQuery. My goal is to only paginate my results query, so the device memory won't be too overloaded. I've read Gray's guides on how to use the QueryBuilder object <a href="https://stackoverflow.com/questions/7159816/android-cursor-with-ormlite-to-use-in-cursoradapter">Android Cursor with ORMLite to use in CursorAdapter</a>. Also this one <a href="https://stackoverflow.com/questions/12416964/ormlite-with-cursoradapter-in-android">ORMLite with CursorAdapter in Android</a>. But when I try to do: "iterator.getRawResults();" well, the iterator class don't recognize the getRawResults method. It just supports the common methods close(), getEquals(), next(), and so on...</p> <p>I can retrieve e list of objects successfully from my query, so it isn't a empty query problem... </p> <p>am I missing something ? My pom.xml is attached.</p> <p>Here is the test with a list of Objects </p> <pre><code>public List&lt;Produto&gt; getProdutoDecricao2(String padrao) throws SQLException { List&lt;Produto&gt; listaProduto = null; QueryBuilder&lt;Produto, String&gt; queryBuilder = produtoDao.queryBuilder(); Where&lt;Produto, String&gt; where = queryBuilder.where(); SelectArg selectArg = new SelectArg(); selectArg.setValue('%'+padrao+'%'); where.like("descricao", selectArg); PreparedQuery&lt;Produto&gt; preparedQuery = queryBuilder.prepare(); listaProduto = produtoDao.query(preparedQuery); return listaProduto; } </code></pre> <p>My failed attempt with Cursors...</p> <pre><code>//creation of DAO private Dao&lt;Produto,String&gt; produtoDao; public Cursor getProdutoDecricao(String padrao) { List&lt;Produto&gt; listaProduto = null; QueryBuilder&lt;Produto, String&gt; queryBuilder = produtoDao.queryBuilder(); Where&lt;Produto, String&gt; where = queryBuilder.where(); SelectArg selectArg = new SelectArg(); selectArg.setValue('%'+padrao+'%'); where.like("descricao", selectArg); // when you are done, prepare your query and build an iterator PreparedQuery&lt;Produto&gt; preparedQuery = queryBuilder.prepare(); CloseableIterator&lt;Produto&gt; iterator = produtoDao.iterator(preparedQuery); AndroidDatabaseResults results = (AndroidDatabaseResults)iterator.getRawResults(); Cursor cursor = results.getRawCursor(); iterator.close(); return cursor; } </code></pre> <p>Here is the project pom.xml </p> <pre><code>&lt;properties&gt; &lt;android-platform&gt;8&lt;/android-platform&gt; &lt;android-maven-plugin-version&gt;3.4.0&lt;/android-maven-plugin-version&gt; &lt;maven-compiler-plugin-version&gt;2.3.2&lt;/maven-compiler-plugin-version&gt; &lt;java-version&gt;1.6&lt;/java-version&gt; &lt;maven-eclipse-plugin-version&gt;2.8&lt;/maven-eclipse-plugin-version&gt; &lt;org.codehaus.jackson-version&gt;1.9.7&lt;/org.codehaus.jackson-version&gt; &lt;/properties&gt; &lt;repositories&gt; &lt;repository&gt; &lt;id&gt;org.springframework.maven.snapshot&lt;/id&gt; &lt;name&gt;Spring Maven Snapshot Repository&lt;/name&gt; &lt;url&gt;http://maven.springframework.org/snapshot&lt;/url&gt; &lt;releases&gt; &lt;enabled&gt;false&lt;/enabled&gt; &lt;/releases&gt; &lt;snapshots&gt; &lt;enabled&gt;true&lt;/enabled&gt; &lt;/snapshots&gt; &lt;/repository&gt; &lt;!-- For developing against latest Spring milestones --&gt; &lt;repository&gt; &lt;id&gt;org.springframework.maven.milestone&lt;/id&gt; &lt;name&gt;Spring Maven Milestone Repository&lt;/name&gt; &lt;url&gt;http://maven.springframework.org/milestone&lt;/url&gt; &lt;snapshots&gt; &lt;enabled&gt;false&lt;/enabled&gt; &lt;/snapshots&gt; &lt;/repository&gt; &lt;/repositories&gt; &lt;build&gt; &lt;finalName&gt;${project.artifactId}&lt;/finalName&gt; &lt;sourceDirectory&gt;src&lt;/sourceDirectory&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;groupId&gt;com.jayway.maven.plugins.android.generation2&lt;/groupId&gt; &lt;artifactId&gt;android-maven-plugin&lt;/artifactId&gt; &lt;version&gt;${android-maven-plugin-version}&lt;/version&gt; &lt;configuration&gt; &lt;sdk&gt; &lt;platform&gt;${android-platform}&lt;/platform&gt; &lt;path&gt;/Users/rav/Documents/Android/android-sdk-macosx&lt;/path&gt; &lt;/sdk&gt; &lt;emulator&gt; &lt;avd&gt;Android4.1&lt;/avd&gt; &lt;/emulator&gt; &lt;deleteConflictingFiles&gt;true&lt;/deleteConflictingFiles&gt; &lt;undeployBeforeDeploy&gt;true&lt;/undeployBeforeDeploy&gt; &lt;/configuration&gt; &lt;extensions&gt;true&lt;/extensions&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt; &lt;version&gt;${maven-compiler-plugin-version}&lt;/version&gt; &lt;configuration&gt; &lt;source&gt;${java-version}&lt;/source&gt; &lt;target&gt;${java-version}&lt;/target&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; &lt;artifactId&gt;maven-eclipse-plugin&lt;/artifactId&gt; &lt;version&gt;${maven-eclipse-plugin-version}&lt;/version&gt; &lt;configuration&gt; &lt;downloadSources&gt;true&lt;/downloadSources&gt; &lt;downloadJavadocs&gt;true&lt;/downloadJavadocs&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;pluginManagement&gt; &lt;plugins&gt; &lt;!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. --&gt; &lt;plugin&gt; &lt;groupId&gt;org.eclipse.m2e&lt;/groupId&gt; &lt;artifactId&gt;lifecycle-mapping&lt;/artifactId&gt; &lt;version&gt;1.0.0&lt;/version&gt; &lt;configuration&gt; &lt;lifecycleMappingMetadata&gt; &lt;pluginExecutions&gt; &lt;pluginExecution&gt; &lt;pluginExecutionFilter&gt; &lt;groupId&gt;com.jayway.maven.plugins.android.generation2&lt;/groupId&gt; &lt;artifactId&gt;android-maven-plugin&lt;/artifactId&gt; &lt;versionRange&gt;[3.1.1,)&lt;/versionRange&gt; &lt;goals&gt; &lt;goal&gt;proguard&lt;/goal&gt; &lt;/goals&gt; &lt;/pluginExecutionFilter&gt; &lt;action&gt; &lt;ignore&gt;&lt;/ignore&gt; &lt;/action&gt; &lt;/pluginExecution&gt; &lt;/pluginExecutions&gt; &lt;/lifecycleMappingMetadata&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/pluginManagement&gt; &lt;/build&gt; &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;com.google.android&lt;/groupId&gt; &lt;artifactId&gt;android&lt;/artifactId&gt; &lt;version&gt;2.2.1&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.android&lt;/groupId&gt; &lt;artifactId&gt;spring-android-rest-template&lt;/artifactId&gt; &lt;version&gt;1.0.0.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.j256.ormlite&lt;/groupId&gt; &lt;artifactId&gt;ormlite-android&lt;/artifactId&gt; &lt;version&gt;4.9&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.j256.ormlite&lt;/groupId&gt; &lt;artifactId&gt;ormlite-android&lt;/artifactId&gt; &lt;version&gt;4.9&lt;/version&gt; &lt;exclusions&gt; &lt;exclusion&gt; &lt;groupId&gt;com.j256.ormlite&lt;/groupId&gt; &lt;artifactId&gt;ormlite-core&lt;/artifactId&gt; &lt;/exclusion&gt; &lt;/exclusions&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.roboguice&lt;/groupId&gt; &lt;artifactId&gt;roboguice&lt;/artifactId&gt; &lt;version&gt;2.0&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.google.code.findbugs&lt;/groupId&gt; &lt;artifactId&gt;jsr305&lt;/artifactId&gt; &lt;version&gt;1.3.9&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.google.android&lt;/groupId&gt; &lt;artifactId&gt;support-v4&lt;/artifactId&gt; &lt;version&gt;r6&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;jgilfelt.android-viewbadger&lt;/groupId&gt; &lt;artifactId&gt;android-viewbadger&lt;/artifactId&gt; &lt;version&gt;1&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;!-- Using Jackson for JSON marshaling --&gt; &lt;groupId&gt;org.codehaus.jackson&lt;/groupId&gt; &lt;artifactId&gt;jackson-mapper-asl&lt;/artifactId&gt; &lt;version&gt;${org.codehaus.jackson-version}&lt;/version&gt; &lt;/dependency&gt; &lt;/dependencies&gt; </code></pre> <p> </p> <p>**EDIT Well, first i was using version 4.9 of ORMLite with isn't really official, and didn't have the methods I wanted to use. After I changed my pom.xml to use android-4.42 and core-4.42 Maven didn't let me compile the program, giving the Dalvik error (“Conversion to Dalvik format failed with error 1”) despite of my attempts to solve this problem, I couldn't.</p> <p>I created a new project in a new workspace without Maven and added the libs manually, now everything works fine. It seems to be a Maven problem. I hope it helps someone.**</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload