Я понял, что подход ниже очень прост.
Я объявил интерфейс для обратного вызова
public interface AsyncResponse {
void processFinish(Object output);
}
Затем создал асинхронную задачу для ответа на все типы параллельных запросов
public class MyAsyncTask extends AsyncTask<Object, Object, Object> {
public AsyncResponse delegate = null;//Call back interface
public MyAsyncTask(AsyncResponse asyncResponse) {
delegate = asyncResponse;//Assigning call back interfacethrough constructor
}
@Override
protected Object doInBackground(Object... params) {
//My Background tasks are written here
return {resutl Object}
}
@Override
protected void onPostExecute(Object result) {
delegate.processFinish(result);
}
}
Затем вызывается асинхронная задача при нажатии кнопки в классе активности.
public class MainActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
Button mbtnPress = (Button) findViewById(R.id.btnPress);
mbtnPress.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyAsyncTask asyncTask =new MyAsyncTask(new AsyncResponse() {
@Override
public void processFinish(Object output) {
Log.d("Response From Asynchronous task:", (String) output);
mbtnPress.setText((String) output);
}
});
asyncTask.execute(new Object[] { "Your request to aynchronous task class is giving here.." });
}
});
}
}
Спасибо
Немного возни с предположением, что это могут быть секунды:
Если предположить, что ICriteria совпадает с интерфейсом Criteria в ядре Hibernate, то JavaDoc для org.hibernate.Criteria предоставляет подсказку - ссылка «также посмотреть» на java.sql.Statement.setQueryTimeout () . Последний ссылается на свой параметр времени ожидания в секундах.
Предполагая, что реализация NHibernate следует подразумеваемому контракту этого метода, тогда это должно быть хорошо. Однако ради душевного спокойствия я отправился на поиски некоторых специфических для NHibernate вещей. Существуют различные ссылки на CommandTimeout; например, здесь , относящиеся к NHibernate. Конечно, документация для CommandTimeout гласит, что это секунды.
Я почти не опубликовал вышеизложенное, потому что я не знаю ответа прямо и не могу найти какую-либо конкретную документацию - но так как по этому вопросу так мало, я подумал, что это не помешает представить эти выводы.
Я думаю, что это - секунды. API NHibernate тесно зеркально отражает, в спящем режиме Ядро для Java, где Criteria.setTimeout (интервал) метод использует секунды в качестве единиц (см. также Statement.setQueryTimeout (интервал) ).
кроме того, после рассмотрения некоторого источника NHibernate, кажется, что это использует то значение для установки тайм-аута для базового запроса ADO.NET, который использует секунды.