Tag: loader

使用AsyncTask加载位图图像

我试图在有人通过我的应用程序工作时在后台加载图像。 我写的逻辑是这样的: public class ImageLoader extends AsyncTask { private String URL; private int type; ImageLoader(String Url, int Type) { URL = Url; type = Type; } @Override protected Bitmap doInBackground(Context… arg0) { AssetManager assetMgr = arg0[0].getAssets(); Bitmap bitmap = null; try { bitmap = BitmapFactory.decodeStream(assetMgr.open(URL)); } catch (IOException e) { e.printStackTrace(); } return bitmap; } […]

带有MVP的Dagger 2,避免在视图重新创建时创建额外的主持人对象

我有一个应用程序实现MVP模式与一个Loader来维护视图娱乐的presenter对象(这里有一篇关于此的文章)。 我是Dagger 2的新手,试图与当前代码一起实现它。 我已经设法让它工作,但现在我的演示者创建了两次。 起初它是使用在onCreateLoader中初始化的工厂类创建的,但是当添加Dagger 2实现时,我创建了两个对象(在工厂类和注入时)。 现在我避免在onCreateLoader创建一个新的演示者,而是传递注入的演示者。 问题在于视图重新创建:每次销毁和重新创建视图时,都会在OnCreate / OnCreateView注入一个新的演示者。 这是场景: 注入一个新的演示者: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { … getControllerComponent().inject(this); … } 初始化Loader ,如果Loader不存在,则调用onCreateLoader 。 请注意,我们传递了注入的演示者: @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getLoaderManager().initLoader(PRESENTER_LOADER_ID, null, this); } @Override public Loader onCreateLoader(int id, Bundle args) { switch (id) { case PRESENTER_LOADER_ID: return […]