9

मेरे पास 1: 1 रिश्ते के साथ दो टेबल हैं, मैं सामग्री प्रदाता और कर्सरलोडर का उपयोग कर रहा हूं।कर्सरलोडर - दो टेबल क्वेरी में शामिल हों?

कर्सर लोडर के साथ काम करने के लिए मैं जॉइन क्वेरी कैसे करूं? मैं सामग्री प्रदाता के अंदर कच्चे एसक्यूएल के साथ इसे किसी भी तरह से हैक कर सकता हूं लेकिन कर्सर लोडर कन्स्ट्रक्टर में इसे कैसे करना है मेरे बाहर है।

बहुत बहुत धन्यवाद!

private static final String CREATE_TABLE_ARTICLES = "create table " 
      + TABLE_ARTICLES + "(" 
      + COLUMN_ARTICLE_ID + " integer primary key autoincrement, " 
      + COLUMN_URL + " text not null unique, " 
      + COLUMN_TITLE + " text not null, " 
      + COLUMN_PRICE + " text not null, " 
      + COLUMN_ADDED + " text not null, " 
      + COLUMN_IMG_URL + " text);"; 

    private static final String CREATE_TABLE_ARTICLE_DETAIL = "create table " 
      + TABLE_ARTICLE_DETAILS + "(" 
      + COLUMN_ARTICLE_DETAIL_ID + " integer primary key autoincrement, " 
      + COLUMN_DESC + " text not null, " 
      + COLUMN_LOCALITY + " text, " 
      + COLUMN_TYPE + " text not null, " 
      + COLUMN_SELLER + " text not null, " 
      + COLUMN_SELLER_PHONE + " text, " 
      + COLUMN_IMAGE_COUNT + " integer default 0, " 
      + COLUMN_ARTICLE + " integer, foreign key (" + COLUMN_ARTICLE + ") references " + TABLE_ARTICLES + "(" + COLUMN_ARTICLE_ID + "));"; 
+0

पसंद है मैं बहुत यकीन है कि आप में शामिल करने के लिए कच्चे एसक्यूएल लिखने की ज़रूरत जा रहे हैं रहा हूँ। – Falmarri

+0

कर्सर लोडर बनाते समय मैं कच्ची SQL क्वेरी कैसे लिखूं? यह केवल उन तारों को पैरामीटर (प्रक्षेपण, चयन, आदि) के रूप में स्वीकार करता है http://developer.android.com/reference/android/content/CursorLoader.html – urSus

उत्तर

9

दरअसल, आपको कस्टम कार्य लोडर का उपयोग करने की आवश्यकता नहीं है। संक्षेप में, एक समाधान उरी "सामग्री: // प्राधिकरण/तालिका आर्टिकल विथडेंट" बनाना है। फिर अपने सामग्री प्रदाता में, उस उरी की जांच करें और शामिल होने के लिए कच्चे एसक्यूएल करें।

विवरण के लिए how to use join query in CursorLoader when its constructor does not support it देखें।

2

सबसे आसान समाधान यह देखने के लिए है कि आपकी टेबल में शामिल हों और यूरी का उपयोग करके अपने कर्सर लोडर से दृश्य तक पहुंचें।

0
Cursor c = db.query(
    RefuelTable.TABLE_NAME + " , " + ExpenseTable.TABLE_NAME, 
    Utils.concat(RefuelTable.PROJECTION, ExpenseTable.PROJECTION), 
    RefuelTable.EXP_ID + " = " + ExpenseTable.ID + " AND " + RuelTable.ID + " = " + id , 
    null, 
    null, 
    null, 
    null); 

यह

संबंधित मुद्दे