Android'de BaseColumns
'dan bir sınıf uygulamasının kullanımı nedir?Android'de BaseColumns kullanımı nedir
cevap
Bu iki alan ekler basit bir arayüz. Bu, ContentProviders
BaseColumns
arabirimi, çok yaygın olan _ID
ve _COUNT
sütunlarına ilişkin adlar sağlar. Ortak adların kullanılması, Android platformunun (ve geliştiricilerin), genel yapısına (yani, diğer ID olmayan sütunlara) bakılmaksızın, birleşik bir şekilde, herhangi bir veri öğesini ele almasını sağlar. Bir arabirim/sınıftaki yaygın olarak kullanılan dizeler için sabitlerin tanımlanması, kodun tümünde yineleme ve yazım hatalarını önler. _id
adlı bir sütun (BaseColumns._ID
sabit değer) kullanarak
CursorAdapter
gerektirdiği, sizin için şeyler yapmak için Android platformu için Cursor
bırakabileceğini bir ContentProvider
ve başka yerlerde uygulamaları. Örneğin, ListView
bağdaştırıcısı, OnItemClickListener.onItemClick()
içinde tıklatılan liste öğesinin benzersiz kimliğini size vermek için _ID
sütununu kullanır; kimliğinizin ne olduğunu açıkça belirtmenize gerek kalmadan.
olsun ya da olmasın sadece sabitlerini içeren arayüzleri ya da tam adıyla başvuru onları, yani BaseColumns._ID
tat meselesidir uygulamak. Ben kişisel olarak onu tercih eder, çünkü _ID
'un nereden geldiğini ve eskiden kalıtımın kötüye kullanıldığını düşünür. Android kullanılan
public interface BaseColumns
{
/**
* The unique ID for a row.
* <P>Type: INTEGER (long)</P>
*/
public static final String _ID = "_id";
/**
* The count of rows in a directory.
* <P>Type: INTEGER</P>
*/
public static final String _COUNT = "_count";
}
Dahili olarak sqlite veritabanları birincil anahtar olarak işlev görebilir autoincrements ve _id
kolonu ile gelir:
ile de iyi eşleşir. BaseColumn arabirimi, yalnızca adları _ID ve _COUNT sütunlarını sağlar. Tabloları oluştururken bunları kullanmak için sütunlar belirtmeniz gerekir. Örneğin, aşağıdakileri yapmanız olabilir _ID sütun adını kullanarak bir sütun oluşturmak için:
public static final String CREATE_TABLE =
"CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ("
+ _ID + " INTEGER PRIMARY KEY, "
+ USERNAME + " TEXT NOT NULL, "
+ PASSWORD + " TEXT NOT NULL, "
+ EMAIL + " TEXT NOT NULL UNIQUE)";
- 1. androidde openssl nasıl kurulur
- 2. Feholdexcept vb. Kullanımı nedir?
- 3. mongo.lock dosyasının kullanımı nedir?
- 4. Entitlements.plist dosyasının kullanımı nedir?
- 5. SingletonList kullanımı nedir?
- 6. LOCAL_MODULE_TAGS kullanımı nedir?
- 7. Android'de SQLiteDatabase.CursorFactory kullanımı nedir?
- 8. pthread'de PTHREAD_CREATE_JOINABLE kullanımı nedir?
- 9. "??" ifadesinin kullanımı nedir?
- 10. "const" kullanımı nedir?
- 11. androidde greyview için özel adaptör
- 12. androidde shift-jis kodunu çözme
- 13. Sanal dizin nedir? Bunun kullanımı nedir?
- 14. GrayLog2'de MongoDB kullanımı nedir?
- 15. android içinde MemoryFile kullanımı nedir
- 16. Bootstrap'tan satır sınıfının kullanımı nedir?
- 17. cocoapods içinde "~>" kullanımı nedir
- 18. Kotlin - Sınıfsız vücut kullanımı nedir?
- 19. T-SQL'de '\' ve '$' kullanımı nedir?
- 20. C dilinde _start() kullanımı nedir?
- 21. Android: MediaController'ın AnchorView kullanımı nedir?
- 22. Uygulama boyutlarını bilirken androidde özel görünümler ekleme
- 23. Tepki yerli androidde Coach işareti nasıl uygulanır?
- 24. .exp kullanımı nedir ve .lib ile .dll arasındaki fark nedir?
- 25. Bu koddaki son virgülün kullanımı nedir?
- 26. QName ve Operator sınıfının kullanımı nedir?
- 27. Webservice.asmx.cs'deki tüm kodu yazarken webservice.asmx'in kullanımı nedir?
- 28. Clojure'ın ciltleme biçimindeki alt çizgi kullanımı nedir?
- 29. Java'da java.util.concurrent.atomic paketinde sınıfların tam kullanımı nedir?
- 30. Eclipse Juno - package-info.java kullanımı nedir?
** thnx ** yüzden biz tablonun (yani birincil anahtar) id getirmesi gerek olmadığı anlamına gelir, BasicColumns._ID –
adresinden edinilebilir. "SELECT" sorgularınızda ID sütununu getirmeniz gerekiyor, 'BaseColumns._ID' sadece bu ID sütununun * adını * tanımlar. Birincil kimlik sütununun adı ne olursa olsun –
, sorgu derlemesinde BaseColumns._ID tarafından değiştirilir. doğru mu? –