Java 是否有AsynTask背景
我有个问题。 在我的内部类Java 是否有AsynTask背景,java,android,asynchronous,android-asynctask,Java,Android,Asynchronous,Android Asynctask,我有个问题。 在我的内部类chargeAdapterSync中,我得到了mDataModel class chargeAdapterAsync extends AsyncTask< String, String, String > { @Override protected String doInBackground( String... action ) { mImageLoader = ImageLoaderFactory.create(
chargeAdapterSync
中,我得到了mDataModel
class chargeAdapterAsync extends AsyncTask< String, String, String >
{
@Override
protected String doInBackground( String... action )
{
mImageLoader = ImageLoaderFactory.create( context );
// set up data
mDataModel = new WhaskListDataModel( context, 10 );
mAdapter = new PagedListViewDataAdapter< UserWhasks >( );
mAdapter.setViewHolderClass( this, WhaskListItemViewHolder.class, mImageLoader );
mAdapter.setListPageInfo( mDataModel.getListPageInfo( ) );
return null;
}
@Override
protected void onPostExecute( String o )
{
super.onPostExecute( o );
mListView.setAdapter( mAdapter );
}
}
然后我上了listwaskspagination
class,当我进去时,我得到了:
public ListWhasksPagination(Context activity, int limitArr) {
currentList = new ArrayList<>();
completeList = new ArrayList<>();
completeList = getWhasksResult(activity);
this.limitArr = limitArr;
firtItem = -1;
lastItem = 0;
}
private ArrayList<UserWhasks> getWhasksResult(Context activity){
ArrayList<UserWhasks> sortedWhasks = new ArrayList<>();
magnetClient = MagnetMobileClient.getInstance(activity);
try {
controllerFactory = new UserFactory(magnetClient);
user = controllerFactory.obtainInstance();
Call<WhasksPostsResult> callObject = user.getWhasks(
SharedPreference.ID,
SharedPreference.AUTHORIZATION, null);
WhasksPostsResult result = callObject.get();
for(WhasksResult whask : result.getWhasks()) {
sortedWhasks.add(new UserWhasks(whask));
}
Collections.sort(sortedWhasks, Collections.reverseOrder());
return sortedWhasks;
} catch (SchemaException e) {
Log.e(Constant.LOG_TAG, "can't get userController", e);
} catch (ExecutionException e) {
Log.e(Constant.LOG_TAG, "failed to execute getUser", e);
e.printStackTrace();
} catch (InterruptedException e) {
Log.e(Constant.LOG_TAG, "getUser interrupted", e);
}
return sortedWhasks;
}
公共列表WhaskSpagination(上下文活动,int limitArr){
currentList=新的ArrayList();
completeList=newarraylist();
completeList=getWhasksResult(活动);
this.limitArr=limitArr;
firtItem=-1;
lastItem=0;
}
私有ArrayList getWhasksResult(上下文活动){
ArrayList sortedHasks=新的ArrayList();
magnetClient=MagnetMobileClient.getInstance(活动);
试一试{
controllerFactory=新用户工厂(magnetClient);
user=controllerFactory.obtainInstance();
调用callObject=user.getWhasks(
SharedReference.ID,
SharedReference.AUTHORIZATION,空);
WhasksPostsResult result=callObject.get();
for(WhasksResult whask:result.getWhasks()){
添加(新用户whasks(whask));
}
Collections.sort(sortedHasks,Collections.reverseOrder());
返回分拣行李;
}捕获(SchemaException e){
Log.e(Constant.Log_标记,“无法获取用户控制器”,e);
}捕获(执行例外){
Log.e(Constant.Log_标记,“未能执行getUser”,e);
e、 printStackTrace();
}捕捉(中断异常e){
Log.e(Constant.Log_标记,“getUser interrupted”,e);
}
返回分拣行李;
}
在
getWhaskResult
中的最后一个类中,我得到了一些元素,我想知道getWhaskResult
方法,或者甚至类ListWhaskPagination
是否也在后台:一般来说,在后台执行的代码在doInBackground
方法中。其他代码不是
因此,在
doInBackground
中,您是mDataModel=newwhasklistdatamodel(上下文,10)
,它调用getWhaskResult
。因此getWhaskResult
将在后台执行Yes getWhaskResult 在后台执行,因为它是从doInBackground调用的很难理解您的问题是什么。请解释得更清楚些,或者用一些示例代码来解释你的问题。但在异步任务的doInBackground方法中所做的每一件事都是在后台线程池中运行的/
public ListWhasksPagination(Context activity, int limitArr) {
currentList = new ArrayList<>();
completeList = new ArrayList<>();
completeList = getWhasksResult(activity);
this.limitArr = limitArr;
firtItem = -1;
lastItem = 0;
}
private ArrayList<UserWhasks> getWhasksResult(Context activity){
ArrayList<UserWhasks> sortedWhasks = new ArrayList<>();
magnetClient = MagnetMobileClient.getInstance(activity);
try {
controllerFactory = new UserFactory(magnetClient);
user = controllerFactory.obtainInstance();
Call<WhasksPostsResult> callObject = user.getWhasks(
SharedPreference.ID,
SharedPreference.AUTHORIZATION, null);
WhasksPostsResult result = callObject.get();
for(WhasksResult whask : result.getWhasks()) {
sortedWhasks.add(new UserWhasks(whask));
}
Collections.sort(sortedWhasks, Collections.reverseOrder());
return sortedWhasks;
} catch (SchemaException e) {
Log.e(Constant.LOG_TAG, "can't get userController", e);
} catch (ExecutionException e) {
Log.e(Constant.LOG_TAG, "failed to execute getUser", e);
e.printStackTrace();
} catch (InterruptedException e) {
Log.e(Constant.LOG_TAG, "getUser interrupted", e);
}
return sortedWhasks;
}