SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

Android में ListView का उपयोग करके SQLite डेटाबेस को कैसे पढ़ें और अपडेट करें?

इसे हटा दिया जाना चाहिए।

Intent launchActivity = new Intent(MainActivityPlanes.this, MainActivityChampagne.class);
startActivity(launchActivity);

और आपके पास यह है

 public class MainActivityChampagne  

आपका MainActivityChampagne कक्षा गतिविधि का विस्तार नहीं करती है। यह एक गैर गतिविधि वर्ग है।

सूचीदृश्य में डेटा सेट करने के लिए।

 MainActivityChampagne db = new MainActivityChampagne(MainActivityPlanes.this);
 db.open();
 ArrayList<String> list = db.getData();    

अब डेटा को सूचीदृश्य में सेट करने के लिए सूची का उपयोग करें।

row.xml को टेक्स्टव्यू आईडी के साथ परिभाषित करें textView1।

  ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivityPlanes.this, R.layout.row, R.id.textView1,list);  
  List = (ListView) findViewById(R.id.listView1);  
  List.setAdapter(adapter);  

एक बार जब आप एडॉप्टर को सूचीदृश्य पर सेट कर देते हैं।

 List.setOnItemClickListener(new OnItemClickListener() {
 public void onItemClick(AdapterView<?> listView, View itemView, int itemPosition, long itemId)
  {           
        .  // on list item click do what is necessary
  }
  });  

संपादित करें:

row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="114dp"
        android:layout_marginTop="30dp"
        android:text="TextView" />

</RelativeLayout>

स्नैप शॉट

संपादित 2:अद्यतन तय हो गया है। हालाँकि आपको अपनी आवश्यकताओं के अनुसार नीचे संशोधित करने की आवश्यकता है।

public class MainActivityChampagne {

public static final String KEY_NAME = "title";
public static final String KEY_NOTES = "lastcall";

private static final String DATABASE_NAME = "Champagnedb5";
private static final String DATABASE_TABLE = "champagneTable";
private static final int DATABASE_VERSION = 1;
private static final String KEY_ID = "id";

private DbHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;

private static class DbHelper extends SQLiteOpenHelper{

    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub

    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        // TODO Auto-generated method stub\
        db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + 
                KEY_NAME + " TEXT NOT NULL," + 
                KEY_NOTES + " TEXT NOT NULL" + ");"
        );

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXIST " + DATABASE_TABLE);
        onCreate(db);

    }

}

public MainActivityChampagne(Context c){
    ourContext = c;

}

public MainActivityChampagne open(){
    ourHelper = new DbHelper(ourContext);
    ourDatabase = ourHelper.getWritableDatabase();
    return this;

}

public void close(){
    ourHelper.close();

}

public long createEntry(String titles, String notes) {
    // TODO Auto-generated method stub
    ContentValues cv = new ContentValues();
    cv.put(KEY_NAME, titles);
    cv.put(KEY_NOTES, notes);
    return ourDatabase.insert(DATABASE_TABLE, null, cv);

}

public ArrayList<String> getData() {
    //TODO Auto-generated method stub
    String[] columns = new String[] { KEY_NAME };
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String result = "";
    int iNotes = c.getColumnIndex(KEY_NAME);
    ArrayList<String> string_array = new ArrayList<String>();
    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext())
    {
    result = c.getString (iNotes) + "\n";
    string_array.add(result);
    }
           return string_array;

}

public void updateEntry(String thetitles, String thenotes) {
    // TODO Auto-generated method stub
    ContentValues cvUpdate = new ContentValues();
    cvUpdate.put(KEY_NAME, thetitles);
    cvUpdate.put(KEY_NOTES, thenotes);
    ourDatabase.update(DATABASE_TABLE, cvUpdate, "id "+"="+1, null);
    // this will update row 1 coz id is 1. 
    //ourDatabase.update(DATABASE_TABLE, cvUpdate, KEY_NAME + "=" + thetitles + KEY_NOTES + "=" + thenotes, null);

}

}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंड्रॉइड स्टूडियो एमुलेटर पर SQLite डारबेस के साथ ऐप कैसे लॉन्च करें?

  2. SQLiteAssetHelper वर्ग का उपयोग कर डेटाबेस की प्रतिलिपि बनाने में असमर्थ

  3. यदि टाइमस्टैम्प आज की तारीख से मेल खाता है तो SQLite पंक्तियों का चयन करें

  4. एंड्रॉइड:SQLite बचत स्ट्रिंग सरणी?

  5. Android में SQLiteOpenHelper के साथ संलग्न sqlite डेटाबेस