Programming access to Android Market


Android Marketでプログラムを発表したら、どうやってプログラムにアクセスしてプログラムの情報を表示しますか?Googleオオカミは私たちにAn open-source API for the Android Marketを提供してくれました.また、RubyとPHPにもインタフェースを残しています.もちろん、アクセスにはGoogleアカウントが必要です.詳細は以下を参照してください.http://code.google.com/p/android-market-api/
いいよ、くだらないことは言わないで、That's it!
Current progress¶
  • 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.
  • Include androidmarketapi-X.Y.jar and protobuf-java-X.Y.Z.jar in your classpath、ダウンロード先:http://code.google.com/p/android-market-api/downloads/list

  • この2つのJARをプロジェクトにインポートする必要がありますが、よく理解しているので、コードにはコメントを付けません:-)
    HowToSearchApps  :
    You can search by package using :
       
       
       
       
    1. String query = "pname:"

    By developper name :
       
       
       
       
    1. String query = "pub:"
       
       
       
       
    1. String query = "pname:com.luckyxmobile.timers4me";//
    2. MarketSession session = new MarketSession();  
    3. session.login("your gmail account""your password");  
    4. AppsRequest appsRequest = AppsRequest.newBuilder().setQuery(query).setStartIndex(0).setEntriesCount(10).setWithExtendedInfo(true).build();  
    5. session.append(appsRequest, new MarketSession.Callback() {  
    6. @Override 
    7. public void onResult(ResponseContext context, AppsResponse response) {  
    8. TextView text = (TextView) findViewById(R.id.text);  
    9. String id = response.getApp(0).getId();  
    10. String creatorID = response.getApp(0).getCreatorId();  
    11. String creator = response.getApp(0).getCreator();  
    12. String packageName = response.getApp(0).getPackageName();  
    13. String price = response.getApp(0).getPrice();  
    14. String rating = response.getApp(0).getRating();  
    15. int ratingCount = response.getApp(0).getRatingsCount();  
    16. String title = response.getApp(0).getTitle();  
    17. String version = response.getApp(0).getVersion();  
    18. int versionCode = response.getApp(0).getVersionCode();  
    19. int serializedSize = response.getApp(0).getSerializedSize();  
    20. ExtendedInfo extendedInfo = response.getApp(0).getExtendedInfo();  
    21. text.setText("id:" + id + "
      CreatorId:"
       + creatorID  
    22. "
      Creator:"
       + creator + "
      PackageName:"
      + packageName + "
      Price:"
       + price + "
      rating:"
      + rating + "
      RatingCount:"
       + ratingCount + "
      title:"
       
    23. + title + "
      Version:"
       + version + "
      versionCode:"
       
    24. + versionCode + "
      DownloadsCount:"
       
    25. + extendedInfo.getDownloadsCount()  
    26. "
      DownloadsCountText:"
      +extendedInfo.getDownloadsCountText()+ "
      InstallSize:"
       + extendedInfo.getInstallSize()  
    27. "
      SerializedSize:"
       + serializedSize+ "
      Decription:"
       + extendedInfo.getDescription()+ "
      ContactEmail:"
       + extendedInfo.getContactEmail()+ "
      ContactPhone:"
       + extendedInfo.getContactPhone()+ "
      ContactWebsite:"
       
    28. + extendedInfo.getContactWebsite());  
    29.             }  
    30.         });  
    31. session.flush();//  

    これはTimers 4 Meの実行結果です.
    Programming access to Android Market_第1张图片
    HowToGetAppComments:
       
       
       
       
    1. CommentsRequest commentsRequest = CommentsRequest.newBuilder().setAppId("7065399193137006744").setStartIndex(0).setEntriesCount(10).build();session.append(commentsRequest, new Callback() {    
    2. @Override public void onResult(ResponseContext context, CommentsResponse response) {        
    3. System.out.println("Response : " + response);  
    4. // response.getComments(0).getAuthorName()      
    5. // response.getComments(0).getCreationTime()    
    6. // ...   
    7.     } });    
    8. session.flush();   

    HowToGetAppScreenshot   :
       
       
       
       
    1. GetImageRequest imgReq = GetImageRequest.newBuilder().setAppId("-7934792861962808905").setImageUsage(AppImageUsage.SCREENSHOT).setImageId("1").build();       
    2. session.append(imgReq, new Callback() {   
    3. @Override public void onResult(ResponseContext context, GetImageResponse response) {      
    4. try {                        
    5. FileOutputStream fos = new FileOutputStream("icon.png");      
    6. fos.write(response.getImageData().toByteArray());      
    7. fos.close();                           
    8. catch(Exception ex) {      
    9. ex.printStackTrace();     
    10. }}});   
    11. session.flush();  

    以上はレンガを投げて玉を引くだけで、もっとすばらしくて、手を出してこそ見ることができて、good luck!