Skip to main content

Dev: How to search google images in java

I'm finishing up the final touches of the next version which will include album art.  One of the features I included was a built in google image search to look for album art.  It was extremely simple to set up so I'd like to share some of the code.  I decided to use JSON as a return type for my queries and there are some simple free classes out there to parse the results here http://json.org/java/

The google image api documentation shows us how to do a simple query, so lets construct one.

String search_string = "nachos";
String query = "https://ajax.googleapis.com/ajax/services/earch/images?v=1.0&q=" + search_string;

Now do a http GET

HttpClient client = new DefaultHttpClient();  
try
{   
   HttpGet request = new HttpGet(query);
          
   HttpResponse http_response = client.execute(request);
   HttpEntity entity = http_response.getEntity();

   if (entity != null)
   {
      InputStream instream = entity.getContent();
      //convertInputStreamToString does exactly what it says.. its trivial so no need to show the code
      String response = convertInputStreamToString(instream);
      //JSONObject is provided at the link above
      JSONObject json = new JSONObject(response);
      parseJson(json);
                              
      instream.close();
   }
}
catch (Exception ex)
{
    client.getConnectionManager().shutdown();
}       


The parseJson function is where you can get the relevant data out of the results.  The list of valid keys are listed in the api documentation I linked above.  Here is the code for parseJson:

JSONObject response_data = JsonObj.getJSONObject("responseData");
JSONArray results = response_data.getJSONArray("results");

for (int i = 0; i < results.length(); i++)
{
    JSONObject result = (JSONObject)results.get(i);
    //now you can grab data from the result using:
    //result.getInt(key);
    //result.getString(key);
    //etc
}

Now you have access to google image search.  The other google apis work pretty much the same way from what I've seen.

Popular posts from this blog

3.4.17 and 3.5 Beta 1 Released

I was not planning on putting out any more 3.4.x updates, however google refused to approve the 3.5 beta due to some policy updates that caused the existing 3.4.x version already released to no longer be compliant.  Therefore 3.4.15-3.4.17 are basically the work I've been doing on 3.5 for the last 16 months, but with all the new features disabled.  I would like to put them through more testing before enabling to the public, hence the beta. 3.4.17 (2024-10-25): Fixed crash on android 14+ trying to verify the unlocker 3.4.16 (2024-10-24): Fixed multi select in album details highlighting the wrong item 3.4.15 (2024-10-23): Update target api level to 34 Updated dependencies Manual scans are no longer ran in a foreground service due to google's new policies Last played time added to song info pop up Fixed issue where extra space was added in artists with numbers in name Increased full search limit from 100 to 10000 results Fixed issue with files missing tags showing up in the unkno...

3.5 Released!

 GoneMAD Music Player 3.5 is finally here after about a year and a half of development.  Most of the new additions are not enabled by default but I did include a new UI preset named 'bottom' that will use the new now playing layout and the new bottom navigation mode.  Enjoy! See the Beta 1 post for more information on the new capabilities Also I recently created a Bluesky account if you want to follow to get updates:  https://bsky.app/profile/gonemadsoftware.bsky.social 3.5.x: New: Added new bottom navigation mode Added new now playing layout 3 Added gradient background option to now playing layout 2 and 3 Added new details layout for artist/album/genre/etc(Change layout via: Customize -> Layout Menu -> Layout 2).  Enabled by default Added bottom nav UI preset (named 'bottom') Updates / Improvements: Updated dependencies Tweaked existing UI presets Improved startup time Fixes: Queue should now focus on playing song when opening / returning to queue Fixed s...

GoneMAD Music Player 4.0 released and is now free!

GoneMAD Music Player 4.0 is now fully rolled out!  After 14 years since initial release as being a paid app, I've decided to try something different and switch to being free with ads.  The market is completely different nowadays compared to the early 2010s.  Ads are everywhere and users typically do not want to pay for apps / games / etc.  But don't worry, those users who previously purchased the unlocker or in app purchase unlock will continue to get an ad free experience.  New users will also have the option to purchase an in app purchase to permanently remove ads.   Note: There is a bug with 4.0 where users with the standalone unlocker may see ads when they first upgrade.  You typically fix this by just force stopping the app and restarting.  Ads should not come back after that.  Alternatively you can contact gonemadsoftware@gmail.com and I can help you out as well.  I have no intention on making users who already paid see ads. W...