OK,廢話少說,That's it!
You can browse market with any carrier or locale you want.
Search for apps using keywords or package name.
Retrieve an app info using an app ID.
Retrieve comments using an app ID.
Get PNG screenshots and icon
Requirement:
A google account is required.
需要把這兩個JAR導入項目中,由于很好了解,代碼就不加注釋了 :-)
HowToSearchApps :
You can search by package using :
String query = "pname:<package>";
By developper name :
String query = "pub:<name>";
String query = "pname:com.luckyxmobile.timers4me";// 通過包名查找程式
MarketSession session = new MarketSession();
session.login("your gmail account", "your password");
AppsRequest appsRequest = AppsRequest.newBuilder().setQuery(query).setStartIndex(0).setEntriesCount(10).setWithExtendedInfo(true).build();
session.append(appsRequest, new MarketSession.Callback<AppsResponse>() {
@Override
public void onResult(ResponseContext context, AppsResponse response) {
TextView text = (TextView) findViewById(R.id.text);
String id = response.getApp(0).getId();
String creatorID = response.getApp(0).getCreatorId();
String creator = response.getApp(0).getCreator();
String packageName = response.getApp(0).getPackageName();
String price = response.getApp(0).getPrice();
String rating = response.getApp(0).getRating();
int ratingCount = response.getApp(0).getRatingsCount();
String title = response.getApp(0).getTitle();
String version = response.getApp(0).getVersion();
int versionCode = response.getApp(0).getVersionCode();
int serializedSize = response.getApp(0).getSerializedSize();
ExtendedInfo extendedInfo = response.getApp(0).getExtendedInfo();
text.setText("id:" + id + "\nCreatorId:" + creatorID
+ "\nCreator:" + creator + "\nPackageName:"+ packageName + "\nPrice:" + price + "\nrating:"+ rating + "\nRatingCount:" + ratingCount + "\ntitle:"
+ title + "\nVersion:" + version + "\nversionCode:"
+ versionCode + "\nDownloadsCount:"
+ extendedInfo.getDownloadsCount()
+ "\nDownloadsCountText:"+extendedInfo.getDownloadsCountText()+ "\nInstallSize:" + extendedInfo.getInstallSize()
+ "\nSerializedSize:" + serializedSize+ "\nDecription:" + extendedInfo.getDescription()+ "\nContactEmail:" + extendedInfo.getContactEmail()+ "\nContactPhone:" + extendedInfo.getContactPhone()+ "\nContactWebsite:"
+ extendedInfo.getContactWebsite());
}
});
session.flush();//發送并重新整理
這是Timers4Me的運作結果:
<a target="_blank" href="http://blog.51cto.com/attachment/201011/232351880.png"></a>
HowToGetAppComments:
CommentsRequest commentsRequest = CommentsRequest.newBuilder().setAppId("7065399193137006744").setStartIndex(0).setEntriesCount(10).build();session.append(commentsRequest, new Callback<CommentsResponse>() {
@Override public void onResult(ResponseContext context, CommentsResponse response) {
System.out.println("Response : " + response);
// response.getComments(0).getAuthorName()
// response.getComments(0).getCreationTime()
// ...
} });
session.flush();
HowToGetAppScreenshot :
GetImageRequest imgReq = GetImageRequest.newBuilder().setAppId("-7934792861962808905").setImageUsage(AppImageUsage.SCREENSHOT).setImageId("1").build();
session.append(imgReq, new Callback<GetImageResponse>() {
@Override public void onResult(ResponseContext context, GetImageResponse response) {
try {
FileOutputStream fos = new FileOutputStream("icon.png");
fos.write(response.getImageData().toByteArray());
fos.close();
} catch(Exception ex) {
ex.printStackTrace();
}}});
session.flush();
以上隻是抛磚引玉,更多精彩,隻有動手才能看到,good luck!
本文轉自 breezy_yuan 51CTO部落格,原文連結:http://blog.51cto.com/lbrant/431834,如需轉載請自行聯系原作者