Hi!

I am using kendo UI listview for listing data in my Phonegap application.
For android, I set hardware acceleration="false" in my android manifest
file.
< application android:hardwareAccelerated="false" >
It made a huge difference in performance.
How can I do this in iOS?


On Mon, Mar 17, 2014 at 8:19 PM, Ami Gandhi <[email protected]> wrote:

> I have solved this issue by this:
>
> Android Code: To create view.
>
> Database db = server.getDatabase(strDbName);
> db.open();
> listenPort = startCBLListener(DEFAULT_LISTEN_PORT, server);
>
> View v1 = db.getView(String.format("%s/%s",
> strDbName,
>                         "getrecords_typewise"));
>
> //Here strDbName = database name, "getrecords_typewise" = View name.
>
> v1.setMap(new Mapper()
> {
> @Override
>  public void map(Map<String, Object> document, Emitter emitter)
> {
>  Object docType = document.get("type");
>  if (docType != null && document.get("is_active") != null &&
> document.get("is_active").equals(true))
> {
>              emitter.emit(new Object[]{docType.toString()}, document);
>         }
>  }
> }, strVersion);
> db.registerView(v1);
>
> Phonegap  Code:
> config.views(["getrecords_typewise", {
>     startkey : ["contact"],
>             endkey : ["contact"],
>     descending : true
>     }], function(err, view)
>     {
>
>  var len = view['rows'].length;
>
>     var counter=0;
>     var data=[];
>     if(view['rows']!=null && view['rows'].length>0){
>     for(j=0;j<view['rows'].length;j++)
>     {
>                               data.push(view['rows'][j].value);
>                      }
>                }
>
>           });
>
>
> On Sat, Feb 15, 2014 at 6:05 AM, Traun Leyden <[email protected]>wrote:
>
>>
>>
>> On Thursday, February 13, 2014, Ami Gandhi <[email protected]> wrote:
>>
>>>
>>>
>>> But calling view from Phonegap is very slow!
>>> Having this logs all the time.
>>> 02-14 00:45:05.685: D/dalvikvm(6462): WAIT_FOR_CONCURRENT_GC blocked 14ms
>>> 02-14 00:45:05.715: V/CBLDatabase(6462):   call map for sequence=14
>>> 02-14 00:45:05.750: D/dalvikvm(6462): GC_CONCURRENT freed 492K, 27% free
>>> 13190K/17863K, paused 2ms+2ms, total 23ms
>>>
>>
>> Have you taken a look at the Android Monitor / DDMS to see where the
>> memory is being used?
>>
>>
>>>
>>> So, moving on native approach.
>>>
>>
>> Did you follow the instructions from Daniel Carr above?  Did you comment
>> out the call to "CBLView.setCompiler(new CBLJavaScriptViewCompiler());"
>>
>> Another thing that could be going wrong, are you defining a view with the
>> exact same name for the javascript based view you defined?  I would
>> recommend using a different name so they don't conflict.
>>
>>
>>
>>> But it is not working when I call view "amiview" from phonegap.
>>>
>>
>> Is there an error message?
>>
>>
>>
>>
>>> On Thursday, February 13, 2014 11:21:18 PM UTC+5:30, Traun Leyden wrote:
>>>>
>>>>
>>>> I think there should be examples of that in https://github.com/
>>>> couchbaselabs/TodoLite-PhoneGap.
>>>>
>>>>  It should essentially be the same as making a view query via REST to
>>>> CouchDB, so you can also check the CouchDB docs.
>>>>
>>>> @Chris -- I guess the recommended js library for talking to Couchbase
>>>> Lite from javascript is "coax/hoax" right?  Is there any others that people
>>>> should be aware of that will make their lives easier?
>>>>
>>>> On Thursday, February 13, 2014, Ami Gandhi <[email protected]> wrote:
>>>>
>>>> Hi!
>>>> Can you tell me how to query CBLView from phonegap android?
>>>> Also, how to set startkey and endkey?
>>>>
>>>> On Monday, October 21, 2013 11:28:38 PM UTC+5:30, Traun Leyden wrote:
>>>>
>>>> Thanks for contributing this!
>>>>
>>>>
>>>> On Sun, Oct 20, 2013 at 5:16 PM, Daniel Carr <[email protected]>wrote:
>>>>
>>>> Thanks for your replies.
>>>>
>>>> If anyone is keen to try this, it's pretty easy. I know very little
>>>> java and was able to work it out, and the performance is way better.
>>>>
>>>>
>>>> To get it to work, clone the git repo and import the modified cloned
>>>> repo as a phonegap plugin:
>>>>
>>>> git clone https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-
>>>> Plugin.git
>>>> cd project
>>>> phonegap local plugin add ../Couchbase-List-PhoneGap-Plugin
>>>>
>>>>
>>>> Every time you modify the plugin, you need to remove and add it again.
>>>>
>>>> phonegap local plugin remove com.couchbase.lite.phonegap
>>>> phonegap local plugin add ../Couchbase-List-PhoneGap-Plugin
>>>>
>>>>
>>>>
>>>> As a proof of concept, I edited /src/android/CBLite.java file in
>>>> Cordova-Lite-PhoneGap-Plugin.
>>>>
>>>> Add these to the imports:
>>>>
>>>> import com.couchbase.cblite.CBLDatabase;
>>>> import com.couchbase.cblite.CBLViewMapBlock;
>>>> import com.couchbase.cblite.CBLViewMapEmitBlock;
>>>>
>>>>
>>>> Remove the Javascript View thingy:
>>>>
>>>> -                       CBLView.setCompiler(new
>>>> CBLJavaScriptViewCompiler());
>>>>
>>>>
>>>>
>>>> Declare a view as described here: http://docs.couchbase.co
>>>> m/couchbase-lite/cbl-android/#working-with-views
>>>>
>>>>
>>>>
>>>> e.g.: (sorry about the dodgy tabulation)
>>>>
>>>>
>>>> @@ -41,12 +45,25 @@ public class CBLite extends CordovaPlugin {
>>>>
>>>>                         CBLURLStreamHandlerFactory.reg
>>>> isterSelfIgnoreError();
>>>>
>>>> -                       CBLView.setCompiler(new
>>>> CBLJavaScriptViewCompiler());
>>>> -
>>>>                         String filesDir = this.cordova.getActivity().
>>>> getFilesDir()
>>>>                                         .getAbsolutePath();
>>>>                         CBLServer server = startCBLite(filesDir);
>>>> -
>>>> +
>>>> +                       CBLDatabase db = server.getDatabaseNamed("treat
>>>> ment");
>>>> +                       CBLView testView = db.getViewNamed("ivetTest/
>>>> test");
>>>> +                       testView.setMapReduceBlocks(new
>>>> CBLViewMapBlock() {
>>>> +
>>>> +                   @Override
>>>> +                   public void map(Map<String, Object> document,
>>>> CBLViewMapEmitBlock emitter) {
>>>> +                       String type = (String)document.get("Type");
>>>> +                       if( "TreatmentRecord".equals(
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Couchbase Mobile" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/mobile-couchbase/bc488580-9fab-4f22-8a51-a0bc697e931f%40googlegroups.com
>>> .
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>  --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Couchbase Mobile" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/mobile-couchbase/lAt7w3ntbKo/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/mobile-couchbase/CACSSHCHskg2tQ2ce8TckCh0j0PFZ314aidUP6UfztFhn2%3DqwVg%40mail.gmail.com
>> .
>>
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/CALA2sAbAO1aZyVrks%3Dyv7OrWwG3zeP199XsCM8joHfOZetd%3D6Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to