2. xUtils3的使用(一):注解模块

2. xUtils3的使用(一):注解模块_第1张图片
xUtils3的使用

xUtils3的使用:

简介:

xUtils3 是 xUtils 的升级版,功能和性能都在提高。

xUtils3 主要有四大模块:注解模块联网模块图片加载模块数据库模块

注解模块: 用于在 Activity 或者 Fragment 中初始化布局文件,便于代码更加简洁;

联网模块: xUtils3 支持超大文件(超过2G)上传,更全面的http请求协议支持(11种谓词), 拥有更加灵活的 ORM,更多的事件注解支持且不受混淆影响;

图片加载模块: 加载图片很方便并且不用担心内存溢出,还可以图片绑定支持gif(受系统兼容性影响, 部分gif文件只能静态显示), webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转.

数据库模块: 数据库 api 简化提高性能, 达到和 greenDao 一致的性能

xUtils3的主要功能:

  • 1、注解
  • 2、联网请求文本数据
  • 3、大文件下载
  • 4、大文件上传
  • 5、请求图片
  • 6、数据库模块达到和 greenDao 一致的性能

使用前的配置:

compile 'org.xutils:xutils:3.3.42 或则下载整个工程再加载。

需要的权限:



初始化:

// 在application的onCreate中初始化
@Override
public void onCreate() {
    super.onCreate();
    x.Ext.init(this);
    x.Ext.setDebug(BuildConfig.DEBUG); // 是否输出debug日志, 开启debug会影响性能.
    ...
}

xUtils3的注解模块:

xUtils3在Activity中注解初始化布局:

@ContentView(R.layout.activity_fragment_xutils3)
public class FragmentXutils3Activity extends FragmentActivity
{
    @ViewInject(R.id.tv_title)
    private TextView tv_title;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_fragment_xutils3);
        x.view().inject(FragmentXutils3Activity.this);

         //设置标题
        tv_title.setText("在Fragment中使用注解");
    }
}

Activity 的注解

1.在 Application 的 oncreate 方法中加入下面代码: x.Ext.init(this);

2.在 Activity 的 oncreate 方法中加入下面代码: x.view().inject(this);

3.加载当前的 Activity 布局需要如下注解: @ContentView 加入到 Activity 的上方

4.给 View 进行初始化需要如下注解: @InjectView 5.处理控件的各种响应事件需要如下注解: @Envent

xUtils3在Fragment中注解初始化布局:

@ContentView(R.layout.fragment_demo)
public class demoFragment extends Fragment
{
    @ViewInject(R.id.demoFragment_button)
    private Button demoFragment_button;

    @ViewInject(R.id.demoFragment_text)
    private TextView demoFragment_text;

    private Context mContext;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        mContext = getContext();
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
    {
       // return super.onCreateView(inflater, container, savedInstanceState);
        return x.view().inject(demoFragment.this,inflater,container);
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState)
    {
        super.onActivityCreated(savedInstanceState);

        demoFragment_button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                Toast.makeText(mContext, "Fragment按钮被初始化了", Toast.LENGTH_SHORT).show();
            }
        });

        demoFragment_text.setText("demoFragment_text被初始化了");
    }
}

你可能感兴趣的:(2. xUtils3的使用(一):注解模块)