Próbuję kod przykładowy z here
. Ale moja aplikacja się zawiesza.Jak korzystać z nieoficjalnego interfejsu API Android Market?
Dodałem rejestrację i dowiedziałem się, że uległo awarii pod numerem session.flush();
, więc usunąłem tę linię i nie ulega ona już awarii.
Ale nie dochodzi do oddzwaniania onResult
.
package com.mytest.app;
import com.gc.android.market.api.MarketSession;
import com.gc.android.market.api.MarketSession.Callback;
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.app.Activity;
import android.os.Bundle;
import android.provider.Settings.Secure;
import android.util.Log;
public class MarketAPITestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d("Market API", "Started");
String email = "[email protected]";
String pass = "mypass";
String AndroidId = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);
MarketSession session = new MarketSession();
session.login(email,pass);
session.getContext().setAndroidId(AndroidId);
String query = "maps";
AppsRequest appsRequest = AppsRequest.newBuilder()
.setQuery(query)
.setStartIndex(0).setEntriesCount(10)
.setWithExtendedInfo(true)
.build();
session.append(appsRequest, new Callback<AppsResponse>() {
@Override
public void onResult(ResponseContext context, AppsResponse response) {
Log.d("Market API", "Got response");
}
});
session.flush();
}
}
można pisać kod? I jakiekolwiek wyjątki? – Jack
zaktualizowane pytanie z kodem. Próbowałem złapać wyjątek próbując/złapałem, ale zaćmienie powiedział, że nie można go osiągnąć, więc musiałem go usunąć. Nie jestem pewien, gdzie dodać try/catch. – mrburns
Czy możesz opublikować wyjątek? Jeśli spojrzysz na swój logcat, powinien pokazać wyjątek w session.flush(); – Jack