Implemented UrlBuilder static class

To build URL for MediaWiki API query
This commit is contained in:
misaochan 2015-12-22 15:07:00 +13:00
parent 31f78b4b6b
commit 9066c7da34

View file

@ -175,13 +175,17 @@ public class ShareActivity
mediaUriString = mediaUri.toString();
Log.d("Image", "Uri: " + mediaUriString);
//convert image Uri to file path
FilePathConverter uriObj = new FilePathConverter(this, mediaUri);
String filePath = uriObj.getFilePath();
//extract the coordinates of image in decimal degrees
GPSExtractor imageObj = new GPSExtractor(filePath);
String coords = imageObj.getCoords();
Log.d("Image", "Coords of image: " + coords);
Log.d("Image", "URL: " + UrlBuilder.buildUrl(coords));
ImageLoader.getInstance().displayImage(mediaUriString, backgroundImageView);
@ -192,6 +196,7 @@ public class ShareActivity
requestAuthToken();
}
@Override
protected void onDestroy() {
super.onDestroy();
@ -208,4 +213,33 @@ public class ShareActivity
return super.onOptionsItemSelected(item);
}
//https://commons.wikimedia.org/w/api.php?action=query&prop=categories|coordinates|pageprops&format=json&clshow=!hidden&coprop=type|name|dim|country|region|globe&codistancefrompoint=38.11386944444445|13.356263888888888&
// generator=geosearch&redirects=&ggscoord=38.11386944444445|13.356263888888888&ggsradius=100&ggslimit=10&ggsnamespace=6&ggsprop=type|name|dim|country|region|globe&ggsprimary=all&formatversion=2
public static class UrlBuilder {
private static String buildUrl (String coords){
Uri.Builder builder = Uri.parse("https://commons.wikimedia.org/").buildUpon();
builder.appendPath("w")
.appendPath("api.php")
.appendQueryParameter("action", "query")
.appendQueryParameter("prop", "categories|coordinates|pageprops")
.appendQueryParameter("format", "json")
.appendQueryParameter("clshow", "!hidden")
.appendQueryParameter("coprop", "type|name|dim|country|region|globe")
.appendQueryParameter("codistancefrompoint", coords)
.appendQueryParameter("generator", "geosearch")
.appendQueryParameter("ggscoord", coords)
.appendQueryParameter("ggsradius", "100")
.appendQueryParameter("ggslimit", "10")
.appendQueryParameter("ggsnamespace", "6")
.appendQueryParameter("ggsprop", "type|name|dim|country|region|globe")
.appendQueryParameter("ggsprimary", "all")
.appendQueryParameter("formatversion", "2");
String url = builder.build().toString();
return url;
}
}
}