Таким образом, использование Intent
для отправки данных на следующую операцию - это хорошо, но, пожалуйста, не отправляйте все данные из вашей базы данных с помощью Intent.Лучший способ реализовать это - создать некоторый класс провайдера данных, который не будет содержать фактические данные, но сможет извлечь их, когда это необходимо*
Intent i; // init it
Bundle bundle = new Bundle();
bundle.putSerializable("dataProvider", new DataProvider());
i.putExtras(bundle);
startActivity(i);
И, наконец, в начале своей деятельности найдите провайдера данных - я не буду писать никакого кода, потому что считаю, что вы можете справиться с этим самостоятельно.Когда вы получите DataProvider
, просто вызовите fetchData()
метод для извлечения данных.Очень ВАЖНО для доступа к асинхронному БД, иначе ваша деятельность может вызвать ANR, поэтому лучший способ сделать это будет использовать AsyncTask .Я также сообщу вам о внедрении AsyncTask.
Если у вас возникли проблемы, не стесняйтесь спрашивать, и мы поможем вам.