Created
June 14, 2012 00:04
-
-
Save aaronksaunders/2927239 to your computer and use it in GitHub Desktop.
appcelerator skillshare session two
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//------------------------------------------------------------------- | |
// | |
// THIS IS HTTP CLIENT REQUEST | |
// | |
//------------------------------------------------------------------- | |
function twitterStatus(callback_function) { | |
var url = "https://api.twitter.com/1/users/show.json?screen_name=aaronksaunders"; | |
var xhr = Ti.Network.createHTTPClient({ | |
onload : function(e) { | |
// this function is called when data is returned from the server and available for use | |
// this.responseText holds the raw text return of the message (used for text/JSON) | |
// this.responseXML holds any returned XML (including SOAP) | |
// this.responseData holds any returned binary data | |
Ti.API.debug(this.responseText); | |
alert('success'); | |
// we are done, so pass data back in callback | |
callback_function(this.responseText); | |
}, | |
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("GET", url); | |
xhr.send(); | |
// request is actually sent with this statement | |
} | |
//------------------------------------------------------------------- | |
// | |
// THIS METHOD IS CALLED WHEN THE HTTPCLIENT REQUEST IS FINISHED | |
// | |
//------------------------------------------------------------------- | |
function twitter_callback(responseText) { | |
Ti.API.info('in twitter_callback'); | |
Ti.API.info(' response data ' + responseText); | |
// | |
// JSON Objects are FUN!! | |
var responseObject = JSON.parse(responseText); | |
Ti.API.info('name ' + responseObject.name); | |
Ti.API.info('screen_name ' + responseObject['screen_name']); | |
} | |
//------------------------------------------------------------------- | |
// | |
// MAKE A GET REQUEST TO GET MY TWITTER STATUS | |
// | |
// PASS IN A FUNCTION TO BE CALLED WITH THE RESPONSE DATA | |
// | |
//------------------------------------------------------------------- | |
//twitterStatus(twitter_callback); | |
// CALL IS COMPLETE BUT WE HAVE NO DATA YET | |
// | |
// YELP API | |
// | |
// | |
function getYelpSearchResults(_term) { | |
if (Ti.Geolocation.locationServicesEnabled) { | |
Titanium.Geolocation.accuracy = Ti.Geolocation.ACCURACY_BEST; | |
Ti.Geolocation.purpose = "SKILLSHARE TEST"; | |
Titanium.Geolocation.getCurrentPosition(function(pos) { | |
if (pos.error) { | |
Ti.API.info('no location ' + JSON.stringify(pos.error)); | |
// HARDCODE VALUES | |
pos = { | |
coords : { | |
"longitude" : -87.62, | |
"latitude" : 41.87 | |
} | |
}; | |
} | |
var api_key = ''; | |
var term = _term; | |
var category = ""; | |
var latitude = pos.coords.latitude; | |
var longitude = pos.coords.longitude; | |
var query = "http://api.yelp.com/business_review_search?radius=10&term=" + term + "&category=" + category + "&lat=" + latitude + "&long=" + longitude + "&num_biz_requested=50&ywsid=" + api_key; | |
var xhr = Titanium.Network.createHTTPClient(); | |
xhr.onload = function() { | |
try { | |
var results = JSON.parse(this.responseText); | |
for (var item in results.businesses ) { | |
Ti.API.info('business name ' + results.businesses[item].name); | |
} | |
} catch(e) { | |
alert(e); | |
} | |
}; | |
xhr.open('GET', query); | |
xhr.send(); | |
}); | |
} else { | |
Titanium.UI.createAlertDialog({ | |
title : L('geo_error'), | |
message : L('geo_error_details') | |
}).show(); | |
} | |
} | |
getYelpSearchResults("steak"); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment