Monday, April 23, 2012

Android App- Unofficial Android Market(Play Store) API

I want to display a List of some Apps using the unofficial Android Market(Play Store) API(http://code.google.com/p/android-market-api).



But I always get Errors. Does somebody have an idea why I get Errors?



Here is my Code:



 package iStore.App.Android;

import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import com.gc.android.market.api.MarketSession;
import com.gc.android.market.api.MarketSession.Callback;
import com.gc.android.market.api.model.Market.App;
import com.gc.android.market.api.model.Market.AppsRequest;
import com.gc.android.market.api.model.Market.AppsResponse;
import com.gc.android.market.api.model.Market.ResponseContext;

import android.provider.Settings.Secure;
import android.util.Log;
import android.widget.TextView;


public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView textview = (TextView) findViewById(R.id.TextView);

MarketSession session = new MarketSession();
session.login("my email adresse","my passsword");
String AndroidId = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);
session.getContext().setAndroidId(AndroidId);

String query = "google";
AppsRequest appsRequest = AppsRequest.newBuilder()
.setQuery(query)
.setStartIndex(0).setEntriesCount(3)
.setWithExtendedInfo(false)
.build();

Callback<AppsResponse> callback = new Callback<AppsResponse> () {
public void onResult(ResponseContext context, AppsResponse response) {


textview.setText("It worked");

}
};
session.append(appsRequest, callback);
session.flush();
}
}


I tried this in a Java Project. There it worked, but instead of



    String AndroidId = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);


I used my actual Android ID. But why does it not work in an Android App?



Thanks.



EDIT:
My LogCat:



    04-23 15:18:16.379: E/dalvikvm(4111): Could not find class 'com.gc.android.market.api.MarketSession', referenced from method iStore.App.Android.MainActivity.onCreate
04-23 15:18:16.389: W/dalvikvm(4111): VFY: unable to resolve new-instance 11 (Lcom/gc/android/market/api/MarketSession;) in LiStore/App/Android/MainActivity;
04-23 15:18:16.429: W/dalvikvm(4111): threadid=1: thread exiting with uncaught exception (group=0x40018560)
04-23 15:18:16.429: E/AndroidRuntime(4111): FATAL EXCEPTION: main
04-23 15:18:16.429: E/AndroidRuntime(4111): java.lang.NoClassDefFoundError: com.gc.android.market.api.MarketSession
04-23 15:18:16.429: E/AndroidRuntime(4111): at iStore.App.Android.MainActivity.onCreate(MainActivity.java:27)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.os.Handler.dispatchMessage(Handler.java:99)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.os.Looper.loop(Looper.java:123)
04-23 15:18:16.429: E/AndroidRuntime(4111): at android.app.ActivityThread.main(ActivityThread.java:3729)
04-23 15:18:16.429: E/AndroidRuntime(4111): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 15:18:16.429: E/AndroidRuntime(4111): at java.lang.reflect.Method.invoke(Method.java:507)
04-23 15:18:16.429: E/AndroidRuntime(4111): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:874)
04-23 15:18:16.429: E/AndroidRuntime(4111): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:632)
04-23 15:18:16.429: E/AndroidRuntime(4111): at dalvik.system.NativeStart.main(Native Method)




No comments:

Post a Comment