Skip to content

Instantly share code, notes, and snippets.

@aaronksaunders
Created June 14, 2012 00:04
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aaronksaunders/2927239 to your computer and use it in GitHub Desktop.
Save aaronksaunders/2927239 to your computer and use it in GitHub Desktop.
appcelerator skillshare session two
//-------------------------------------------------------------------
//
// 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