<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
> 
<channel>
	<title>Appcelerator Developer Center Q&amp;A Tag Feed (json)</title> 
	<atom:link href="http://developer.appcelerator.com/questions/feed/tag/json" rel="self" type="application/rss+xml" /> 
	<link>http://developer.appcelerator.com/questions/feed/tag/json</link> 
	<description>Appcelerator Developer Center Q&amp;A feed for the tag: "json"</description> 
	<lastBuildDate>Fri, 24 May 2013 22:44:28 -0700</lastBuildDate> 
	<pubDate>Fri, 24 May 2013 22:44:28 -0700</pubDate>
	<copyright>Copyright (c) 2008-2013 by Appcelerator Inc.</copyright>
	<webMaster>info@appcelerator.com</webMaster>
	<generator>Appcelerator Developer Center</generator>
	<ttl>5</ttl>
	<language>en</language>
	<item>
		<title>Potential Newbie - Java to JavaScript Advice Welcome</title> 
		<link>http://developer.appcelerator.com/question/152786/potential-newbie---java-to-javascript-advice-welcome</link>
		<pubDate>Thu, 23 May 2013 14:16:09 -0700</pubDate>
		<dc:creator>Jonathan Lonon</dc:creator> 
				<category><![CDATA[android]]></category> 
				<category><![CDATA[java]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[server]]></category> 
				<category><![CDATA[migrate]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/152786/potential-newbie---java-to-javascript-advice-welcome</guid>
		<description><![CDATA[Background: Using Eclipse (Indigo) I have designed and made decent progress on an Android mobile app. The current design has two projects: 1) server app (the service piece to run on a centos-5-x86_64 OS) written in JAVA with a simple Restlet structure; and client app (also started in JAVA as Android project). In a nutshell, the client sends secure URI requests to the service and the service returns JSON items to the client. The client manipulates and displays information accordingly based on what is returned. The service piece is setup to install on a special dedicated Tomcat host with a MySQL database (both latest versions).

Desire: I want to take advantage of Appcelerator without losing most of the server-side investment and hopefully with the ability to auto-magically translate some client-side Java-based code to JavaScript (if required). I am assuming I can only use JavaScript based on what I have understood so far. It's hard to quickly summarize the question, but I hope the question below will be clear and that someone can give solid advice. Not looking for &quot;shot into the unknown&quot; types of answers. Really want to know feasible solutions (even if some changes, purchases, etc. required), based on real-world knowledge. I don't want to go too much farther than enhancing my JavaScript learning curve as, so far, it seems I will need to do at least that much.

Question: Has anyone had a similar start and successfully migrated from Java-based code to the JavaScript-based Appcelerator platform for the advantages of the Titatium life-cycle, tools, widgets, inherent cloud, cross-op/device releases, etc., and have suggestions regarding migrating my service and client code over?]]></description>
		<content:encoded><![CDATA[<p>Background: Using Eclipse (Indigo) I have designed and made decent progress on an Android mobile app. The current design has two projects: 1) server app (the service piece to run on a centos-5-x86_64 OS) written in JAVA with a simple Restlet structure; and client app (also started in JAVA as Android project). In a nutshell, the client sends secure URI requests to the service and the service returns JSON items to the client. The client manipulates and displays information accordingly based on what is returned. The service piece is setup to install on a special dedicated Tomcat host with a MySQL database (both latest versions).</p>

<p>Desire: I want to take advantage of Appcelerator without losing most of the server-side investment and hopefully with the ability to auto-magically translate some client-side Java-based code to JavaScript (if required). I am assuming I can only use JavaScript based on what I have understood so far. It's hard to quickly summarize the question, but I hope the question below will be clear and that someone can give solid advice. Not looking for &quot;shot into the unknown&quot; types of answers. Really want to know feasible solutions (even if some changes, purchases, etc. required), based on real-world knowledge. I don't want to go too much farther than enhancing my JavaScript learning curve as, so far, it seems I will need to do at least that much.</p>

<p>Question: Has anyone had a similar start and successfully migrated from Java-based code to the JavaScript-based Appcelerator platform for the advantages of the Titatium life-cycle, tools, widgets, inherent cloud, cross-op/device releases, etc., and have suggestions regarding migrating my service and client code over?</p>
]]></content:encoded>
	</item>
	<item>
		<title>show data from on emulator from database</title> 
		<link>http://developer.appcelerator.com/question/152470/show-data-from-on-emulator-from-database</link>
		<pubDate>Thu, 16 May 2013 08:26:20 -0700</pubDate>
		<dc:creator>Olivia Ellis</dc:creator> 
				<category><![CDATA[android]]></category> 
				<category><![CDATA[database]]></category> 
				<category><![CDATA[sqlite]]></category> 
				<category><![CDATA[json]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/152470/show-data-from-on-emulator-from-database</guid>
		<description><![CDATA[hi everybody 
i want to show extract data from my sqlite database and show it in a list view but my code didn't work 


~~~
var win = Ti.UI.createWindow(
	{
       layout:'vertical'
	});
                   //invoke a web service 
                 // create request
    var xhr = Titanium.Network.createHTTPClient();
               //Here you set the web service address and method
    xhr.open('GET', &quot;http://192.168.1.11/Projet_version2/WebService.php&quot;,true);
              //set enconding
    xhr.setRequestHeader(&quot;Content-Type&quot;, &quot;application/json; charset=utf-8&quot;);
             //send request without parameters
     xhr.send();
            // function to deal with errors
   xhr.onerror = function(e) {
    callback(false, 'Something has gone wrong');
};
           //create database
var db = Titanium.Database.open('mydb');
 db.execute('CREATE TABLE IF NOT EXISTS  produit (id INT PRIMARY KEY, id_magasin INT, Categorie text, nom text, marque text, couleur text, prix text, reference text, image BLOB :, disponibilte text, description text,	taille text, titre text, auteur text, langue text, date_fab text, date_exp text, precaution text)');
    // function to deal with response
    xhr.onload = function() {
   var prod = JSON.parse(this.responseText);
for (i=0;i&lt;prod.length; i++)
{
	var id=prod[i].id;
	var id_magasin=prod[i].id_magasin;
var categorie=prod[i].categorie;
var nom=prod[i].nom;
var marque= prod[i].marque;
var couleur= prod[i].couleur;
var prix=prod[i].prix;
var reference=prod[i].reference;
var image= prod[i].image;
var disponibilte= prod[i].disponibilte;
var description=prod[i].description;
var taille= prod[i]taille;
var titre= prod[i].titre;
var auteur= prod[i].auteur;
var langue= prod[i].langue;
var date_fab= prod[i].date_fab;
var date_exp= prod[i].date_exp;
var precaution=prod[i].precaution;

var db = Titanium.Database.open('mydb');
db.execute('insert into produit (&quot;id&quot;, &quot;id_magasin&quot; , &quot;Categorie&quot;,&quot;nom&quot;, &quot;marque&quot;, &quot;couleur&quot;, &quot;prix&quot;, &quot;reference&quot;,
&quot;image&quot; , &quot;disponibilte&quot;, &quot;description&quot;, &quot;taille&quot;, &quot;titre&quot;, &quot;auteur&quot;, &quot;langue&quot;, &quot;date_fab&quot;, &quot;date_exp&quot;, &quot;precaution&quot;) 
values (&quot;'+id+'&quot;,&quot;'+id_magasin+'&quot;,&quot;'+categorie+'&quot;,&quot;'+nom+'&quot;,&quot;'+marque+'&quot;,&quot;'+couleur+'&quot;,&quot;'+prix+'&quot;,&quot;'+reference+'&quot;,
&quot;'+image+'&quot;, &quot;'+disponibilte+'&quot;,&quot;'+description+'&quot;, &quot;'+taille+'&quot;,&quot;'+titre+'&quot;,&quot;'+auteur+'&quot;,&quot;'+langue+'&quot;,&quot;'+date_fab+'&quot;,
&quot;'+date_exp+'&quot;,&quot;'+precaution+'&quot;)');
}

 
alert( select * from produit );  
      win.open();
~~~


any help please]]></description>
		<content:encoded><![CDATA[<p>hi everybody 
i want to show extract data from my sqlite database and show it in a list view but my code didn't work</p>

<p><pre class="javascript codeblock"><span class="kw2">var</span> win <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createWindow</span><span class="br0">&#40;</span>
    <span class="br0">&#123;</span>
       layout<span class="sy0">:</span><span class="st0">'vertical'</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
                   <span class="co1">//invoke a web service </span>
                 <span class="co1">// create request</span>
    <span class="kw2">var</span> xhr <span class="sy0">=</span> Titanium.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
               <span class="co1">//Here you set the web service address and method</span>
    xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'GET'</span><span class="sy0">,</span> <span class="st0">&quot;http://192.168.1.11/Projet_version2/WebService.php&quot;</span><span class="sy0">,</span><span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span>
              <span class="co1">//set enconding</span>
    xhr.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">&quot;Content-Type&quot;</span><span class="sy0">,</span> <span class="st0">&quot;application/json; charset=utf-8&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
             <span class="co1">//send request without parameters</span>
     xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="co1">// function to deal with errors</span>
   xhr.<span class="kw3">onerror</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    callback<span class="br0">&#40;</span><span class="kw2">false</span><span class="sy0">,</span> <span class="st0">'Something has gone wrong'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
           <span class="co1">//create database</span>
<span class="kw2">var</span> db <span class="sy0">=</span> Titanium.<span class="me1">Database</span>.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'mydb'</span><span class="br0">&#41;</span><span class="sy0">;</span>
 db.<span class="me1">execute</span><span class="br0">&#40;</span><span class="st0">'CREATE TABLE IF NOT EXISTS  produit (id INT PRIMARY KEY, id_magasin INT, Categorie text, nom text, marque text, couleur text, prix text, reference text, image BLOB :, disponibilte text, description text,    taille text, titre text, auteur text, langue text, date_fab text, date_exp text, precaution text)'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="co1">// function to deal with response</span>
    xhr.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
   <span class="kw2">var</span> prod <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">for</span> <span class="br0">&#40;</span>i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span>i<span class="sy0">&lt;</span>prod.<span class="me1">length</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span class="kw2">var</span> id<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">id</span><span class="sy0">;</span>
    <span class="kw2">var</span> id_magasin<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">id_magasin</span><span class="sy0">;</span>
<span class="kw2">var</span> categorie<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">categorie</span><span class="sy0">;</span>
<span class="kw2">var</span> nom<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">nom</span><span class="sy0">;</span>
<span class="kw2">var</span> marque<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">marque</span><span class="sy0">;</span>
<span class="kw2">var</span> couleur<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">couleur</span><span class="sy0">;</span>
<span class="kw2">var</span> prix<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">prix</span><span class="sy0">;</span>
<span class="kw2">var</span> reference<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">reference</span><span class="sy0">;</span>
<span class="kw2">var</span> image<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">image</span><span class="sy0">;</span>
<span class="kw2">var</span> disponibilte<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">disponibilte</span><span class="sy0">;</span>
<span class="kw2">var</span> description<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">description</span><span class="sy0">;</span>
<span class="kw2">var</span> taille<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>taille<span class="sy0">;</span>
<span class="kw2">var</span> titre<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">titre</span><span class="sy0">;</span>
<span class="kw2">var</span> auteur<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">auteur</span><span class="sy0">;</span>
<span class="kw2">var</span> langue<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">langue</span><span class="sy0">;</span>
<span class="kw2">var</span> date_fab<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">date_fab</span><span class="sy0">;</span>
<span class="kw2">var</span> date_exp<span class="sy0">=</span> prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">date_exp</span><span class="sy0">;</span>
<span class="kw2">var</span> precaution<span class="sy0">=</span>prod<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">precaution</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> db <span class="sy0">=</span> Titanium.<span class="me1">Database</span>.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'mydb'</span><span class="br0">&#41;</span><span class="sy0">;</span>
db.<span class="me1">execute</span><span class="br0">&#40;</span><span class="st0">'insert into produit (&quot;id&quot;, &quot;id_magasin&quot; , &quot;Categorie&quot;,&quot;nom&quot;, &quot;marque&quot;, &quot;couleur&quot;, &quot;prix&quot;, &quot;reference&quot;,
&quot;image&quot; , &quot;disponibilte&quot;, &quot;description&quot;, &quot;taille&quot;, &quot;titre&quot;, &quot;auteur&quot;, &quot;langue&quot;, &quot;date_fab&quot;, &quot;date_exp&quot;, &quot;precaution&quot;) 
values (&quot;'</span><span class="sy0">+</span>id<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>id_magasin<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>categorie<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>nom<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>marque<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>couleur<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>prix<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>reference<span class="sy0">+</span><span class="st0">'&quot;,
&quot;'</span><span class="sy0">+</span>image<span class="sy0">+</span><span class="st0">'&quot;, &quot;'</span><span class="sy0">+</span>disponibilte<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>description<span class="sy0">+</span><span class="st0">'&quot;, &quot;'</span><span class="sy0">+</span>taille<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>titre<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>auteur<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>langue<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>date_fab<span class="sy0">+</span><span class="st0">'&quot;,
&quot;'</span><span class="sy0">+</span>date_exp<span class="sy0">+</span><span class="st0">'&quot;,&quot;'</span><span class="sy0">+</span>precaution<span class="sy0">+</span><span class="st0">'&quot;)'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="kw3">alert</span><span class="br0">&#40;</span> select <span class="sy0">*</span> from produit <span class="br0">&#41;</span><span class="sy0">;</span>  
      win.<span class="kw3">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></p>

<p>any help please</p>
]]></content:encoded>
	</item>
	<item>
		<title>Loop through a Json File ?!</title> 
		<link>http://developer.appcelerator.com/question/152401/loop-through-a-json-file-</link>
		<pubDate>Wed, 15 May 2013 03:20:32 -0700</pubDate>
		<dc:creator>Nico Barelmann</dc:creator> 
				<category><![CDATA[xml]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[ios]]></category> 
				<category><![CDATA[rekursiv]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/152401/loop-through-a-json-file-</guid>
		<description><![CDATA[Hey Guys,

i have tried several things, but i just can't get it work... I wanna loop through my json data with a recursiv function.


I've uploaded an example to my webserver. Help would be so much awesome. my mind is totally fucked by that stuff :/

www.nicobarelmann.de/files/taunn/app.js

I've uploaded a small ripp off / Example, so you can test it yourself. The XML (parsed to json) is a structure of folders on a webserver, but of course could be also a navigation-menu or something like that.

of Course the goal is an array containing folder objects, which does have a property &quot;childs&quot; which holds the child folders and so on. 



~~~
var win = Ti.UI.createWindow({
});


var DocumentFolder = require('/DocumentFolder');


var url = &quot;http://nicobarelmann.de/files/taunn/test.json&quot;;
//var url = &quot;http://nicobarelmann.de/files/taifun/test.xml&quot;;
 var client = Ti.Network.createHTTPClient({
     // function called when the response data is available
     onload : function(e) {
       // Ti.API.info(&quot;Received text: &quot; + this.responseText);
        // alert('success');
        parse(this.responseText);
     },
     // function called when an error occurs, including a timeout
     onerror : function(e) {
         Ti.API.debug(e.error);
         alert('error');
     },
     timeout : 5000  // in milliseconds
 });
 // Prepare the connection.
 client.open(&quot;POST&quot;, url);
 // Send the request.
 client.setRequestHeader(&quot;Content-Type&quot;, &quot;text/xml&quot;);
 client.send();
 






function parse(_dat){
	
	
	_dat = JSON.parse(_dat);	
	Ti.API.info( _dat.Node.length );			// 19
	
	//newFolder( parsed.Node );
}



	function newFolder(_data) {
		
		var allAr = [];
		
		
		for (var i = 0; i &lt; _data.length; i++) {
			var folder = new DocumentFolder();
			
			
			
			
			allAr.push(folder);
		}
		
		return allAr;
	}


// Old
/*function newFolder(_data) {
		for (var i = 0; i &lt; _data.length; i++) {
			if (_data[i].Nodes) {
				Ti.API.info( &quot;Sub: &quot; );//+ _data[i].Nodes.Node.length );
				return newFolder(_data[i].Nodes.Node);
			} else {
				Ti.API.info(&quot;Main: &quot; + _data[i].Name[&quot;#text&quot;]);
			}
			Ti.API.info(&quot;Main: &quot; + _data[i].Name[&quot;#text&quot;]);
		}
	}*/

win.open();
~~~


And the DocumentFolder

~~~
var DocumentFolder = function() {
	// System
	this.GUID 		= &quot;&quot;;	
	this.Name		= &quot;&quot;;
	
	
	this.hasChildren = false;
	this.children 	= &quot;&quot;;		// Contain other Document Folder Objects
	this.files		= &quot;&quot;;		// Contain all files of this folder
	this.Empty 		= &quot;&quot;;
	
	
}
module.exports = DocumentFolder;
~~~



I can't secripe how your ideas/help could help me :)

Best,
Nico




ios - Newest SDK]]></description>
		<content:encoded><![CDATA[<p>Hey Guys,</p>

<p>i have tried several things, but i just can't get it work... I wanna loop through my json data with a recursiv function.</p>

<p>I've uploaded an example to my webserver. Help would be so much awesome. my mind is totally fucked by that stuff :/</p>

<p>www.nicobarelmann.de/files/taunn/app.js</p>

<p>I've uploaded a small ripp off / Example, so you can test it yourself. The XML (parsed to json) is a structure of folders on a webserver, but of course could be also a navigation-menu or something like that.</p>

<p>of Course the goal is an array containing folder objects, which does have a property &quot;childs&quot; which holds the child folders and so on.</p>

<p><pre class="javascript codeblock"><span class="kw2">var</span> win <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createWindow</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
<span class="kw2">var</span> DocumentFolder <span class="sy0">=</span> require<span class="br0">&#40;</span><span class="st0">'/DocumentFolder'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
<span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">&quot;http://nicobarelmann.de/files/taunn/test.json&quot;</span><span class="sy0">;</span>
<span class="co1">//var url = &quot;http://nicobarelmann.de/files/taifun/test.xml&quot;;</span>
 <span class="kw2">var</span> client <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
     <span class="co1">// function called when the response data is available</span>
     <span class="kw3">onload</span> <span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
       <span class="co1">// Ti.API.info(&quot;Received text: &quot; + this.responseText);</span>
        <span class="co1">// alert('success');</span>
        parse<span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
     <span class="br0">&#125;</span><span class="sy0">,</span>
     <span class="co1">// function called when an error occurs, including a timeout</span>
     <span class="kw3">onerror</span> <span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
         Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span>e.<span class="me1">error</span><span class="br0">&#41;</span><span class="sy0">;</span>
         <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'error'</span><span class="br0">&#41;</span><span class="sy0">;</span>
     <span class="br0">&#125;</span><span class="sy0">,</span>
     timeout <span class="sy0">:</span> <span class="nu0">5000</span>  <span class="co1">// in milliseconds</span>
 <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
 <span class="co1">// Prepare the connection.</span>
 client.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;POST&quot;</span><span class="sy0">,</span> url<span class="br0">&#41;</span><span class="sy0">;</span>
 <span class="co1">// Send the request.</span>
 client.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">&quot;Content-Type&quot;</span><span class="sy0">,</span> <span class="st0">&quot;text/xml&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
 client.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
<span class="kw2">function</span> parse<span class="br0">&#40;</span>_dat<span class="br0">&#41;</span><span class="br0">&#123;</span>
&nbsp;
&nbsp;
    _dat <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span>_dat<span class="br0">&#41;</span><span class="sy0">;</span>    
    Ti.<span class="me1">API</span>.<span class="me1">info</span><span class="br0">&#40;</span> _dat.<span class="me1">Node</span>.<span class="me1">length</span> <span class="br0">&#41;</span><span class="sy0">;</span>            <span class="co1">// 19</span>
&nbsp;
    <span class="co1">//newFolder( parsed.Node );</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
    <span class="kw2">function</span> newFolder<span class="br0">&#40;</span>_data<span class="br0">&#41;</span> <span class="br0">&#123;</span>
&nbsp;
        <span class="kw2">var</span> allAr <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
        <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw2">var</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> _data.<span class="me1">length</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            <span class="kw2">var</span> folder <span class="sy0">=</span> <span class="kw2">new</span> DocumentFolder<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
            allAr.<span class="me1">push</span><span class="br0">&#40;</span>folder<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
&nbsp;
        <span class="kw1">return</span> allAr<span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="co1">// Old</span>
<span class="coMULTI">/*function newFolder(_data) {
        for (var i = 0; i &lt; _data.length; i++) {
            if (_data[i].Nodes) {
                Ti.API.info( &quot;Sub: &quot; );//+ _data[i].Nodes.Node.length );
                return newFolder(_data[i].Nodes.Node);
            } else {
                Ti.API.info(&quot;Main: &quot; + _data[i].Name[&quot;#text&quot;]);
            }
            Ti.API.info(&quot;Main: &quot; + _data[i].Name[&quot;#text&quot;]);
        }
    }*/</span>
&nbsp;
win.<span class="kw3">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></p>

<p>And the DocumentFolder
<pre class="javascript codeblock"><span class="kw2">var</span> DocumentFolder <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// System</span>
    <span class="kw1">this</span>.<span class="me1">GUID</span>       <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span>   
    <span class="kw1">this</span>.<span class="kw3">Name</span>       <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
    <span class="kw1">this</span>.<span class="me1">hasChildren</span> <span class="sy0">=</span> <span class="kw2">false</span><span class="sy0">;</span>
    <span class="kw1">this</span>.<span class="me1">children</span>   <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span>       <span class="co1">// Contain other Document Folder Objects</span>
    <span class="kw1">this</span>.<span class="me1">files</span>      <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span>       <span class="co1">// Contain all files of this folder</span>
    <span class="kw1">this</span>.<span class="me1">Empty</span>      <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
<span class="br0">&#125;</span>
module.<span class="me1">exports</span> <span class="sy0">=</span> DocumentFolder<span class="sy0">;</span></pre></p>

<p>I can't secripe how your ideas/help could help me :)</p>

<p>Best,
Nico</p>

<p>ios - Newest SDK</p>
]]></content:encoded>
	</item>
	<item>
		<title>invoke json web service in titanium</title> 
		<link>http://developer.appcelerator.com/question/152274/invoke-json-web-service-in-titanium</link>
		<pubDate>Sun, 12 May 2013 15:50:49 -0700</pubDate>
		<dc:creator>Olivia Ellis</dc:creator> 
				<category><![CDATA[android]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[titanium]]></category> 
				<category><![CDATA[php]]></category> 
				<category><![CDATA[web service]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/152274/invoke-json-web-service-in-titanium</guid>
		<description><![CDATA[Hello everybody 
i'am new in titanium developping and the web service my problem is that i need to invoke json webservice when i clicked button in my titanum android applicatio but i don't know how and where i should make the
code of invoking web service??
Thanks for all the replies.”””””]]></description>
		<content:encoded><![CDATA[<p>Hello everybody 
i'am new in titanium developping and the web service my problem is that i need to invoke json webservice when i clicked button in my titanum android applicatio but i don't know how and where i should make the
code of invoking web service??
Thanks for all the replies.”””””</p>
]]></content:encoded>
	</item>
	<item>
		<title>Show data in list view</title> 
		<link>http://developer.appcelerator.com/question/152296/show-data-in-list-view</link>
		<pubDate>Mon, 13 May 2013 04:30:14 -0700</pubDate>
		<dc:creator>Olivia Ellis</dc:creator> 
				<category><![CDATA[android]]></category> 
				<category><![CDATA[database]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[list view]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/152296/show-data-in-list-view</guid>
		<description><![CDATA[Hi Everyone
iwant to know how to  load data from the server and show those data in a listview ?
thanks]]></description>
		<content:encoded><![CDATA[<p>Hi Everyone
iwant to know how to  load data from the server and show those data in a listview ?
thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>HTML parser</title> 
		<link>http://developer.appcelerator.com/question/128926/html-parser</link>
		<pubDate>Thu, 01 Dec 2011 04:40:36 -0800</pubDate>
		<dc:creator>mickael lignier</dc:creator> 
				<category><![CDATA[android]]></category> 
				<category><![CDATA[html]]></category> 
				<category><![CDATA[code]]></category> 
				<category><![CDATA[iphone]]></category> 
				<category><![CDATA[json]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/128926/html-parser</guid>
		<description><![CDATA[Hello, I would like parse html result but I don't know exactly how.

I make this code : 

`
htmlparser.js

exports = {};
htmlparser = exports;

soupselect.js

var domUtils = require(&quot;include/lib/htmlparser&quot;).DomUtils;
var domUtils = htmlparser.DomUtils;
soupselect = exports;

My current page

Ti.include('../../include/lib/htmlparser.js');
Ti.include('../../include/lib/soupselect.js');

//var select = soupselect.select;
var htmlparser = require(&quot;./lib/htmlparser&quot;);

var body = '&lt;html&gt;&lt;head&gt;&lt;title&gt;Test&lt;/title&gt;&lt;/head&gt;'
+ '&lt;body&gt;'
+ '&lt;img src=&quot;http://cdn.cad-comic.com/comics/2859286598c11964un2ya69354216.jpg&quot; /&gt;'
+ '&lt;/body&gt;&lt;/html&gt;';

	var handler = new htmlparser.DefaultHandler(function(err, dom){
		itanium.API.info(&quot;dom : &quot;+dom);
	  if (err) {
	    alert('Error: ' + err);
	  } else {
	    var img = select(dom, 'img');
	 
	    img.forEach(function(img) {
	      alert('src: ' + img.attribs.src);
	    });
	   
	   alert('Ok: ');
	  }
	});
	
	var parser = new htmlparser.Parser(handler);
	parser.parseComplete(body);
`

I followed this tuto : [What is the best way to parse HTML?](http://developer.appcelerator.com/question/60731/what-is-the-best-way-to-parse-html)

But I have this error : 
[ERROR] Script Error = *** -[NSCFString substringFromIndex:]: Range or index out of bounds]]></description>
		<content:encoded><![CDATA[<p>Hello, I would like parse html result but I don't know exactly how.</p>

<p>I make this code :</p>

<p>`
htmlparser.js</p>

<p>exports = {};
htmlparser = exports;</p>

<p>soupselect.js</p>

<p>var domUtils = require(&quot;include/lib/htmlparser&quot;).DomUtils;
var domUtils = htmlparser.DomUtils;
soupselect = exports;</p>

<p>My current page</p>

<p>Ti.include('../../include/lib/htmlparser.js');
Ti.include('../../include/lib/soupselect.js');</p>

<p>//var select = soupselect.select;
var htmlparser = require(&quot;./lib/htmlparser&quot;);</p>

<p>var body = '&lt;html&gt;&lt;head&gt;&lt;title&gt;Test&lt;/title&gt;&lt;/head&gt;'
+ '&lt;body&gt;'
+ '&lt;img src=&quot;http://cdn.cad-comic.com/comics/2859286598c11964un2ya69354216.jpg&quot; /&gt;'
+ '&lt;/body&gt;&lt;/html&gt;';</p>

<pre><code>var handler = new htmlparser.DefaultHandler(function(err, dom){
    itanium.API.info(&amp;quot;dom : &amp;quot;+dom);
  if (err) {
    alert('Error: ' + err);
  } else {
    var img = select(dom, 'img');

    img.forEach(function(img) {
      alert('src: ' + img.attribs.src);
    });

   alert('Ok: ');
  }
});

var parser = new htmlparser.Parser(handler);
parser.parseComplete(body);
</code></pre>

<p>`</p>

<p>I followed this tuto : <a href="http://developer.appcelerator.com/question/60731/what-is-the-best-way-to-parse-html">What is the best way to parse HTML?</a></p>

<p>But I have this error : 
[ERROR] Script Error = *** -[NSCFString substringFromIndex:]: Range or index out of bounds</p>
]]></content:encoded>
	</item>
	<item>
		<title>JSON Arrays within an Array</title> 
		<link>http://developer.appcelerator.com/question/132927/json-arrays-within-an-array</link>
		<pubDate>Wed, 29 Feb 2012 02:29:29 -0800</pubDate>
		<dc:creator>Effendy Abdullah</dc:creator> 
				<category><![CDATA[mobile]]></category> 
				<category><![CDATA[data]]></category> 
				<category><![CDATA[xhr]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[appcelerator]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/132927/json-arrays-within-an-array</guid>
		<description><![CDATA[I'm fetching data from a server. The output is in JSON, but one of it has Arrays within an Array.

Example Output:
~~~
&quot;infos&quot;:[
    [
        {
            &quot;title&quot;:&quot;title 1&quot;,
            &quot;desciption&quot;:&quot;description 1&quot;
        },
        {
            &quot;title&quot;:&quot;title 2&quot;,
            &quot;description&quot;:&quot;description 2&quot;
        },
        {
            &quot;title&quot;:&quot;title 3&quot;,
            &quot;description&quot;:&quot;description 3&quot;
        }
    ]
],
~~~

What i'm trying to do:

~~~
var jsonData = JSON.parse(this.responseText); 
var info = jsonData.infos

for (var i = 0; i &lt; info.length; i++) {
    var title  = info[i].title; 
    var desc   = info[i].description;
}
~~~

if i:

~~~
Ti.API.info(info.length);
~~~

it will return as 1.

I need to know how to handle Arrays within an Array if it's even possible. Thanks!]]></description>
		<content:encoded><![CDATA[<p>I'm fetching data from a server. The output is in JSON, but one of it has Arrays within an Array.</p>

<p>Example Output:<pre class="javascript codeblock"><span class="st0">&quot;infos&quot;</span><span class="sy0">:</span><span class="br0">&#91;</span>
    <span class="br0">&#91;</span>
        <span class="br0">&#123;</span>
            <span class="st0">&quot;title&quot;</span><span class="sy0">:</span><span class="st0">&quot;title 1&quot;</span><span class="sy0">,</span>
            <span class="st0">&quot;desciption&quot;</span><span class="sy0">:</span><span class="st0">&quot;description 1&quot;</span>
        <span class="br0">&#125;</span><span class="sy0">,</span>
        <span class="br0">&#123;</span>
            <span class="st0">&quot;title&quot;</span><span class="sy0">:</span><span class="st0">&quot;title 2&quot;</span><span class="sy0">,</span>
            <span class="st0">&quot;description&quot;</span><span class="sy0">:</span><span class="st0">&quot;description 2&quot;</span>
        <span class="br0">&#125;</span><span class="sy0">,</span>
        <span class="br0">&#123;</span>
            <span class="st0">&quot;title&quot;</span><span class="sy0">:</span><span class="st0">&quot;title 3&quot;</span><span class="sy0">,</span>
            <span class="st0">&quot;description&quot;</span><span class="sy0">:</span><span class="st0">&quot;description 3&quot;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#93;</span>
<span class="br0">&#93;</span><span class="sy0">,</span></pre>
What i'm trying to do:
<pre class="javascript codeblock"><span class="kw2">var</span> jsonData <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span> 
<span class="kw2">var</span> info <span class="sy0">=</span> jsonData.<span class="me1">infos</span>
&nbsp;
<span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw2">var</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> info.<span class="me1">length</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> title  <span class="sy0">=</span> info<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">title</span><span class="sy0">;</span> 
    <span class="kw2">var</span> desc   <span class="sy0">=</span> info<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">description</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre>
if i:
<pre class="javascript codeblock">Ti.<span class="me1">API</span>.<span class="me1">info</span><span class="br0">&#40;</span>info.<span class="me1">length</span><span class="br0">&#41;</span><span class="sy0">;</span></pre>
it will return as 1.</p>

<p>I need to know how to handle Arrays within an Array if it's even possible. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>json</title> 
		<link>http://developer.appcelerator.com/question/151804/json</link>
		<pubDate>Wed, 01 May 2013 06:06:19 -0700</pubDate>
		<dc:creator>sherif sobhy</dc:creator> 
				<category><![CDATA[json]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151804/json</guid>
		<description><![CDATA[i'm trying to select from remote database and set data to tableview but there is nothing returned i don't know why just because i don't know anything in php and i don't have enough experience in titanium so please anyone help me there is my code :_

~~~
Ti.UI.backgroundColor = '#dddddd';
 
var url = &quot;http://10.0.2.2/table.php&quot;;
var win = Titanium.UI.currentWindow;  
var table = Ti.UI.createTableView();
var tableData = [];
var json, username, name, i, row, nameLabel;
 
var xhr = Ti.Network.createHTTPClient({
    onload: function() {
    // Ti.API.debug(this.responseText);
 
    json = JSON.parse(this.responseText);
    for (i = 0; i &lt; json.username.length; i++) {
        name = json.username[i];
        row = Ti.UI.createTableViewRow({
            height:'60dp'
        });
        nameLabel = Ti.UI.createLabel({
            text:name.username,
            font:{
                fontSize:'24dp',
            fontWeight:'bold'
        },
        height:'auto',
        left:'10dp',
        top:'5dp',
        color:'#000',
        touchEnabled:false
        });
        row.add(nameLabel);
        tableData.push(row);
        }
 
    table.setData(tableData);
    },
    onerror: function(e) {
    Ti.API.debug(&quot;STATUS: &quot; + this.status);
    Ti.API.debug(&quot;TEXT:   &quot; + this.responseText);
    Ti.API.debug(&quot;ERROR:  &quot; + e.error);
    alert('There was an error retrieving the remote data. Try again.');
    },
    timeout:5000
});
 
xhr.open(&quot;GET&quot;, url);
xhr.send();
 
win.add(table);
win.open();
~~~

my php file


~~~
&lt;?php  
$con = mysql_connect('localhost','root','');  
$db = mysql_select_db('sherif');  

$username = array();
$result = db_query('SELECT username FROM users');
while (  $row  =  db_fetch_array($result) )  {
  $username[] = $row['username'];
}
return $username;

?&gt;  




~~~]]></description>
		<content:encoded><![CDATA[<p>i'm trying to select from remote database and set data to tableview but there is nothing returned i don't know why just because i don't know anything in php and i don't have enough experience in titanium so please anyone help me there is my code :_
<pre class="javascript codeblock">Ti.<span class="me1">UI</span>.<span class="me1">backgroundColor</span> <span class="sy0">=</span> <span class="st0">'#dddddd'</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">&quot;http://10.0.2.2/table.php&quot;</span><span class="sy0">;</span>
<span class="kw2">var</span> win <span class="sy0">=</span> Titanium.<span class="me1">UI</span>.<span class="me1">currentWindow</span><span class="sy0">;</span>  
<span class="kw2">var</span> table <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTableView</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw2">var</span> tableData <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="kw2">var</span> json<span class="sy0">,</span> username<span class="sy0">,</span> <span class="kw3">name</span><span class="sy0">,</span> i<span class="sy0">,</span> row<span class="sy0">,</span> nameLabel<span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> xhr <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    <span class="kw3">onload</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">// Ti.API.debug(this.responseText);</span>
&nbsp;
    json <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw1">for</span> <span class="br0">&#40;</span>i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> json.<span class="me1">username</span>.<span class="me1">length</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw3">name</span> <span class="sy0">=</span> json.<span class="me1">username</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="sy0">;</span>
        row <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTableViewRow</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
            height<span class="sy0">:</span><span class="st0">'60dp'</span>
        <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        nameLabel <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createLabel</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
            text<span class="sy0">:</span><span class="kw3">name</span>.<span class="me1">username</span><span class="sy0">,</span>
            font<span class="sy0">:</span><span class="br0">&#123;</span>
                fontSize<span class="sy0">:</span><span class="st0">'24dp'</span><span class="sy0">,</span>
            fontWeight<span class="sy0">:</span><span class="st0">'bold'</span>
        <span class="br0">&#125;</span><span class="sy0">,</span>
        height<span class="sy0">:</span><span class="st0">'auto'</span><span class="sy0">,</span>
        left<span class="sy0">:</span><span class="st0">'10dp'</span><span class="sy0">,</span>
        top<span class="sy0">:</span><span class="st0">'5dp'</span><span class="sy0">,</span>
        color<span class="sy0">:</span><span class="st0">'#000'</span><span class="sy0">,</span>
        touchEnabled<span class="sy0">:</span><span class="kw2">false</span>
        <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        row.<span class="me1">add</span><span class="br0">&#40;</span>nameLabel<span class="br0">&#41;</span><span class="sy0">;</span>
        tableData.<span class="me1">push</span><span class="br0">&#40;</span>row<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
&nbsp;
    table.<span class="me1">setData</span><span class="br0">&#40;</span>tableData<span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    <span class="kw3">onerror</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="st0">&quot;STATUS: &quot;</span> <span class="sy0">+</span> <span class="kw1">this</span>.<span class="kw3">status</span><span class="br0">&#41;</span><span class="sy0">;</span>
    Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="st0">&quot;TEXT:   &quot;</span> <span class="sy0">+</span> <span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
    Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="st0">&quot;ERROR:  &quot;</span> <span class="sy0">+</span> e.<span class="me1">error</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'There was an error retrieving the remote data. Try again.'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    timeout<span class="sy0">:</span><span class="nu0">5000</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span><span class="sy0">,</span> url<span class="br0">&#41;</span><span class="sy0">;</span>
xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
win.<span class="me1">add</span><span class="br0">&#40;</span>table<span class="br0">&#41;</span><span class="sy0">;</span>
win.<span class="kw3">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre>
my php file</p>

<p><pre class="javascript codeblock"><span class="sy0">&lt;?</span>php  
$con <span class="sy0">=</span> mysql_connect<span class="br0">&#40;</span><span class="st0">'localhost'</span><span class="sy0">,</span><span class="st0">'root'</span><span class="sy0">,</span><span class="st0">''</span><span class="br0">&#41;</span><span class="sy0">;</span>  
$db <span class="sy0">=</span> mysql_select_db<span class="br0">&#40;</span><span class="st0">'sherif'</span><span class="br0">&#41;</span><span class="sy0">;</span>  
&nbsp;
$username <span class="sy0">=</span> array<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
$result <span class="sy0">=</span> db_query<span class="br0">&#40;</span><span class="st0">'SELECT username FROM users'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">while</span> <span class="br0">&#40;</span>  $row  <span class="sy0">=</span>  db_fetch_array<span class="br0">&#40;</span>$result<span class="br0">&#41;</span> <span class="br0">&#41;</span>  <span class="br0">&#123;</span>
  $username<span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> $row<span class="br0">&#91;</span><span class="st0">'username'</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="kw1">return</span> $username<span class="sy0">;</span>
&nbsp;
<span class="sy0">?&gt;</span></pre></p>
]]></content:encoded>
	</item>
	<item>
		<title>Map with Google Json</title> 
		<link>http://developer.appcelerator.com/question/151891/map-with-google-json</link>
		<pubDate>Thu, 02 May 2013 12:00:28 -0700</pubDate>
		<dc:creator>Lucas Caramelo</dc:creator> 
				<category><![CDATA[map]]></category> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[google]]></category> 
				<category><![CDATA[enjoy]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151891/map-with-google-json</guid>
		<description><![CDATA[I hope this helps every one

~~~
var win = Ti.UI.createWindow({
	title: 'Map Google'
});

var address = Ti.UI.createTextField({
	hintText: 'Your Address',
	top: 60,
	width: 400,
	left: 10
});

var ok = Ti.UI.createButton({
	title: 'Show Map',
	top: 60,
	width: 100,
	left: 420
});

var mapView = Titanium.Map.createView({
    top: '20%',
    mapType: Titanium.Map.STANDARD_TYPE,
    animate:true,
    regionFit:true,
    userLocation:true
});

ok.addEventListener('click', function(e){
	_infoAddressMap(address.value);
})

win.add(address);
win.add(ok);
win.add(mapView);

win.open();
~~~	

Function Part 1 
~~~
function _infoAddressMap(address)
{
	var url = 'http://maps.googleapis.com/maps/api/geocode/json?sensor=false&amp;address=' + address;
	var net = Ti.Network.createHTTPClient();
	var json;
	var result = new Object;
	var arr = [];
	var table = Ti.UI.createTableView();
	var number = null;
	
	var listAddress;
	
	net.onload = function(e)
	{
		json = JSON.parse(net.getResponseText());
		
		if(json.status == 'OK')
		{
			
			if(json.results.length &gt; 1)
			{
				for(var i = 0; i &lt; json.results.length; i++)
				{		
					var tableRow = Ti.UI.createTableViewRow();	
					
					for(var ad = 0; ad &lt; json.results[i].address_components.length;ad++)
					{
	
						if(json.results[i].address_components[ad].types[0] == 'route')
						{
							var route = json.results[i].address_components[ad].long_name;
						}
						
						if(json.results[i].address_components[ad].types[0] == 'street_number')
						{
							var number = json.results[i].address_components[ad].long_name;
						}
						
					}
					
					if(number != null)
					{
						route += ', ' + number;
					}
					
					
					var lblTile = Ti.UI.createLabel({
						text: route,
						top: 1,
						left: 1,
						id: i,
						font: {fontSize: 20}
					});
					
					
					var lblSubTile = Ti.UI.createLabel({
						text: json.results[i].formatted_address,
						left: 1,
						id: i,
						font: {fontSize: 15},
						bottom: 1
					});
					
					tableRow.id = i;
					tableRow.height = 50;
					tableRow.add(lblTile);
					tableRow.add(lblSubTile);

~~~

Function Part 2 

~~~
					tableRow.addEventListener('click', function(e)
					{
						var i = e.source.id;
						
						result.addr = json.results[i].formatted_address;
						
						for(var ad = 0; ad &lt; json.results[i].address_components.length;ad++)
						{
							if(json.results[i].address_components[ad].types[0] == 'postal_code')
							{
								result.postal_code = json.results[i].address_components[ad].long_name;
							}
							
							if(json.results[i].address_components[ad].types[0] == 'route')
							{
								result.route = json.results[i].address_components[ad].long_name;
							}
							
							if(json.results[i].address_components[ad].types[0] == 'sublocality')
							{
								result.sublocality = json.results[i].address_components[ad].long_name;
							}
							
							if(json.results[i].address_components[ad].types[0] == 'locality')
							{
								result.locality = json.results[i].address_components[ad].long_name;
							}
							
							if(json.results[i].address_components[ad].types[0] == 'country')
							{
								result.country = json.results[i].address_components[ad].long_name;
							}
							
							if(json.results[i].address_components[ad].types[0] == 'street_number')
							{
								number = json.results[i].address_components[ad].long_name;
							}
						}
						if(number != null)
						{
							result.route += ', ' + number;
						}
						
						result.latitude = json.results[i].geometry.location.lat;
						result.longitude = json.results[i].geometry.location.lng;
						listAddress.hide();
						map(result);
					})
					
					table.appendRow(tableRow);
					
				}
				
				listAddress = Ti.UI.createAlertDialog({
					androidView: table,
					title: 'Address List',
					buttonNames: ['Close'],
					cancel: 0
				})
				
				listAddress.show();
			}
			else
			{
				result.addr = json.results[0].formatted_address;
				result.latitude = json.results[0].geometry.location.lat;
				result.longitude = json.results[0].geometry.location.lng;
				for(var ad = 0; ad &lt; json.results[i].address_components.length;ad++)
				{
					if(json.results[0].address_components[ad].types[0] == 'postal_code')
					{
						result.postal_code = json.results[0].address_components[ad].long_name;
					}
					
					if(json.results[0].address_components[ad].types[0] == 'route')
					{
						result.route = json.results[0].address_components[ad].long_name;
					}
					
					if(json.results[0].address_components[ad].types[0] == 'sublocality')
					{
						result.sublocality = json.results[0].address_components[ad].long_name;
					}
					
					if(json.results[0].address_components[ad].types[0] == 'locality')
					{
						result.locality = json.results[0].address_components[ad].long_name;
					}
					
					if(json.results[0].address_components[ad].types[0] == 'country')
					{
						result.country = json.results[0].address_components[ad].long_name;
					}
					
					if(json.results[0].address_components[ad].types[0] == 'street_number')
					{
						number = json.results[0].address_components[ad].long_name;
					}
				}
				if(number != null)
				{
					result.route += ', ' + number;
				}
				
				map(result);
			}
		}
		else
		{
			Alert('Address Invalid');
		}
	}	
	
	net.onerror = function(e)
	{
		alert('Error');
	}
	
	net.open('GET', url);
	net.send();
}	
~~~

~~~
function map(arg){
	
	var mapAnotation = Titanium.Map.createAnnotation({
	    latitude: arg.latitude,
	    longitude: arg.longitude,
	    title: arg.route,
	    subtitle: arg.addr,
	    animate: true,
	    leftButton: 'img/c48x48.png',
	    image: 'img/i48x48.png'
	});
	
	mapView.region = {latitude:arg.latitude, longitude: arg.longitude, 
	         latitudeDelta:0.01, longitudeDelta:0.01};
	mapView.annotations = [mapAnotation];
	
	
}

win.addEventListener('android:back', function(e){
	return false;
})
~~~

Thank you and enjoy it :p]]></description>
		<content:encoded><![CDATA[<p>I hope this helps every one
<pre class="javascript codeblock"><span class="kw2">var</span> win <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createWindow</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    title<span class="sy0">:</span> <span class="st0">'Map Google'</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> address <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTextField</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    hintText<span class="sy0">:</span> <span class="st0">'Your Address'</span><span class="sy0">,</span>
    top<span class="sy0">:</span> <span class="nu0">60</span><span class="sy0">,</span>
    width<span class="sy0">:</span> <span class="nu0">400</span><span class="sy0">,</span>
    left<span class="sy0">:</span> <span class="nu0">10</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> ok <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createButton</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    title<span class="sy0">:</span> <span class="st0">'Show Map'</span><span class="sy0">,</span>
    top<span class="sy0">:</span> <span class="nu0">60</span><span class="sy0">,</span>
    width<span class="sy0">:</span> <span class="nu0">100</span><span class="sy0">,</span>
    left<span class="sy0">:</span> <span class="nu0">420</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> mapView <span class="sy0">=</span> Titanium.<span class="me1">Map</span>.<span class="me1">createView</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    top<span class="sy0">:</span> <span class="st0">'20%'</span><span class="sy0">,</span>
    mapType<span class="sy0">:</span> Titanium.<span class="me1">Map</span>.<span class="me1">STANDARD_TYPE</span><span class="sy0">,</span>
    animate<span class="sy0">:</span><span class="kw2">true</span><span class="sy0">,</span>
    regionFit<span class="sy0">:</span><span class="kw2">true</span><span class="sy0">,</span>
    userLocation<span class="sy0">:</span><span class="kw2">true</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
ok.<span class="me1">addEventListener</span><span class="br0">&#40;</span><span class="st0">'click'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span>
    _infoAddressMap<span class="br0">&#40;</span>address.<span class="me1">value</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span>
&nbsp;
win.<span class="me1">add</span><span class="br0">&#40;</span>address<span class="br0">&#41;</span><span class="sy0">;</span>
win.<span class="me1">add</span><span class="br0">&#40;</span>ok<span class="br0">&#41;</span><span class="sy0">;</span>
win.<span class="me1">add</span><span class="br0">&#40;</span>mapView<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
win.<span class="kw3">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre>
Function Part 1 <pre class="javascript codeblock"><span class="kw2">function</span> _infoAddressMap<span class="br0">&#40;</span>address<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">'http://maps.googleapis.com/maps/api/geocode/json?sensor=false&amp;address='</span> <span class="sy0">+</span> address<span class="sy0">;</span>
    <span class="kw2">var</span> net <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw2">var</span> json<span class="sy0">;</span>
    <span class="kw2">var</span> result <span class="sy0">=</span> <span class="kw2">new</span> Object<span class="sy0">;</span>
    <span class="kw2">var</span> arr <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">;</span>
    <span class="kw2">var</span> table <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTableView</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw2">var</span> number <span class="sy0">=</span> <span class="kw2">null</span><span class="sy0">;</span>
&nbsp;
    <span class="kw2">var</span> listAddress<span class="sy0">;</span>
&nbsp;
    net.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        json <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span>net.<span class="me1">getResponseText</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="kw3">status</span> <span class="sy0">==</span> <span class="st0">'OK'</span><span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
&nbsp;
            <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span>.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">1</span><span class="br0">&#41;</span>
            <span class="br0">&#123;</span>
                <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> json.<span class="me1">results</span>.<span class="me1">length</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span>
                <span class="br0">&#123;</span>       
                    <span class="kw2">var</span> tableRow <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTableViewRow</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>  
&nbsp;
                    <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> ad <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> ad <span class="sy0">&lt;</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span>.<span class="me1">length</span><span class="sy0">;</span>ad<span class="sy0">++</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
&nbsp;
                        <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'route'</span><span class="br0">&#41;</span>
                        <span class="br0">&#123;</span>
                            <span class="kw2">var</span> route <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                        <span class="br0">&#125;</span>
&nbsp;
                        <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'street_number'</span><span class="br0">&#41;</span>
                        <span class="br0">&#123;</span>
                            <span class="kw2">var</span> number <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                        <span class="br0">&#125;</span>
&nbsp;
                    <span class="br0">&#125;</span>
&nbsp;
                    <span class="kw1">if</span><span class="br0">&#40;</span>number <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        route <span class="sy0">+=</span> <span class="st0">', '</span> <span class="sy0">+</span> number<span class="sy0">;</span>
                    <span class="br0">&#125;</span>
&nbsp;
&nbsp;
                    <span class="kw2">var</span> lblTile <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createLabel</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
                        text<span class="sy0">:</span> route<span class="sy0">,</span>
                        top<span class="sy0">:</span> <span class="nu0">1</span><span class="sy0">,</span>
                        left<span class="sy0">:</span> <span class="nu0">1</span><span class="sy0">,</span>
                        id<span class="sy0">:</span> i<span class="sy0">,</span>
                        font<span class="sy0">:</span> <span class="br0">&#123;</span>fontSize<span class="sy0">:</span> <span class="nu0">20</span><span class="br0">&#125;</span>
                    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
                    <span class="kw2">var</span> lblSubTile <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createLabel</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
                        text<span class="sy0">:</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">formatted_address</span><span class="sy0">,</span>
                        left<span class="sy0">:</span> <span class="nu0">1</span><span class="sy0">,</span>
                        id<span class="sy0">:</span> i<span class="sy0">,</span>
                        font<span class="sy0">:</span> <span class="br0">&#123;</span>fontSize<span class="sy0">:</span> <span class="nu0">15</span><span class="br0">&#125;</span><span class="sy0">,</span>
                        bottom<span class="sy0">:</span> <span class="nu0">1</span>
                    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
                    tableRow.<span class="me1">id</span> <span class="sy0">=</span> i<span class="sy0">;</span>
                    tableRow.<span class="me1">height</span> <span class="sy0">=</span> <span class="nu0">50</span><span class="sy0">;</span>
                    tableRow.<span class="me1">add</span><span class="br0">&#40;</span>lblTile<span class="br0">&#41;</span><span class="sy0">;</span>
                    tableRow.<span class="me1">add</span><span class="br0">&#40;</span>lblSubTile<span class="br0">&#41;</span><span class="sy0">;</span></pre>
Function Part 2 
<pre class="javascript codeblock">tableRow.<span class="me1">addEventListener</span><span class="br0">&#40;</span><span class="st0">'click'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        <span class="kw2">var</span> i <span class="sy0">=</span> e.<span class="me1">source</span>.<span class="me1">id</span><span class="sy0">;</span>
&nbsp;
                        result.<span class="me1">addr</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">formatted_address</span><span class="sy0">;</span>
&nbsp;
                        <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> ad <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> ad <span class="sy0">&lt;</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span>.<span class="me1">length</span><span class="sy0">;</span>ad<span class="sy0">++</span><span class="br0">&#41;</span>
                        <span class="br0">&#123;</span>
                            <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'postal_code'</span><span class="br0">&#41;</span>
                            <span class="br0">&#123;</span>
                                result.<span class="me1">postal_code</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                            <span class="br0">&#125;</span>
&nbsp;
                            <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'route'</span><span class="br0">&#41;</span>
                            <span class="br0">&#123;</span>
                                result.<span class="me1">route</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                            <span class="br0">&#125;</span>
&nbsp;
                            <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'sublocality'</span><span class="br0">&#41;</span>
                            <span class="br0">&#123;</span>
                                result.<span class="me1">sublocality</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                            <span class="br0">&#125;</span>
&nbsp;
                            <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'locality'</span><span class="br0">&#41;</span>
                            <span class="br0">&#123;</span>
                                result.<span class="me1">locality</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                            <span class="br0">&#125;</span>
&nbsp;
                            <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'country'</span><span class="br0">&#41;</span>
                            <span class="br0">&#123;</span>
                                result.<span class="me1">country</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                            <span class="br0">&#125;</span>
&nbsp;
                            <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'street_number'</span><span class="br0">&#41;</span>
                            <span class="br0">&#123;</span>
                                number <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                            <span class="br0">&#125;</span>
                        <span class="br0">&#125;</span>
                        <span class="kw1">if</span><span class="br0">&#40;</span>number <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span>
                        <span class="br0">&#123;</span>
                            result.<span class="me1">route</span> <span class="sy0">+=</span> <span class="st0">', '</span> <span class="sy0">+</span> number<span class="sy0">;</span>
                        <span class="br0">&#125;</span>
&nbsp;
                        result.<span class="me1">latitude</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">geometry</span>.<span class="me1">location</span>.<span class="me1">lat</span><span class="sy0">;</span>
                        result.<span class="me1">longitude</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">geometry</span>.<span class="me1">location</span>.<span class="me1">lng</span><span class="sy0">;</span>
                        listAddress.<span class="me1">hide</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
                        map<span class="br0">&#40;</span>result<span class="br0">&#41;</span><span class="sy0">;</span>
                    <span class="br0">&#125;</span><span class="br0">&#41;</span>
&nbsp;
                    table.<span class="me1">appendRow</span><span class="br0">&#40;</span>tableRow<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
                <span class="br0">&#125;</span>
&nbsp;
                listAddress <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createAlertDialog</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
                    androidView<span class="sy0">:</span> table<span class="sy0">,</span>
                    title<span class="sy0">:</span> <span class="st0">'Address List'</span><span class="sy0">,</span>
                    buttonNames<span class="sy0">:</span> <span class="br0">&#91;</span><span class="st0">'Close'</span><span class="br0">&#93;</span><span class="sy0">,</span>
                    cancel<span class="sy0">:</span> <span class="nu0">0</span>
                <span class="br0">&#125;</span><span class="br0">&#41;</span>
&nbsp;
                listAddress.<span class="me1">show</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="br0">&#125;</span>
            <span class="kw1">else</span>
            <span class="br0">&#123;</span>
                result.<span class="me1">addr</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">formatted_address</span><span class="sy0">;</span>
                result.<span class="me1">latitude</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">geometry</span>.<span class="me1">location</span>.<span class="me1">lat</span><span class="sy0">;</span>
                result.<span class="me1">longitude</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">geometry</span>.<span class="me1">location</span>.<span class="me1">lng</span><span class="sy0">;</span>
                <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> ad <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> ad <span class="sy0">&lt;</span> json.<span class="me1">results</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">address_components</span>.<span class="me1">length</span><span class="sy0">;</span>ad<span class="sy0">++</span><span class="br0">&#41;</span>
                <span class="br0">&#123;</span>
                    <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'postal_code'</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        result.<span class="me1">postal_code</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                    <span class="br0">&#125;</span>
&nbsp;
                    <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'route'</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        result.<span class="me1">route</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                    <span class="br0">&#125;</span>
&nbsp;
                    <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'sublocality'</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        result.<span class="me1">sublocality</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                    <span class="br0">&#125;</span>
&nbsp;
                    <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'locality'</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        result.<span class="me1">locality</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                    <span class="br0">&#125;</span>
&nbsp;
                    <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'country'</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        result.<span class="me1">country</span> <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                    <span class="br0">&#125;</span>
&nbsp;
                    <span class="kw1">if</span><span class="br0">&#40;</span>json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">types</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="st0">'street_number'</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        number <span class="sy0">=</span> json.<span class="me1">results</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">address_components</span><span class="br0">&#91;</span>ad<span class="br0">&#93;</span>.<span class="me1">long_name</span><span class="sy0">;</span>
                    <span class="br0">&#125;</span>
                <span class="br0">&#125;</span>
                <span class="kw1">if</span><span class="br0">&#40;</span>number <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span>
                <span class="br0">&#123;</span>
                    result.<span class="me1">route</span> <span class="sy0">+=</span> <span class="st0">', '</span> <span class="sy0">+</span> number<span class="sy0">;</span>
                <span class="br0">&#125;</span>
&nbsp;
                map<span class="br0">&#40;</span>result<span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
        <span class="kw1">else</span>
        <span class="br0">&#123;</span>
            <span class="kw3">Alert</span><span class="br0">&#40;</span><span class="st0">'Address Invalid'</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>   
&nbsp;
    net.<span class="kw3">onerror</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'Error'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
    net.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'GET'</span><span class="sy0">,</span> url<span class="br0">&#41;</span><span class="sy0">;</span>
    net.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre><pre class="javascript codeblock"><span class="kw2">function</span> map<span class="br0">&#40;</span>arg<span class="br0">&#41;</span><span class="br0">&#123;</span>
&nbsp;
    <span class="kw2">var</span> mapAnotation <span class="sy0">=</span> Titanium.<span class="me1">Map</span>.<span class="me1">createAnnotation</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
        latitude<span class="sy0">:</span> arg.<span class="me1">latitude</span><span class="sy0">,</span>
        longitude<span class="sy0">:</span> arg.<span class="me1">longitude</span><span class="sy0">,</span>
        title<span class="sy0">:</span> arg.<span class="me1">route</span><span class="sy0">,</span>
        subtitle<span class="sy0">:</span> arg.<span class="me1">addr</span><span class="sy0">,</span>
        animate<span class="sy0">:</span> <span class="kw2">true</span><span class="sy0">,</span>
        leftButton<span class="sy0">:</span> <span class="st0">'img/c48x48.png'</span><span class="sy0">,</span>
        image<span class="sy0">:</span> <span class="st0">'img/i48x48.png'</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    mapView.<span class="me1">region</span> <span class="sy0">=</span> <span class="br0">&#123;</span>latitude<span class="sy0">:</span>arg.<span class="me1">latitude</span><span class="sy0">,</span> longitude<span class="sy0">:</span> arg.<span class="me1">longitude</span><span class="sy0">,</span> 
             latitudeDelta<span class="sy0">:</span><span class="nu0">0.01</span><span class="sy0">,</span> longitudeDelta<span class="sy0">:</span><span class="nu0">0.01</span><span class="br0">&#125;</span><span class="sy0">;</span>
    mapView.<span class="me1">annotations</span> <span class="sy0">=</span> <span class="br0">&#91;</span>mapAnotation<span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp;
&nbsp;
<span class="br0">&#125;</span>
&nbsp;
win.<span class="me1">addEventListener</span><span class="br0">&#40;</span><span class="st0">'android:back'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span></pre>
Thank you and enjoy it :p</p>
]]></content:encoded>
	</item>
	<item>
		<title>Problem with large amount of remote JSON data</title> 
		<link>http://developer.appcelerator.com/question/151856/problem-with-large-amount-of-remote-json-data</link>
		<pubDate>Thu, 02 May 2013 03:08:03 -0700</pubDate>
		<dc:creator>Informatica Grupogisma</dc:creator> 
				<category><![CDATA[data]]></category> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[json]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151856/problem-with-large-amount-of-remote-json-data</guid>
		<description><![CDATA[Hello,

i'm downloading a large amount of data (6MB) with httpClient. I use JSON.parse(this.responseText) to use the data and save then in sqlite.

In some devices (tablet samsung galaxy note, samsung galaxy ace) the first time the data is downloaded it works perfectly, but if a try again it fails (no error shown. In the onload function all the code before JSON.parse(this.responseText) works, but none of the code works after it.). If I close the app then try it later ¡it works again!

In other devices always fails (htc wildfire S).

I think that the problem is the amount of data because I try with less data and it works well.

¿someone has experience in that kind of situation? ¿Which is the best way to work with that quantity of data?

The code:

~~~
var url = myurl;
var xhr = Ti.Network.createHTTPClient({
    onload: function(e) {
	//some code and database open
       bbdd.execute('begin transaction');
        jsonObject=JSON.parse(this.responseText);
       for(i=0;i&lt;jsonObject.example_data.length;i++){
		//read lines and do the inserts
	}
	//some code and finish transaction and close database
	Ti.App.fireEvent('enddatainserts');
    },
    onerror: function(e) {
        // this function is called when an error occurs, including a timeout
        Ti.API.debug(e.error);
        alert('error');
    },
    timeout:5000  /* in milliseconds */
});
xhr.open(&quot;GET&quot;, url);
xhr.send();  
~~~

Thanks]]></description>
		<content:encoded><![CDATA[<p>Hello,</p>

<p>i'm downloading a large amount of data (6MB) with httpClient. I use JSON.parse(this.responseText) to use the data and save then in sqlite.</p>

<p>In some devices (tablet samsung galaxy note, samsung galaxy ace) the first time the data is downloaded it works perfectly, but if a try again it fails (no error shown. In the onload function all the code before JSON.parse(this.responseText) works, but none of the code works after it.). If I close the app then try it later ¡it works again!</p>

<p>In other devices always fails (htc wildfire S).</p>

<p>I think that the problem is the amount of data because I try with less data and it works well.</p>

<p>¿someone has experience in that kind of situation? ¿Which is the best way to work with that quantity of data?</p>

<p>The code:
<pre class="javascript codeblock"><span class="kw2">var</span> url <span class="sy0">=</span> myurl<span class="sy0">;</span>
<span class="kw2">var</span> xhr <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    <span class="kw3">onload</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">//some code and database open</span>
       bbdd.<span class="me1">execute</span><span class="br0">&#40;</span><span class="st0">'begin transaction'</span><span class="br0">&#41;</span><span class="sy0">;</span>
        jsonObject<span class="sy0">=</span>JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
       <span class="kw1">for</span><span class="br0">&#40;</span>i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span>i<span class="sy0">&lt;</span>jsonObject.<span class="me1">example_data</span>.<span class="me1">length</span><span class="sy0">;</span>i<span class="sy0">++</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
        <span class="co1">//read lines and do the inserts</span>
    <span class="br0">&#125;</span>
    <span class="co1">//some code and finish transaction and close database</span>
    Ti.<span class="me1">App</span>.<span class="me1">fireEvent</span><span class="br0">&#40;</span><span class="st0">'enddatainserts'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    <span class="kw3">onerror</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="co1">// this function is called when an error occurs, including a timeout</span>
        Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span>e.<span class="me1">error</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'error'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    timeout<span class="sy0">:</span><span class="nu0">5000</span>  <span class="co2">/* in milliseconds */</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span><span class="sy0">,</span> url<span class="br0">&#41;</span><span class="sy0">;</span>
xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre>
Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>Titanium HTTPClient Authentication Help</title> 
		<link>http://developer.appcelerator.com/question/151821/titanium-httpclient-authentication-help</link>
		<pubDate>Wed, 01 May 2013 12:20:09 -0700</pubDate>
		<dc:creator>Shawn Braune</dc:creator> 
				<category><![CDATA[mobile]]></category> 
				<category><![CDATA[api]]></category> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[titanium]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151821/titanium-httpclient-authentication-help</guid>
		<description><![CDATA[Yes, I am having trouble connecting to a webservice via titanium. Here is my code

JUST FYI, I have not disclosed the URL or credentials as they belong to a client and need to remain that way

~~~
var xhr = Titanium.Network.createHTTPClient();
xhr.onload = function() {
  var jsonObject = JSON.parse(this.responseText);

  // For debugging, if you want to see how the JSON parser see's the
  // response text, un-comment the line below

  Ti.API.info(jsonObject);
};

var uname = 'username';
var pass = 'password';
authstr = 'Basic ' + Titanium.Utils.base64encode(uname + ':' + pass);
Ti.API.info(authstr);

xhr.open(&quot;GET&quot;, &quot;URL&quot;);
xhr.setRequestHeader('Authorization', authstr);

xhr.send();
~~~

I know the credentials work, I have tried them in the browser but I keep getting this error

`Error Domain=ASIHTTPRequestErrorDomain Code=3 &quot;Authentication needed&quot; UserInfo=0xb339450 {NSLocalizedDescription=Authentication needed}`

Obviously it's not authenticating properly, not sure what is going on. I have followed what others have said but can't seem to figure it out. Could it be how the web service is receiving the header information? Could it be that it's not looking for that information? Any help would be appreciated.]]></description>
		<content:encoded><![CDATA[<p>Yes, I am having trouble connecting to a webservice via titanium. Here is my code</p>

<p>JUST FYI, I have not disclosed the URL or credentials as they belong to a client and need to remain that way
<pre class="javascript codeblock"><span class="kw2">var</span> xhr <span class="sy0">=</span> Titanium.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
xhr.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw2">var</span> jsonObject <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
  <span class="co1">// For debugging, if you want to see how the JSON parser see's the</span>
  <span class="co1">// response text, un-comment the line below</span>
&nbsp;
  Ti.<span class="me1">API</span>.<span class="me1">info</span><span class="br0">&#40;</span>jsonObject<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> uname <span class="sy0">=</span> <span class="st0">'username'</span><span class="sy0">;</span>
<span class="kw2">var</span> pass <span class="sy0">=</span> <span class="st0">'password'</span><span class="sy0">;</span>
authstr <span class="sy0">=</span> <span class="st0">'Basic '</span> <span class="sy0">+</span> Titanium.<span class="me1">Utils</span>.<span class="me1">base64encode</span><span class="br0">&#40;</span>uname <span class="sy0">+</span> <span class="st0">':'</span> <span class="sy0">+</span> pass<span class="br0">&#41;</span><span class="sy0">;</span>
Ti.<span class="me1">API</span>.<span class="me1">info</span><span class="br0">&#40;</span>authstr<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span><span class="sy0">,</span> <span class="st0">&quot;URL&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
xhr.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">'Authorization'</span><span class="sy0">,</span> authstr<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre>
I know the credentials work, I have tried them in the browser but I keep getting this error</p>

<p><code class="codeblock codeblock-inline">Error Domain=ASIHTTPRequestErrorDomain Code=3 &amp;quot;Authentication needed&amp;quot; UserInfo=0xb339450 {NSLocalizedDescription=Authentication needed}</code></p>

<p>Obviously it's not authenticating properly, not sure what is going on. I have followed what others have said but can't seem to figure it out. Could it be how the web service is receiving the header information? Could it be that it's not looking for that information? Any help would be appreciated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Problem in posting JSON data</title> 
		<link>http://developer.appcelerator.com/question/150008/problem-in-posting-json-data</link>
		<pubDate>Mon, 25 Mar 2013 06:54:22 -0700</pubDate>
		<dc:creator>Nadeem Mughal</dc:creator> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[post]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[titanium]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/150008/problem-in-posting-json-data</guid>
		<description><![CDATA[Hi Everyone, 

I want to post JSON data using HTTP request. I have read the official [docs](http://docs.appcelerator.com/titanium/latest/#!/guide/Handling_Remote_Data_with_HTTPClient_and_JSON) and I am working according to them.
I am using the following code: 

~~~
btn_sbmit.addEventListener('click', function(e){
		
		activityIndicator.show();
		var xhrpost = Ti.Network.createHTTPClient();
		
		xhrpost.onload = function(){
			activityIndicator.hide();
			alert('Posted successfully');
			alert(JSON.stringify(this.responseText));
		}
		
		var posturl = 'http://qudova.com/api.php';
		
		xhrpost.open('POST', posturl);
		xhrpost.setRequestHeader(&quot;Content-Type&quot;, &quot;application/json&quot;);
		xhrpost.setRequestHeader('charset','utf-8');
			var params = {
			ProjectID : picked_prj, 
    		RoleID : picked_rol,
    		FirstName: first.value,
    		LastName: last.value,  
			Phone: phone.value,
			Email: email.value,
			City: city.value,
			State: stat_drp.getSelectedRow(0).title,
			Zip: zip.value,
			Notes: notes.value,
		};
		xhrpost.send(params);
		
	});
	
~~~
If this is the correct way to post the JSON data. How would I check that data is posted ?? Will the url contain the posted data ??
I have never used post function of JSON so , I don't have much knowledge of that. Can anyone guide me inthe right direction.. I am working on Windows 7 , Testing on Android 4.2.2 ....
Thanks in Advance.]]></description>
		<content:encoded><![CDATA[<p>Hi Everyone,</p>

<p>I want to post JSON data using HTTP request. I have read the official <a href="http://docs.appcelerator.com/titanium/latest/#!/guide/Handling_Remote_Data_with_HTTPClient_and_JSON">docs</a> and I am working according to them.
I am using the following code: 
<pre class="javascript codeblock">btn_sbmit.<span class="me1">addEventListener</span><span class="br0">&#40;</span><span class="st0">'click'</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span>
&nbsp;
        activityIndicator.<span class="me1">show</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw2">var</span> xhrpost <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        xhrpost.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
            activityIndicator.<span class="me1">hide</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'Posted successfully'</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span>JSON.<span class="me1">stringify</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
&nbsp;
        <span class="kw2">var</span> posturl <span class="sy0">=</span> <span class="st0">'http://qudova.com/api.php'</span><span class="sy0">;</span>
&nbsp;
        xhrpost.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'POST'</span><span class="sy0">,</span> posturl<span class="br0">&#41;</span><span class="sy0">;</span>
        xhrpost.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">&quot;Content-Type&quot;</span><span class="sy0">,</span> <span class="st0">&quot;application/json&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        xhrpost.<span class="me1">setRequestHeader</span><span class="br0">&#40;</span><span class="st0">'charset'</span><span class="sy0">,</span><span class="st0">'utf-8'</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw2">var</span> params <span class="sy0">=</span> <span class="br0">&#123;</span>
            ProjectID <span class="sy0">:</span> picked_prj<span class="sy0">,</span> 
            RoleID <span class="sy0">:</span> picked_rol<span class="sy0">,</span>
            FirstName<span class="sy0">:</span> first.<span class="me1">value</span><span class="sy0">,</span>
            LastName<span class="sy0">:</span> last.<span class="me1">value</span><span class="sy0">,</span>  
            Phone<span class="sy0">:</span> phone.<span class="me1">value</span><span class="sy0">,</span>
            Email<span class="sy0">:</span> email.<span class="me1">value</span><span class="sy0">,</span>
            City<span class="sy0">:</span> city.<span class="me1">value</span><span class="sy0">,</span>
            State<span class="sy0">:</span> stat_drp.<span class="me1">getSelectedRow</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>.<span class="me1">title</span><span class="sy0">,</span>
            Zip<span class="sy0">:</span> zip.<span class="me1">value</span><span class="sy0">,</span>
            Notes<span class="sy0">:</span> notes.<span class="me1">value</span><span class="sy0">,</span>
        <span class="br0">&#125;</span><span class="sy0">;</span>
        xhrpost.<span class="me1">send</span><span class="br0">&#40;</span>params<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre>If this is the correct way to post the JSON data. How would I check that data is posted ?? Will the url contain the posted data ??
I have never used post function of JSON so , I don't have much knowledge of that. Can anyone guide me inthe right direction.. I am working on Windows 7 , Testing on Android 4.2.2 ....
Thanks in Advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Titanium error after BSOD</title> 
		<link>http://developer.appcelerator.com/question/150698/titanium-error-after-bsod</link>
		<pubDate>Tue, 09 Apr 2013 13:36:00 -0700</pubDate>
		<dc:creator>Terry Toh</dc:creator> 
				<category><![CDATA[error]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[titanium studio]]></category> 
				<category><![CDATA[bsod]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/150698/titanium-error-after-bsod</guid>
		<description><![CDATA[I've recently encountered an error message with Titanium and I have absoulutely no idea how to resolve it! It happened when one day my laptop ran out of battery with Titanium running. Upon restoring power to it after plugging in the power cable, I encountered a BSOD, which led me to restart my computer.

When it restarted, I opened Titanium again, and when I tried to run the emulator or run the app from my Android device, I was hit with the following error:

~~~
[ERROR] Exception occured while building Android project:
[ERROR] Traceback (most recent call last):
[ERROR] File &quot;C:\Users\Terry\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\android\builder.py&quot;, line 2412, in &lt;module&gt;
[ERROR] builder.build_and_run(True, avd_id, device_args=device_args, debugger_host=debugger_host)
[ERROR] File &quot;C:\Users\Terry\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\android\builder.py&quot;, line 2076, in build_and_run
[ERROR] last_build_info = simplejson.loads(open(build_info_path, 'r').read())
[ERROR] File &quot;C:\Users\Terry\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\common\simplejson\__init__.py&quot;, line 307, in loads
[ERROR]return _default_decoder.decode(s)
[ERROR]File &quot;C:\Users\Terry\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\common\simplejson\decoder.py&quot;, line 335, in decode
[ERROR]obj, end = self.raw_decode(s, idx=_w(s, 0).end())
[ERROR]File &quot;C:\Users\Terry\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\common\simplejson\decoder.py&quot;, line 353, in raw_decode
[ERROR]raise ValueError(&quot;No JSON object could be decoded&quot;)
[ERROR]ValueError: No JSON object could be decoded
~~~

Any help will be greatly appreciated!!! Thanks in advance!]]></description>
		<content:encoded><![CDATA[<p>I've recently encountered an error message with Titanium and I have absoulutely no idea how to resolve it! It happened when one day my laptop ran out of battery with Titanium running. Upon restoring power to it after plugging in the power cable, I encountered a BSOD, which led me to restart my computer.</p>

<p>When it restarted, I opened Titanium again, and when I tried to run the emulator or run the app from my Android device, I was hit with the following error:
<pre class="javascript codeblock"><span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span> Exception occured <span class="kw1">while</span> building Android project<span class="sy0">:</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span> Traceback <span class="br0">&#40;</span>most recent call last<span class="br0">&#41;</span><span class="sy0">:</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span> File <span class="st0">&quot;C:<span class="es0">\U</span>sers<span class="es0">\T</span>erry<span class="es0">\A</span>ppData<span class="es0">\R</span>oaming<span class="es0">\T</span>itanium<span class="es0">\m</span>obilesdk<span class="es0">\w</span>in32<span class="es0">\3</span>.0.2.GA<span class="es0">\a</span>ndroid<span class="es0">\b</span>uilder.py&quot;</span><span class="sy0">,</span> line <span class="nu0">2412</span><span class="sy0">,</span> <span class="kw1">in</span> <span class="sy0">&lt;</span>module<span class="sy0">&gt;</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span> builder.<span class="me1">build_and_run</span><span class="br0">&#40;</span><span class="kw2">True</span><span class="sy0">,</span> avd_id<span class="sy0">,</span> device_args<span class="sy0">=</span>device_args<span class="sy0">,</span> debugger_host<span class="sy0">=</span>debugger_host<span class="br0">&#41;</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span> File <span class="st0">&quot;C:<span class="es0">\U</span>sers<span class="es0">\T</span>erry<span class="es0">\A</span>ppData<span class="es0">\R</span>oaming<span class="es0">\T</span>itanium<span class="es0">\m</span>obilesdk<span class="es0">\w</span>in32<span class="es0">\3</span>.0.2.GA<span class="es0">\a</span>ndroid<span class="es0">\b</span>uilder.py&quot;</span><span class="sy0">,</span> line <span class="nu0">2076</span><span class="sy0">,</span> <span class="kw1">in</span> build_and_run
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span> last_build_info <span class="sy0">=</span> simplejson.<span class="me1">loads</span><span class="br0">&#40;</span><span class="kw3">open</span><span class="br0">&#40;</span>build_info_path<span class="sy0">,</span> <span class="st0">'r'</span><span class="br0">&#41;</span>.<span class="me1">read</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span> File <span class="st0">&quot;C:<span class="es0">\U</span>sers<span class="es0">\T</span>erry<span class="es0">\A</span>ppData<span class="es0">\R</span>oaming<span class="es0">\T</span>itanium<span class="es0">\m</span>obilesdk<span class="es0">\w</span>in32<span class="es0">\3</span>.0.2.GA<span class="es0">\c</span>ommon<span class="es0">\s</span>implejson<span class="es0">\_</span>_init__.py&quot;</span><span class="sy0">,</span> line <span class="nu0">307</span><span class="sy0">,</span> <span class="kw1">in</span> loads
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span><span class="kw1">return</span> _default_decoder.<span class="me1">decode</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span>File <span class="st0">&quot;C:<span class="es0">\U</span>sers<span class="es0">\T</span>erry<span class="es0">\A</span>ppData<span class="es0">\R</span>oaming<span class="es0">\T</span>itanium<span class="es0">\m</span>obilesdk<span class="es0">\w</span>in32<span class="es0">\3</span>.0.2.GA<span class="es0">\c</span>ommon<span class="es0">\s</span>implejson<span class="es0">\d</span>ecoder.py&quot;</span><span class="sy0">,</span> line <span class="nu0">335</span><span class="sy0">,</span> <span class="kw1">in</span> decode
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span>obj<span class="sy0">,</span> end <span class="sy0">=</span> self.<span class="me1">raw_decode</span><span class="br0">&#40;</span>s<span class="sy0">,</span> idx<span class="sy0">=</span>_w<span class="br0">&#40;</span>s<span class="sy0">,</span> <span class="nu0">0</span><span class="br0">&#41;</span>.<span class="me1">end</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span>File <span class="st0">&quot;C:<span class="es0">\U</span>sers<span class="es0">\T</span>erry<span class="es0">\A</span>ppData<span class="es0">\R</span>oaming<span class="es0">\T</span>itanium<span class="es0">\m</span>obilesdk<span class="es0">\w</span>in32<span class="es0">\3</span>.0.2.GA<span class="es0">\c</span>ommon<span class="es0">\s</span>implejson<span class="es0">\d</span>ecoder.py&quot;</span><span class="sy0">,</span> line <span class="nu0">353</span><span class="sy0">,</span> <span class="kw1">in</span> raw_decode
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span>raise ValueError<span class="br0">&#40;</span><span class="st0">&quot;No JSON object could be decoded&quot;</span><span class="br0">&#41;</span>
<span class="br0">&#91;</span>ERROR<span class="br0">&#93;</span>ValueError<span class="sy0">:</span> No JSON object could be decoded</pre>
Any help will be greatly appreciated!!! Thanks in advance!</p>
]]></content:encoded>
	</item>
	<item>
		<title>JSON.parse cannot return length (==undefined)</title> 
		<link>http://developer.appcelerator.com/question/131660/jsonparse-cannot-return-length-undefined</link>
		<pubDate>Sat, 04 Feb 2012 07:56:20 -0800</pubDate>
		<dc:creator>Mathew Oakleaf</dc:creator> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[json.parse]]></category> 
				<category><![CDATA[json_encode]]></category> 
				<category><![CDATA[json length]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/131660/jsonparse-cannot-return-length-undefined</guid>
		<description><![CDATA[Hi, I've searched for this problem a bit now and cannot figure out why it doesnt work.

Running the latest SDK (1.8) with iPhone 5.0.

Im creating a JSON-object from the server with php and json_encode. Here's the json-data which is returned in my app:
~~~
{
    &quot;1&quot;: {
        &quot;name&quot;: &quot;Fresh&quot;
    },
    &quot;2&quot;: {
        &quot;name&quot;: &quot;Office&quot;
    },
    &quot;3&quot;: {
        &quot;name&quot;: &quot;Megamixes&quot;
    }
}
~~~

And im running this in the app:
~~~
	var request = Ti.Network.createHTTPClient();
	
	request.open(&quot;GET&quot;, url);

	request.onload = function()
	{
		var playlists = JSON.parse(this.responseText);

		Ti.Info(&quot;num playlists: &quot; + playlists.length);
	};

~~~

If I run &quot;alert(playlists[1]['name']);&quot; I get the name from playlist with the Key 1. Why cant I get the length of the JSON-object?

Need it so I can for-loop all the results..]]></description>
		<content:encoded><![CDATA[<p>Hi, I've searched for this problem a bit now and cannot figure out why it doesnt work.</p>

<p>Running the latest SDK (1.8) with iPhone 5.0.</p>

<p>Im creating a JSON-object from the server with php and json_encode. Here's the json-data which is returned in my app:<pre class="javascript codeblock"><span class="br0">&#123;</span>
    <span class="st0">&quot;1&quot;</span><span class="sy0">:</span> <span class="br0">&#123;</span>
        <span class="st0">&quot;name&quot;</span><span class="sy0">:</span> <span class="st0">&quot;Fresh&quot;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    <span class="st0">&quot;2&quot;</span><span class="sy0">:</span> <span class="br0">&#123;</span>
        <span class="st0">&quot;name&quot;</span><span class="sy0">:</span> <span class="st0">&quot;Office&quot;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    <span class="st0">&quot;3&quot;</span><span class="sy0">:</span> <span class="br0">&#123;</span>
        <span class="st0">&quot;name&quot;</span><span class="sy0">:</span> <span class="st0">&quot;Megamixes&quot;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre>
And im running this in the app:<pre class="javascript codeblock"><span class="kw2">var</span> request <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    request.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span><span class="sy0">,</span> url<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    request.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span class="kw2">var</span> playlists <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        Ti.<span class="me1">Info</span><span class="br0">&#40;</span><span class="st0">&quot;num playlists: &quot;</span> <span class="sy0">+</span> playlists.<span class="me1">length</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">;</span></pre>
If I run &quot;alert(playlists[1]['name']);&quot; I get the name from playlist with the Key 1. Why cant I get the length of the JSON-object?</p>

<p>Need it so I can for-loop all the results..</p>
]]></content:encoded>
	</item>
	<item>
		<title>callback function... help me please!!!</title> 
		<link>http://developer.appcelerator.com/question/151571/callback-function-help-me-please</link>
		<pubDate>Thu, 25 Apr 2013 07:58:22 -0700</pubDate>
		<dc:creator>Daniel Muñoz</dc:creator> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[callback function]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151571/callback-function-help-me-please</guid>
		<description><![CDATA[i've a array with elements content one url of the json data:
~~~
jsonData['programas'] = 'https://eurekalab.com.mx/apps/radiocongreso/index.php?option=com_obrss&amp;task=feed&amp;id=2';
~~~

and i've a function to read this array and save in file for each elements... the problem is when read the json not wait for finish to write file... and get error...

in the jsonLoad function, the parameter &quot;jsonData&quot; is the array content the url's of json, and &quot;force&quot; is one parameter to force the update of the files in the device...

jsonLoad.js:

~~~
exports.jsonLoad = function(jsonData, force) {
	var dataDirectory;
	var osname = Ti.Platform.osname;
	// En  iPhone y android la ruta de la carpeta escribible son distintas
	// necesitamos determinar la carpeta correcta en cada plataforma
	
	// detectamos la plataforma
	if( osname == 'android' )
		dataDirectory = Ti.Filesystem.applicationDataDirectory;
	else 
		dataDirectory = Ti.Filesystem.applicationSupportDirectory;
		
	for(var filename in jsonData) {
		var file = Ti.Filesystem.getFile(dataDirectory,filename+'.json');

		// se encuentra el archivo
    	if ( file.exists() )
   		{
   			// obtenemos la fecha de ultima modificacion del archivo
        	fileDate = new Date(file.modificationTimestamp());
        	fileDate.setHours(0,0,0,0);
        	// obtenemos la fecha actual
			var currentDate = new Date();
			if(!force) currentDate.setHours(0,0,0,0);
			// la fecha del archivo es menor que la actual... desactualizado!
			if(fileDate &lt; currentDate) {
				// comprobamos la conexion a internet
				if(Titanium.Network.online) {
					var json;
					var xhr = Ti.Network.createHTTPClient();
					xhr.onload = function() {
						//  guardamos el json descargado
						file.write(this.responseText)
					};
			
					xhr.open('GET', jsonData[filename]);
					xhr.send();   		
				}
			}
   		} 
   		// no se encuentra el archivo
   		else {
			// comprobamos la coneccion a internet
			if(Titanium.Network.online) {
				var json;
				var xhr = Ti.Network.createHTTPClient();
				xhr.onload = function() {
					// guardamos el json original en el archivo nuevo
					file.write(this.responseText);
				};
			
				xhr.open('GET', jsonData[filename]);
				xhr.send();   		
			}
			// no hay internet
			else {
				// copiamos el archivo original de /data a la carpeta escribible de la plataforma
				var fileSource = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory+'data/',filename+'.json');
				file.write( fileSource.read() );
			}
		}
		
	} // fin del for
};
~~~]]></description>
		<content:encoded><![CDATA[<p>i've a array with elements content one url of the json data:<pre class="javascript codeblock">jsonData<span class="br0">&#91;</span><span class="st0">'programas'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">'https://eurekalab.com.mx/apps/radiocongreso/index.php?option=com_obrss&amp;task=feed&amp;id=2'</span><span class="sy0">;</span></pre>
and i've a function to read this array and save in file for each elements... the problem is when read the json not wait for finish to write file... and get error...</p>

<p>in the jsonLoad function, the parameter &quot;jsonData&quot; is the array content the url's of json, and &quot;force&quot; is one parameter to force the update of the files in the device...</p>

<p>jsonLoad.js:
<pre class="javascript codeblock">exports.<span class="me1">jsonLoad</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>jsonData<span class="sy0">,</span> force<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> dataDirectory<span class="sy0">;</span>
    <span class="kw2">var</span> osname <span class="sy0">=</span> Ti.<span class="me1">Platform</span>.<span class="me1">osname</span><span class="sy0">;</span>
    <span class="co1">// En  iPhone y android la ruta de la carpeta escribible son distintas</span>
    <span class="co1">// necesitamos determinar la carpeta correcta en cada plataforma</span>
&nbsp;
    <span class="co1">// detectamos la plataforma</span>
    <span class="kw1">if</span><span class="br0">&#40;</span> osname <span class="sy0">==</span> <span class="st0">'android'</span> <span class="br0">&#41;</span>
        dataDirectory <span class="sy0">=</span> Ti.<span class="me1">Filesystem</span>.<span class="me1">applicationDataDirectory</span><span class="sy0">;</span>
    <span class="kw1">else</span> 
        dataDirectory <span class="sy0">=</span> Ti.<span class="me1">Filesystem</span>.<span class="me1">applicationSupportDirectory</span><span class="sy0">;</span>
&nbsp;
    <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> filename <span class="kw1">in</span> jsonData<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw2">var</span> file <span class="sy0">=</span> Ti.<span class="me1">Filesystem</span>.<span class="me1">getFile</span><span class="br0">&#40;</span>dataDirectory<span class="sy0">,</span>filename<span class="sy0">+</span><span class="st0">'.json'</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        <span class="co1">// se encuentra el archivo</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span> file.<span class="me1">exists</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span>
        <span class="br0">&#123;</span>
            <span class="co1">// obtenemos la fecha de ultima modificacion del archivo</span>
            fileDate <span class="sy0">=</span> <span class="kw2">new</span> Date<span class="br0">&#40;</span>file.<span class="me1">modificationTimestamp</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            fileDate.<span class="me1">setHours</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="co1">// obtenemos la fecha actual</span>
            <span class="kw2">var</span> currentDate <span class="sy0">=</span> <span class="kw2">new</span> Date<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span>force<span class="br0">&#41;</span> currentDate.<span class="me1">setHours</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">0</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="co1">// la fecha del archivo es menor que la actual... desactualizado!</span>
            <span class="kw1">if</span><span class="br0">&#40;</span>fileDate <span class="sy0">&lt;</span> currentDate<span class="br0">&#41;</span> <span class="br0">&#123;</span>
                <span class="co1">// comprobamos la conexion a internet</span>
                <span class="kw1">if</span><span class="br0">&#40;</span>Titanium.<span class="me1">Network</span>.<span class="me1">online</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
                    <span class="kw2">var</span> json<span class="sy0">;</span>
                    <span class="kw2">var</span> xhr <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
                    xhr.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
                        <span class="co1">//  guardamos el json descargado</span>
                        file.<span class="kw1">write</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span>
                    <span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
                    xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'GET'</span><span class="sy0">,</span> jsonData<span class="br0">&#91;</span>filename<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span>
                    xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>         
                <span class="br0">&#125;</span>
            <span class="br0">&#125;</span>
        <span class="br0">&#125;</span> 
        <span class="co1">// no se encuentra el archivo</span>
        <span class="kw1">else</span> <span class="br0">&#123;</span>
            <span class="co1">// comprobamos la coneccion a internet</span>
            <span class="kw1">if</span><span class="br0">&#40;</span>Titanium.<span class="me1">Network</span>.<span class="me1">online</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
                <span class="kw2">var</span> json<span class="sy0">;</span>
                <span class="kw2">var</span> xhr <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
                xhr.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
                    <span class="co1">// guardamos el json original en el archivo nuevo</span>
                    file.<span class="kw1">write</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
                <span class="br0">&#125;</span><span class="sy0">;</span>
&nbsp;
                xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'GET'</span><span class="sy0">,</span> jsonData<span class="br0">&#91;</span>filename<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span>
                xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>         
            <span class="br0">&#125;</span>
            <span class="co1">// no hay internet</span>
            <span class="kw1">else</span> <span class="br0">&#123;</span>
                <span class="co1">// copiamos el archivo original de /data a la carpeta escribible de la plataforma</span>
                <span class="kw2">var</span> fileSource <span class="sy0">=</span> Ti.<span class="me1">Filesystem</span>.<span class="me1">getFile</span><span class="br0">&#40;</span>Ti.<span class="me1">Filesystem</span>.<span class="me1">resourcesDirectory</span><span class="sy0">+</span><span class="st0">'data/'</span><span class="sy0">,</span>filename<span class="sy0">+</span><span class="st0">'.json'</span><span class="br0">&#41;</span><span class="sy0">;</span>
                file.<span class="kw1">write</span><span class="br0">&#40;</span> fileSource.<span class="me1">read</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="br0">&#125;</span>
        <span class="br0">&#125;</span>
&nbsp;
    <span class="br0">&#125;</span> <span class="co1">// fin del for</span>
<span class="br0">&#125;</span><span class="sy0">;</span></pre></p>
]]></content:encoded>
	</item>
	<item>
		<title>callback function... help!!!</title> 
		<link>http://developer.appcelerator.com/question/151570/callback-function-help</link>
		<pubDate>Thu, 25 Apr 2013 07:44:51 -0700</pubDate>
		<dc:creator>Daniel Muñoz</dc:creator> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[callback]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151570/callback-function-help</guid>
		<description><![CDATA[hi i need help to solve this:

i've a config.js with this:

// array with elements content one url (json data)
jsonData['programas'] = 'https://eurekalab.com.mx/apps/radiocongreso/index.php?option=com_obrss&amp;task=feed&amp;id=2';

and jsonLoad.js, jsonLoad function read the json and save in one file, for each elements in jsonData, but the problem is titanium not wait for the result of json and not save the file.
function dataLoad read the file and return the json data.

how to implement a callback function in jsonLoad ????

jsonLoad.js:

exports.jsonLoad = function(jsonData, force) {
	var dataDirectory;
	var osname = Ti.Platform.osname;
	// En  iPhone y android la ruta de la carpeta escribible son distintas
	// necesitamos determinar la carpeta correcta en cada plataforma
	
	// detectamos la plataforma
	if( osname == 'android' )
		dataDirectory = Ti.Filesystem.applicationDataDirectory;
	else 
		dataDirectory = Ti.Filesystem.applicationSupportDirectory;
		
	for(var filename in jsonData) {
		var file = Ti.Filesystem.getFile(dataDirectory,filename+'.json');

		// se encuentra el archivo
    	if ( file.exists() )
   		{
   			// obtenemos la fecha de ultima modificacion del archivo
        	fileDate = new Date(file.modificationTimestamp());
        	fileDate.setHours(0,0,0,0);
        	// obtenemos la fecha actual
			var currentDate = new Date();
			if(!force) currentDate.setHours(0,0,0,0);
			// la fecha del archivo es menor que la actual... desactualizado!
			if(fileDate &lt; currentDate) {
				// comprobamos la conexion a internet
				if(Titanium.Network.online) {
					var json;
					var xhr = Ti.Network.createHTTPClient();
					xhr.onload = function() {
						//  guardamos el json descargado
						file.write(this.responseText)
					};
			
					xhr.open('GET', jsonData[filename]);
					xhr.send();   		
				}
			}
   		} 
   		// no se encuentra el archivo
   		else {
			// comprobamos la coneccion a internet
			if(Titanium.Network.online) {
				var json;
				var xhr = Ti.Network.createHTTPClient();
				xhr.onload = function() {
					// guardamos el json original en el archivo nuevo
					file.write(this.responseText);
				};
			
				xhr.open('GET', jsonData[filename]);
				xhr.send();   		
			}
			// no hay internet
			else {
				// copiamos el archivo original de /data a la carpeta escribible de la plataforma
				var fileSource = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory+'data/',filename+'.json');
				file.write( fileSource.read() );
			}
		}
		
	} // fin del for
};

exports.dataLoad = function(filename) {
	var dataDirectory;
	var osname = Ti.Platform.osname;
	// En  iPhone y android la ruta de la carpeta escribible son distintas
	// necesitamos determinar la carpeta correcta en cada plataforma
	
	// detectamos la plataforma
	if( osname == 'android' )
		dataDirectory = Ti.Filesystem.applicationDataDirectory;
	else 
		dataDirectory = Ti.Filesystem.applicationSupportDirectory;
		
	var file = Ti.Filesystem.getFile(dataDirectory,filename+'.json');
	if ( file.exists() )
	{
		var data = file.read().text;
		var json = JSON.parse(data);
		var items = json.value;
	}
	
	return items;
}]]></description>
		<content:encoded><![CDATA[<p>hi i need help to solve this:</p>

<p>i've a config.js with this:</p>

<p>// array with elements content one url (json data)
jsonData['programas'] = 'https://eurekalab.com.mx/apps/radiocongreso/index.php?option=com_obrss&amp;task=feed&amp;id=2';</p>

<p>and jsonLoad.js, jsonLoad function read the json and save in one file, for each elements in jsonData, but the problem is titanium not wait for the result of json and not save the file.
function dataLoad read the file and return the json data.</p>

<p>how to implement a callback function in jsonLoad ????</p>

<p>jsonLoad.js:</p>

<p>exports.jsonLoad = function(jsonData, force) {
    var dataDirectory;
    var osname = Ti.Platform.osname;
    // En  iPhone y android la ruta de la carpeta escribible son distintas
    // necesitamos determinar la carpeta correcta en cada plataforma</p>

<pre><code>// detectamos la plataforma
if( osname == 'android' )
    dataDirectory = Ti.Filesystem.applicationDataDirectory;
else 
    dataDirectory = Ti.Filesystem.applicationSupportDirectory;

for(var filename in jsonData) {
    var file = Ti.Filesystem.getFile(dataDirectory,filename+'.json');

    // se encuentra el archivo
    if ( file.exists() )
    {
        // obtenemos la fecha de ultima modificacion del archivo
        fileDate = new Date(file.modificationTimestamp());
        fileDate.setHours(0,0,0,0);
        // obtenemos la fecha actual
        var currentDate = new Date();
        if(!force) currentDate.setHours(0,0,0,0);
        // la fecha del archivo es menor que la actual... desactualizado!
        if(fileDate &amp;lt; currentDate) {
            // comprobamos la conexion a internet
            if(Titanium.Network.online) {
                var json;
                var xhr = Ti.Network.createHTTPClient();
                xhr.onload = function() {
                    //  guardamos el json descargado
                    file.write(this.responseText)
                };

                xhr.open('GET', jsonData[filename]);
                xhr.send();         
            }
        }
    } 
    // no se encuentra el archivo
    else {
        // comprobamos la coneccion a internet
        if(Titanium.Network.online) {
            var json;
            var xhr = Ti.Network.createHTTPClient();
            xhr.onload = function() {
                // guardamos el json original en el archivo nuevo
                file.write(this.responseText);
            };

            xhr.open('GET', jsonData[filename]);
            xhr.send();         
        }
        // no hay internet
        else {
            // copiamos el archivo original de /data a la carpeta escribible de la plataforma
            var fileSource = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory+'data/',filename+'.json');
            file.write( fileSource.read() );
        }
    }

} // fin del for
</code></pre>

<p>};</p>

<p>exports.dataLoad = function(filename) {
    var dataDirectory;
    var osname = Ti.Platform.osname;
    // En  iPhone y android la ruta de la carpeta escribible son distintas
    // necesitamos determinar la carpeta correcta en cada plataforma</p>

<pre><code>// detectamos la plataforma
if( osname == 'android' )
    dataDirectory = Ti.Filesystem.applicationDataDirectory;
else 
    dataDirectory = Ti.Filesystem.applicationSupportDirectory;

var file = Ti.Filesystem.getFile(dataDirectory,filename+'.json');
if ( file.exists() )
{
    var data = file.read().text;
    var json = JSON.parse(data);
    var items = json.value;
}

return items;
</code></pre>

<p>}</p>
]]></content:encoded>
	</item>
	<item>
		<title>don't want to assign JSON data to table</title> 
		<link>http://developer.appcelerator.com/question/151519/dont-want-to-assign-json-data-to-table</link>
		<pubDate>Wed, 24 Apr 2013 11:28:02 -0700</pubDate>
		<dc:creator>Clay Richmond</dc:creator> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[ipad]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151519/dont-want-to-assign-json-data-to-table</guid>
		<description><![CDATA[All the examples I have found return JSON retrieved data to a table ... I don't want to do that I want to return the data to various labels around the screen...

my json data

~~~

{
    &quot;Stats&quot;: [
        {
            &quot;Stat&quot;: &quot;71&quot;
            
        },
        {
            &quot;Stat&quot;: &quot;82&quot;
            
        },
        {
            &quot;Stat&quot;: &quot;63&quot;
            
        },

~~~

my code to retrieve onload 

~~~

onload: function(e) {
    	GetIt = JSON.parse(this.responseText);
    	for (i = 0; i &lt; GetIt.Stats.length; i++){
    		FSptsWon.text =GetIt.Stats[0];
ptsWon2ndS.text=GetIt.Stats[1];
servingpercent1st.text =GetIt.Stats[2];
servingpercent2nd.text =GetIt.Stats[3];
}
    	Ti.API.info('This is line 1 ' + ptsWon2ndS);
    	Ti.API.info('this is line 2 ' + servingpercent1st);
    	
        Ti.API.debug(this.responseText);
        alert('success');
    },
    onerror: function(e) {
        Ti.API.debug(e.error);
        alert('error');
    },
    timeout:5000
});

xhr.open(&quot;GET&quot;, url);
xhr.send();
};

~~~

What it is returning is 
[INFO] :   This is line 1 [object Object]
[INFO] :   this is line 2 [object Object]

how would I format this so I strip off the 'Stat; &quot; and return the number to the label I want ?]]></description>
		<content:encoded><![CDATA[<p>All the examples I have found return JSON retrieved data to a table ... I don't want to do that I want to return the data to various labels around the screen...</p>

<p>my json data
<pre class="javascript codeblock"><span class="br0">&#123;</span>
    <span class="st0">&quot;Stats&quot;</span><span class="sy0">:</span> <span class="br0">&#91;</span>
        <span class="br0">&#123;</span>
            <span class="st0">&quot;Stat&quot;</span><span class="sy0">:</span> <span class="st0">&quot;71&quot;</span>
&nbsp;
        <span class="br0">&#125;</span><span class="sy0">,</span>
        <span class="br0">&#123;</span>
            <span class="st0">&quot;Stat&quot;</span><span class="sy0">:</span> <span class="st0">&quot;82&quot;</span>
&nbsp;
        <span class="br0">&#125;</span><span class="sy0">,</span>
        <span class="br0">&#123;</span>
            <span class="st0">&quot;Stat&quot;</span><span class="sy0">:</span> <span class="st0">&quot;63&quot;</span>
&nbsp;
        <span class="br0">&#125;</span><span class="sy0">,</span></pre>
my code to retrieve onload 
<pre class="javascript codeblock"><span class="kw3">onload</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        GetIt <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw1">for</span> <span class="br0">&#40;</span>i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> GetIt.<span class="me1">Stats</span>.<span class="me1">length</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
            FSptsWon.<span class="me1">text</span> <span class="sy0">=</span>GetIt.<span class="me1">Stats</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span>
ptsWon2ndS.<span class="me1">text</span><span class="sy0">=</span>GetIt.<span class="me1">Stats</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">;</span>
servingpercent1st.<span class="me1">text</span> <span class="sy0">=</span>GetIt.<span class="me1">Stats</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="sy0">;</span>
servingpercent2nd.<span class="me1">text</span> <span class="sy0">=</span>GetIt.<span class="me1">Stats</span><span class="br0">&#91;</span><span class="nu0">3</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
        Ti.<span class="me1">API</span>.<span class="me1">info</span><span class="br0">&#40;</span><span class="st0">'This is line 1 '</span> <span class="sy0">+</span> ptsWon2ndS<span class="br0">&#41;</span><span class="sy0">;</span>
        Ti.<span class="me1">API</span>.<span class="me1">info</span><span class="br0">&#40;</span><span class="st0">'this is line 2 '</span> <span class="sy0">+</span> servingpercent1st<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
        Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'success'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    <span class="kw3">onerror</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span>e.<span class="me1">error</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'error'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span><span class="sy0">,</span>
    timeout<span class="sy0">:</span><span class="nu0">5000</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span><span class="sy0">,</span> url<span class="br0">&#41;</span><span class="sy0">;</span>
xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">;</span></pre>
What it is returning is 
[INFO] :   This is line 1 [object Object]
[INFO] :   this is line 2 [object Object]</p>

<p>how would I format this so I strip off the 'Stat; &quot; and return the number to the label I want ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Where/How to add eventListener</title> 
		<link>http://developer.appcelerator.com/question/151513/wherehow-to-add-eventlistener</link>
		<pubDate>Wed, 24 Apr 2013 09:49:57 -0700</pubDate>
		<dc:creator>David Nevels</dc:creator> 
				<category><![CDATA[javascript]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[ios6]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/151513/wherehow-to-add-eventlistener</guid>
		<description><![CDATA[I am building a Titanium mobile app for iOS. I have a search field where the user input is passed to the remote server. A php file queries the database and returns the resultset as JSON that I place in a table. My php file works as intended and the code on the device that gets the JSON data worked before I tried to add the search field. I think my problem is proper placement of the

`customSearchField.addEventListener(&quot;return&quot;, function(e) { `

Would someone be so kind as to show me where I should place this event listener and what code will be inside it so the remainder of the code works? Here is the relevant portion of my code:

~~~
var customSearchBar = Ti.UI.createView({
    backgroundColor: '#28517A',
    height: 42,
    top: 0,
    width: Ti.UI.FILL
});

var customSearchField = Ti.UI.createTextField({
    autocorrect: false,
    borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
    clearOnEdit: true,
    height: 28,
    hintText: 'Search For Product or Service',
    textAlign: 'center',
    width: '90%',
});
customSearchBar.add(customSearchField);

win.add(customSearchBar);

var view = Ti.UI.createView({
backgroundColor: 'transparent',
top: '80dp',
bottom:'60dp'   
});

var table = Ti.UI.createTableView({
backgroundColor: 'transparent',
top: '0dp',
bottom:'0dp'
});

var tableData = [];

//Here is the event Listener in question
customSearchField.addEventListener(&quot;return&quot;, function(e) {
var url = &quot;http://mydomain.com/list.php?title=&quot;+customSearchField;

var xhr = Ti.Network.createHTTPClient({
    onload: function() {
    Ti.API.debug(this.responseText);

var json = JSON.parse(this.responseText);
    for (i = 0; i &lt; json.cms_list.length; i++) {
        client = json.cms_list[i];
        row = Ti.UI.createTableViewRow({
            height:'44dp',
            hasChild:true
    });

var clientlist = Ti.UI.createLabel({
        text:client.clientname,
        font:{fontSize:'16dp', fontWeight:'bold'},
    height:'auto',
    left:'10dp',
    color:'#000'
    });

 row.add(clientlist);
    tableData.push(row);
    }

table.addEventListener('click',function(e){
    var row = e.row
    var clientlist = row.children[0]
    var win = Ti.UI.createWindow({
    url: 'clientdetail.js', 
    title: clientlist.text  
}); 
var clientlist = clientlist.text;
win.clientlist = clientlist;

Titanium.UI.currentTab.open(win,{animated:true});}); 
table.setData(tableData);
},

onerror: function(e) {
Ti.API.debug(&quot;STATUS: &quot; + this.status);
Ti.API.debug(&quot;TEXT:   &quot; + this.responseText);
Ti.API.debug(&quot;ERROR:  &quot; + e.error);
alert('There was an error retrieving the remote data. Try again.');
},
timeout:5000
});

xhr.open(&quot;GET&quot;, url);
xhr.send();
//When I close the function here, the table is blank
});
view.add(table);
win.add(view);
win.open();
~~~]]></description>
		<content:encoded><![CDATA[<p>I am building a Titanium mobile app for iOS. I have a search field where the user input is passed to the remote server. A php file queries the database and returns the resultset as JSON that I place in a table. My php file works as intended and the code on the device that gets the JSON data worked before I tried to add the search field. I think my problem is proper placement of the</p>

<p><code class="codeblock codeblock-inline">customSearchField.addEventListener(&amp;quot;return&amp;quot;, function(e) {</code></p>

<p>Would someone be so kind as to show me where I should place this event listener and what code will be inside it so the remainder of the code works? Here is the relevant portion of my code:
<pre class="javascript codeblock"><span class="kw2">var</span> customSearchBar <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createView</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    backgroundColor<span class="sy0">:</span> <span class="st0">'#28517A'</span><span class="sy0">,</span>
    height<span class="sy0">:</span> <span class="nu0">42</span><span class="sy0">,</span>
    top<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">,</span>
    width<span class="sy0">:</span> Ti.<span class="me1">UI</span>.<span class="me1">FILL</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> customSearchField <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTextField</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    autocorrect<span class="sy0">:</span> <span class="kw2">false</span><span class="sy0">,</span>
    borderStyle<span class="sy0">:</span> Ti.<span class="me1">UI</span>.<span class="me1">INPUT_BORDERSTYLE_ROUNDED</span><span class="sy0">,</span>
    clearOnEdit<span class="sy0">:</span> <span class="kw2">true</span><span class="sy0">,</span>
    height<span class="sy0">:</span> <span class="nu0">28</span><span class="sy0">,</span>
    hintText<span class="sy0">:</span> <span class="st0">'Search For Product or Service'</span><span class="sy0">,</span>
    textAlign<span class="sy0">:</span> <span class="st0">'center'</span><span class="sy0">,</span>
    width<span class="sy0">:</span> <span class="st0">'90%'</span><span class="sy0">,</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
customSearchBar.<span class="me1">add</span><span class="br0">&#40;</span>customSearchField<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
win.<span class="me1">add</span><span class="br0">&#40;</span>customSearchBar<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> view <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createView</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
backgroundColor<span class="sy0">:</span> <span class="st0">'transparent'</span><span class="sy0">,</span>
top<span class="sy0">:</span> <span class="st0">'80dp'</span><span class="sy0">,</span>
bottom<span class="sy0">:</span><span class="st0">'60dp'</span>   
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> table <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTableView</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
backgroundColor<span class="sy0">:</span> <span class="st0">'transparent'</span><span class="sy0">,</span>
top<span class="sy0">:</span> <span class="st0">'0dp'</span><span class="sy0">,</span>
bottom<span class="sy0">:</span><span class="st0">'0dp'</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> tableData <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp;
<span class="co1">//Here is the event Listener in question</span>
customSearchField.<span class="me1">addEventListener</span><span class="br0">&#40;</span><span class="st0">&quot;return&quot;</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
<span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">&quot;http://mydomain.com/list.php?title=&quot;</span><span class="sy0">+</span>customSearchField<span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> xhr <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    <span class="kw3">onload</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> json <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span><span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw1">for</span> <span class="br0">&#40;</span>i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> json.<span class="me1">cms_list</span>.<span class="me1">length</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        client <span class="sy0">=</span> json.<span class="me1">cms_list</span><span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="sy0">;</span>
        row <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createTableViewRow</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
            height<span class="sy0">:</span><span class="st0">'44dp'</span><span class="sy0">,</span>
            hasChild<span class="sy0">:</span><span class="kw2">true</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">var</span> clientlist <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createLabel</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
        text<span class="sy0">:</span>client.<span class="me1">clientname</span><span class="sy0">,</span>
        font<span class="sy0">:</span><span class="br0">&#123;</span>fontSize<span class="sy0">:</span><span class="st0">'16dp'</span><span class="sy0">,</span> fontWeight<span class="sy0">:</span><span class="st0">'bold'</span><span class="br0">&#125;</span><span class="sy0">,</span>
    height<span class="sy0">:</span><span class="st0">'auto'</span><span class="sy0">,</span>
    left<span class="sy0">:</span><span class="st0">'10dp'</span><span class="sy0">,</span>
    color<span class="sy0">:</span><span class="st0">'#000'</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
 row.<span class="me1">add</span><span class="br0">&#40;</span>clientlist<span class="br0">&#41;</span><span class="sy0">;</span>
    tableData.<span class="me1">push</span><span class="br0">&#40;</span>row<span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
&nbsp;
table.<span class="me1">addEventListener</span><span class="br0">&#40;</span><span class="st0">'click'</span><span class="sy0">,</span><span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span><span class="br0">&#123;</span>
    <span class="kw2">var</span> row <span class="sy0">=</span> e.<span class="me1">row</span>
    <span class="kw2">var</span> clientlist <span class="sy0">=</span> row.<span class="me1">children</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>
    <span class="kw2">var</span> win <span class="sy0">=</span> Ti.<span class="me1">UI</span>.<span class="me1">createWindow</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
    url<span class="sy0">:</span> <span class="st0">'clientdetail.js'</span><span class="sy0">,</span> 
    title<span class="sy0">:</span> clientlist.<span class="me1">text</span>  
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span> 
<span class="kw2">var</span> clientlist <span class="sy0">=</span> clientlist.<span class="me1">text</span><span class="sy0">;</span>
win.<span class="me1">clientlist</span> <span class="sy0">=</span> clientlist<span class="sy0">;</span>
&nbsp;
Titanium.<span class="me1">UI</span>.<span class="me1">currentTab</span>.<span class="kw3">open</span><span class="br0">&#40;</span>win<span class="sy0">,</span><span class="br0">&#123;</span>animated<span class="sy0">:</span><span class="kw2">true</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span> 
table.<span class="me1">setData</span><span class="br0">&#40;</span>tableData<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">,</span>
&nbsp;
<span class="kw3">onerror</span><span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>e<span class="br0">&#41;</span> <span class="br0">&#123;</span>
Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="st0">&quot;STATUS: &quot;</span> <span class="sy0">+</span> <span class="kw1">this</span>.<span class="kw3">status</span><span class="br0">&#41;</span><span class="sy0">;</span>
Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="st0">&quot;TEXT:   &quot;</span> <span class="sy0">+</span> <span class="kw1">this</span>.<span class="me1">responseText</span><span class="br0">&#41;</span><span class="sy0">;</span>
Ti.<span class="me1">API</span>.<span class="me1">debug</span><span class="br0">&#40;</span><span class="st0">&quot;ERROR:  &quot;</span> <span class="sy0">+</span> e.<span class="me1">error</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'There was an error retrieving the remote data. Try again.'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="sy0">,</span>
timeout<span class="sy0">:</span><span class="nu0">5000</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
xhr.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">&quot;GET&quot;</span><span class="sy0">,</span> url<span class="br0">&#41;</span><span class="sy0">;</span>
xhr.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="co1">//When I close the function here, the table is blank</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
view.<span class="me1">add</span><span class="br0">&#40;</span>table<span class="br0">&#41;</span><span class="sy0">;</span>
win.<span class="me1">add</span><span class="br0">&#40;</span>view<span class="br0">&#41;</span><span class="sy0">;</span>
win.<span class="kw3">open</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></p>
]]></content:encoded>
	</item>
	<item>
		<title>httpClient into httpClient</title> 
		<link>http://developer.appcelerator.com/question/149450/httpclient-into-httpclient</link>
		<pubDate>Mon, 11 Mar 2013 20:33:29 -0700</pubDate>
		<dc:creator>antonio medel</dc:creator> 
				<category><![CDATA[android]]></category> 
				<category><![CDATA[httpclient]]></category> 
				<category><![CDATA[json]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/149450/httpclient-into-httpclient</guid>
		<description><![CDATA[Hello

I can create one within another HttpClient httpclient? show my code

~~~
enviar.addEventListener('click',function() {
	var url = &quot;http://localhost&quot;;
	
	var client = Ti.Network.createHTTPClient();
	
	client.open('POST',url);
	
	client.send({
		&quot;action&quot;:'diccionario',
		&quot;consulta&quot;:comentario.value
	});
	
	client.onload = function() {
		var json = this.responseText;
		var respuesta = JSON.parse(json);
		alert(respuesta);
		if(respuesta == 1 || respuesta == 0) {
			
			alert(&quot;nombre &quot;+nombre.value);
			alert(&quot;correo &quot;+correo.value);
			alert(&quot;empresa &quot;+empresa.value);
			alert(&quot;fono &quot;+fono.value);
			alert(&quot;sucursal &quot;+Ti.App.Properties.getString(&quot;id&quot;));
			alert(&quot;sugerencia &quot;+comentario.value);
			alert(&quot;val &quot;+respuesta);
			alert(&quot;amabilidad &quot;+amabilidad());
			alert(&quot;rapidez &quot;+rapidez());
			alert(&quot;calidad &quot;+calidad());
			alert(&quot;limpieza &quot;+limpieza());
			//************************************************
			var urll = &quot;http://localhost&quot;;
			
			var sendClient = Ti.Network.createHTTPClient();
			
			sendClient.open('POST', urll);
			
			sendClient.send({
				&quot;action&quot;:&quot;buscarNombre&quot;,
				&quot;nombre&quot;:nombre.value,
				&quot;correo&quot;:correo.value+'@'+empresa.value,
				&quot;telefono&quot;:fono.value,
				&quot;sucursa_id&quot;:Ti.App.Properties.getString(&quot;id&quot;),
				&quot;amabilidad&quot;:amabilidad(),
				&quot;rapidez&quot;:rapidez(),
				&quot;calidad&quot;:calidad(),
				&quot;limpieza&quot;:limpieza(),
				&quot;sugerencia&quot;:comentario.value,
				&quot;val&quot;:respuesta
			});
		}
	}
});
~~~]]></description>
		<content:encoded><![CDATA[<p>Hello</p>

<p>I can create one within another HttpClient httpclient? show my code
<pre class="javascript codeblock">enviar.<span class="me1">addEventListener</span><span class="br0">&#40;</span><span class="st0">'click'</span><span class="sy0">,</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">var</span> url <span class="sy0">=</span> <span class="st0">&quot;http://localhost&quot;</span><span class="sy0">;</span>
&nbsp;
    <span class="kw2">var</span> client <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    client.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'POST'</span><span class="sy0">,</span>url<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    client.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
        <span class="st0">&quot;action&quot;</span><span class="sy0">:</span><span class="st0">'diccionario'</span><span class="sy0">,</span>
        <span class="st0">&quot;consulta&quot;</span><span class="sy0">:</span>comentario.<span class="me1">value</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
    client.<span class="kw3">onload</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw2">var</span> json <span class="sy0">=</span> <span class="kw1">this</span>.<span class="me1">responseText</span><span class="sy0">;</span>
        <span class="kw2">var</span> respuesta <span class="sy0">=</span> JSON.<span class="me1">parse</span><span class="br0">&#40;</span>json<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw3">alert</span><span class="br0">&#40;</span>respuesta<span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="kw1">if</span><span class="br0">&#40;</span>respuesta <span class="sy0">==</span> <span class="nu0">1</span> <span class="sy0">||</span> respuesta <span class="sy0">==</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
&nbsp;
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;nombre &quot;</span><span class="sy0">+</span>nombre.<span class="me1">value</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;correo &quot;</span><span class="sy0">+</span>correo.<span class="me1">value</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;empresa &quot;</span><span class="sy0">+</span>empresa.<span class="me1">value</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;fono &quot;</span><span class="sy0">+</span>fono.<span class="me1">value</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;sucursal &quot;</span><span class="sy0">+</span>Ti.<span class="me1">App</span>.<span class="me1">Properties</span>.<span class="me1">getString</span><span class="br0">&#40;</span><span class="st0">&quot;id&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;sugerencia &quot;</span><span class="sy0">+</span>comentario.<span class="me1">value</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;val &quot;</span><span class="sy0">+</span>respuesta<span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;amabilidad &quot;</span><span class="sy0">+</span>amabilidad<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;rapidez &quot;</span><span class="sy0">+</span>rapidez<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;calidad &quot;</span><span class="sy0">+</span>calidad<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">&quot;limpieza &quot;</span><span class="sy0">+</span>limpieza<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
            <span class="co1">//************************************************</span>
            <span class="kw2">var</span> urll <span class="sy0">=</span> <span class="st0">&quot;http://localhost&quot;</span><span class="sy0">;</span>
&nbsp;
            <span class="kw2">var</span> sendClient <span class="sy0">=</span> Ti.<span class="me1">Network</span>.<span class="me1">createHTTPClient</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
            sendClient.<span class="kw3">open</span><span class="br0">&#40;</span><span class="st0">'POST'</span><span class="sy0">,</span> urll<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
            sendClient.<span class="me1">send</span><span class="br0">&#40;</span><span class="br0">&#123;</span>
                <span class="st0">&quot;action&quot;</span><span class="sy0">:</span><span class="st0">&quot;buscarNombre&quot;</span><span class="sy0">,</span>
                <span class="st0">&quot;nombre&quot;</span><span class="sy0">:</span>nombre.<span class="me1">value</span><span class="sy0">,</span>
                <span class="st0">&quot;correo&quot;</span><span class="sy0">:</span>correo.<span class="me1">value</span><span class="sy0">+</span><span class="st0">'@'</span><span class="sy0">+</span>empresa.<span class="me1">value</span><span class="sy0">,</span>
                <span class="st0">&quot;telefono&quot;</span><span class="sy0">:</span>fono.<span class="me1">value</span><span class="sy0">,</span>
                <span class="st0">&quot;sucursa_id&quot;</span><span class="sy0">:</span>Ti.<span class="me1">App</span>.<span class="me1">Properties</span>.<span class="me1">getString</span><span class="br0">&#40;</span><span class="st0">&quot;id&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span>
                <span class="st0">&quot;amabilidad&quot;</span><span class="sy0">:</span>amabilidad<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span>
                <span class="st0">&quot;rapidez&quot;</span><span class="sy0">:</span>rapidez<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span>
                <span class="st0">&quot;calidad&quot;</span><span class="sy0">:</span>calidad<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span>
                <span class="st0">&quot;limpieza&quot;</span><span class="sy0">:</span>limpieza<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span>
                <span class="st0">&quot;sugerencia&quot;</span><span class="sy0">:</span>comentario.<span class="me1">value</span><span class="sy0">,</span>
                <span class="st0">&quot;val&quot;</span><span class="sy0">:</span>respuesta
            <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></p>
]]></content:encoded>
	</item>
	<item>
		<title>Can't scroll to last row in tableview when generated from remote json.</title> 
		<link>http://developer.appcelerator.com/question/118595/cant-scroll-to-last-row-in-tableview-when-generated-from-remote-json</link>
		<pubDate>Fri, 15 Apr 2011 15:34:01 -0700</pubDate>
		<dc:creator>Peter janett</dc:creator> 
				<category><![CDATA[image]]></category> 
				<category><![CDATA[tableview]]></category> 
				<category><![CDATA[json]]></category> 
				<category><![CDATA[scroll]]></category> 
				<category><![CDATA[remote]]></category> 
				<guid isPermaLink="true">http://developer.appcelerator.com/question/118595/cant-scroll-to-last-row-in-tableview-when-generated-from-remote-json</guid>
		<description><![CDATA[I'm grabbing a remote json file and using it to build a simple table view.  Each row contains a thumbnail image and a short line of text.

There are about 25 rows, and when I scroll down, I can't scroll past the second to last row.  If I switch tabs and come back to the tab, I can then scroll to the last row.  (When switching back to the tableview, it does not reload.)

I can't seem to figure out why this is happening, except that I notice as the table rows flow in, the app seems to think the second to the last row is the last one, but then the last row draws in, but the window doesn't scroll to it.

I've searched through the Q&amp;A here, and I've made sure I have all positioning set on the rows, images and text.  It really appears that the app sets the row count and window height before the last row is drawn on the page.

Any advise on how to fix this would be greatly appreciated.  Since the scrolling is fixed if I click another tab then come back, I thought of just switching the active tab back and forth, but I don't really want that flicker to happen.]]></description>
		<content:encoded><![CDATA[<p>I'm grabbing a remote json file and using it to build a simple table view.  Each row contains a thumbnail image and a short line of text.</p>

<p>There are about 25 rows, and when I scroll down, I can't scroll past the second to last row.  If I switch tabs and come back to the tab, I can then scroll to the last row.  (When switching back to the tableview, it does not reload.)</p>

<p>I can't seem to figure out why this is happening, except that I notice as the table rows flow in, the app seems to think the second to the last row is the last one, but then the last row draws in, but the window doesn't scroll to it.</p>

<p>I've searched through the Q&amp;A here, and I've made sure I have all positioning set on the rows, images and text.  It really appears that the app sets the row count and window height before the last row is drawn on the page.</p>

<p>Any advise on how to fix this would be greatly appreciated.  Since the scrolling is fixed if I click another tab then come back, I thought of just switching the active tab back and forth, but I don't really want that flicker to happen.</p>
]]></content:encoded>
	</item>
</channel>
</rss>