Tüm Rehberler

Görev Yöneticisi (To-Do & SQLite)

İleri ⏱ 120 dk
BÖLÜM 2 / 2

ListView ve Kayıt İşlemi

Arayüzde bir ListView kullanarak Cursor okuyup ekrana basıyoruz.

Unity Editör Adımları

MainActivity.java'da DBHelper objesi ile writeable database al.
ContentValues kullanarak veriyi insert et.
ArrayAdapter ile ListView'ı güncelle.
csharp
package com.example.todolist;
import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import androidx.appcompat.app.AppCompatActivity; import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    DBHelper dbHelper; SQLiteDatabase db; ArrayList<String> taskList = new ArrayList<>(); ArrayAdapter<String> adapter;
    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Layout'da ListView, EditText ve Button olmalı
        
        dbHelper = new DBHelper(this); db = dbHelper.getWritableDatabase();
        ListView listView = findViewById(R.id.listView); EditText editTask = findViewById(R.id.editTask); Button btnAdd = findViewById(R.id.btnAdd);

        adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, taskList);
        listView.setAdapter(adapter); loadTasks();

        btnAdd.setOnClickListener(v -> {
            ContentValues cv = new ContentValues(); cv.put("name", editTask.getText().toString());
            db.insert("tasks", null, cv); editTask.setText(""); loadTasks();
        });
        
        listView.setOnItemLongClickListener((parent, view, position, id) -> {
            db.delete("tasks", "name=?", new String[]{taskList.get(position)});
            loadTasks(); return true;
        });
    }
    private void loadTasks() {
        taskList.clear();
        Cursor c = db.rawQuery("SELECT * FROM tasks", null);
        while(c.moveToNext()) { taskList.add(c.getString(1)); }
        c.close(); adapter.notifyDataSetChanged();
    }
}
Önceki Bölüm
Rehberi Tamamladın! 🎉