2011-08-13 15 views
9

Patrzę na samouczek Notatnika na stronie programisty Androida i zauważyłem, że SimpleCursorAdaptor jest przestarzałe.Zamiennik dla SimpleCursorAdapter?

Nowy konstruktor

public SimpleCursorAdapter (Context context, int layout, 
    Cursor c, String[] from, int[] to, int flags) 

jest dostępna tylko w API 11.

Sugerowana Alternatywą jest użycie LoadManager z CursorLoader, ale wymagają one również API 11. Więc co można zastąpić SimpleCursorAdapter API 10, czyli w jaki sposób należy wykonać Step 12 of the tutorial przy użyciu nie-przestarzałej metody?

Odpowiedz

19

Należy pamiętać, że dezaprobata robi nie zastosowanie do wszystkich SimpleCursorAdapter, tylko jeden z konstruktorów.

Jeśli chcesz użyć programu ładującego z interfejsu API 11, możesz pobrać bibliotekę kompatybilności (patrz: http://developer.android.com/sdk/compatibility-library.html). Zapewnia to backport, który jest kompatybilny z urządzeniami poziomu 4 lub wyższego API.

EDIT:

Jeśli nadal stoi błędów po użyciu biblioteki kompatybilności, to po prostu trzeba wymienić

import android.widget.SimpleCursorAdapter; 

z

import android.support.v4.widget.SimpleCursorAdapter; 
+1

Hi elevine miarę Mogę powiedzieć, że istnieją tylko 2 konstruktory, z których jeden wymaga interfejsu API 11. Tak więc wycofanie drugiego oznacza w zasadzie, że aplikacja jest ukierunkowana na API 10 nie używaj 'SimpleCursorAdapter', prawda? Czy może czegoś tutaj brakuje? –

+1

Niezupełnie. * Właściwością * do wykonania w twoim przypadku jest użycie LoaderManager i CursorLoader za pośrednictwem Biblioteki Kompatybilności, do której dostarczyłem odnośnik. W przeciwnym razie możesz * użyć * przestarzałego konstruktora, po prostu go zniechęcić. – elevine

+0

To wydaje się dziwne. Właśnie zaczynam się z tym bawić i zastanawiam się, dlaczego nie deprecjonują jedynego konstruktora współpracującego z telefonami (API 11 to plaster miodu, który jest tabletem) i nie dostarczają nieuwalniającego się Konstruktora. – Nicholas