Android-bazy danych sqlite usprawnienie dzialania

0

Oto kod mojej activity z androida, ktora zawiera listview wypelniana danymi wczytywanymi z bazy danych

public class ProductsActivity extends AppCompatActivity {
  private ListView listView;
  final DB db=new DB(this);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_products);
        String category = getIntent().getStringExtra("category");
        this.setTitle(category);
        listView =(ListView)findViewById(R.id.productsListView);
        ArrayList<ProductData> products = db.getProductsNameByCategory(category);
        final ProductsActivityAdapter adapter = new ProductsActivityAdapter(this,products);
       
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                ProductData productData=(ProductData)adapter.getItem(position);
                productData.setStatus(!productData.getStatus());
                adapter.notifyDataSetChanged();
                if(productData.getStatus()){
                      db.insertProductOnList();
                }
                else{
                       db.deleteProductFromList();
                }
            }
        });
    }

Dziala to zgodnie z moimi zamierzeniami natomiast problemem jest to, ze laduje zauwazalnie dlugi czas i podobnie dlugo schodzi powrot z w/w activity do poprzedniej za pomoca backpress. To moj pierwsza aplikacja z uzyciem baz danych wiec moze uzywam zbyt duzo metod zwiazany z bazami i przez to dziala to tak wolno? Czy moglbym jakos te activity usprawnic?

Z gory dzieki za wszelkie sugestie!

0

Stawiam, że operacje na bazie wykonujesz w głównym wątku aplikacji. Poczytaj o asynchroniczności w Androidzie, mądre wykorzystanie na pewno usprawni działanie aplikacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1