From: Ciaran Gultnieks Date: Wed, 27 Oct 2010 11:27:33 +0000 (+0100) Subject: A little proof of concept of getting current market version number for an app X-Git-Tag: 0.1~1660 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=817b3bbaf1eebe076a622e52bf9c162168cd3298;p=fdroidserver.git A little proof of concept of getting current market version number for an app --- diff --git a/marketcheck/.gitignore b/marketcheck/.gitignore new file mode 100644 index 00000000..6b468b62 --- /dev/null +++ b/marketcheck/.gitignore @@ -0,0 +1 @@ +*.class diff --git a/marketcheck/androidmarketapi-0.3.jar b/marketcheck/androidmarketapi-0.3.jar new file mode 100644 index 00000000..42a5a37d Binary files /dev/null and b/marketcheck/androidmarketapi-0.3.jar differ diff --git a/marketcheck/make.sh b/marketcheck/make.sh new file mode 100755 index 00000000..c2c6f5a6 --- /dev/null +++ b/marketcheck/make.sh @@ -0,0 +1,2 @@ +#!/bin/sh +javac -classpath androidmarketapi-0.3.jar test.java diff --git a/marketcheck/protobuf-java-2.2.0.jar b/marketcheck/protobuf-java-2.2.0.jar new file mode 100644 index 00000000..7a0ccde1 Binary files /dev/null and b/marketcheck/protobuf-java-2.2.0.jar differ diff --git a/marketcheck/run.sh b/marketcheck/run.sh new file mode 100755 index 00000000..c790786c --- /dev/null +++ b/marketcheck/run.sh @@ -0,0 +1,2 @@ +#!/bin/sh +java -classpath ".:androidmarketapi-0.3.jar" test $1 $2 $3 diff --git a/marketcheck/test.java b/marketcheck/test.java new file mode 100644 index 00000000..58b87138 --- /dev/null +++ b/marketcheck/test.java @@ -0,0 +1,66 @@ + +import java.io.FileOutputStream; + +import com.gc.android.market.api.MarketSession.Callback; +import com.gc.android.market.api.MarketSession; +import com.gc.android.market.api.model.Market.App; +import com.gc.android.market.api.model.Market.AppsResponse; +import com.gc.android.market.api.model.Market.AppsRequest; +import com.gc.android.market.api.model.Market.CommentsRequest; +import com.gc.android.market.api.model.Market.GetImageRequest; +import com.gc.android.market.api.model.Market.GetImageResponse; +import com.gc.android.market.api.model.Market.ResponseContext; +import com.gc.android.market.api.model.Market.GetImageRequest.AppImageUsage; + +class test { + + /** + * @param args + */ + public static void main(String[] args) { + try { + if(args.length < 3) { + System.out.println("Parameters :\n" + + "email password package"); + return; + } + + + String login = args[0]; + String password = args[1]; + String query = args.length > 2 ? args[2] : "Test"; + + MarketSession session = new MarketSession(); + System.out.println("Login..."); + session.login(login,password); + System.out.println("Login done"); + + AppsRequest appsRequest = AppsRequest.newBuilder() + .setQuery(query) + .setStartIndex(0).setEntriesCount(10) + .setWithExtendedInfo(true) + .build(); + + MarketSession.Callback callback = new MarketSession.Callback() { + + @Override + public void onResult(ResponseContext contex, Object oresp) { + AppsResponse response = (AppsResponse)oresp; + if(response.getAppCount() != 1) { + System.out.println("Not in market, or multiple results"); + } else { + App app = response.getAppList().get(0); + System.out.println("Version Code:" + app.getVersionCode()); + System.out.println("Version:" + app.getVersion()); + } + } + + }; + session.append(appsRequest, callback); + session.flush(); + } catch(Exception ex) { + ex.printStackTrace(); + } + } + +}