文章目录
  1. 1. 必读材料
  1. 定义变量时,UI变量单独放一块,数据变量放一块,空行隔开不要掺杂在一块。
  2. 使用UIL时,如果只是简单加载一个图片的bitmap,可以使用SimpleImageLoadingListener方法,而不是ImageLoadingListener。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    imageLoader.displayImage(detailModel.getData().getPicture(),
    headerBg,
    new SimpleImageLoadingListener() {
    @Override
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
    headerBg.setImageBitmap(loadedImage);
    setBitmap(loadedImage);
    }
    });
  3. Activity或Fragment中对adapter.updateDataSet(data);时,notifyDataSetChanged的操作放在adapter的updateDataSet方法内执行。

  4. 外部启动activity时,调用该activity的静态方法,例如

    1
    2
    3
    4
    5
    public static Intent newInstance(Context context, int tabIndexIfNeeded) {
    Intent intent = new Intent(context, UserGuideActivity.class);
    intent.putExtra(Constants.KEY_WHICH_TAB, tabIndexIfNeeded);
    return intent;
    }

    而外表类实例化该activity的intent的方法是
    final Intent intent = UserGuideActivity.newInstance(this, UserGuideConstants.OPEN_BIZ_AREAS_GUIDE_VIEW);

    类似地,启动fragment时,调用该fragment的静态方法,例如

    1
    2
    3
    4
    5
    6
    7
    public static GuiseFragment newInstance(NGGuiseGroup guiseGroup) {
    GuiseFragment fragment = new GuiseFragment();
    Bundle bundle = new Bundle();
    bundle.putSerializable(EXTRA_GUISE_GROUP, guiseGroup);
    fragment.setArguments(bundle);
    return fragment;
    }

    而外表类实例化该fragment的方法是
    final GuiseFragment guiseFragment = GuiseFragment.newInstance(guiseGroup);

  5. 发起网络请求之前,务必检测网络状态,只有网络可用时才允许发起网络请求。网络不可用时提示网络连接错误,不允许发起网络请求。
    例如

    1
    2
    3
    4
    if (!Utils.isNetworkOn()) {
    showShortToast(R.string.network_down);
    } else
    net.getArticlePostDetail(APIKey.KEY_ARTICLE_POST_DETAIL, token, String.valueOf(postId), String.valueOf(postType));

    特殊地,比如视频播放只允许wifi网络下才可以播放,非wifi网络下中断播放。

必读材料

  1. Android 开发最佳实践
文章目录
  1. 1. 必读材料