#android #interface
#Android #интерфейс
Вопрос:
Я написал макет таблицы в Android, который содержит просмотр изображений и видео.
Я хочу написать интерфейс на Android, который будет принимать изображения, а также данные и видео, не нарушая мой макет.
Эти данные могут поступать в любой форме и из любого источника и должны быть переданы в макет через интерфейс.
Как я должен написать программный интерфейс для макета, который я разработал в Android?
Ответ №1:
Ниже приведен пример кода для интерфейса обратного вызова, используемого в Android
public class BackGroundProcess
{
private RequestCallback mCallback;
public BackGroundPrecess(RequestCallback ObjRequestCallback)
{
mCallback=ObjRequestCallback;
}
public void doBackgroundProcess()
{
/// perform action here
onProcessComplete();
}
private void onProcessComplete(){
mCallback.requestDidLoad(response);
}
}
// activity class
public class main_activity extends Activity{
private void post_message()
{
BackGroundProcess obj=new BackGroundProcess(new MSRequestCallback());
obj.doBackgroundProcess();
}
// Interface
private class MSRequestCallback extends RequestCallback {
public void requestDidFail(String page) {
mHandler.post(mUpdate);
}
}
final Handler mHandler= new Handler();
final Runnable mUpdate = new Runnable() {
public void run() {
// update the UI
}
};
}
Ответ №2:
Сначала вам понадобятся два класса.
- Первый класс будет вести себя так, как
Activity
в котором вам нужно отобразить макет и реализовать интерфейс или абстрактный класс. - Второй класс будет отвечать за выборку данных в фоновом режиме, используя
AsyncTask
который, будет принимать объект интерфейса в качестве входных данных в конструкторе, и когда задача в этом классе будет завершена, он обновит первый класс, вызвав метод объекта интерфейса, переданного первым классом, путем передачи данных.
Интерфейс должен быть определен и реализован в Activity
классе и методе, который обновит пользовательский интерфейс первого класса.
Пожалуйста, дайте мне знать, если вам нужна помощь в коде
Комментарии:
1. да, если у вас есть какой-либо связанный с ним код, пожалуйста, предоставьте, так как я в замешательстве. поэтому я буду благодарен, если вы предоставите мне код. Заранее благодарю вас