如何在Eclipse和Android Studio中使用xUtils3(一)

来源:互联网 发布:淘宝上有哪些网购美食 编辑:程序博客网 时间:2024/05/02 05:01

如何在Eclipse和Android Studio中使用xUtils3(一)**

1.xUtils3的源码库下载地址

github库文件地址

2.xUtils3简介

  • xUtils 包含了很多实用的android工具.
  • xUtils 支持超大文件(超过2G)上传,更全面的http请求协议支持(11种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响…
  • xUtils 最低兼容Android 4.0 (api level 14). (Android 2.3?)
  • xUtils3变化较多所以建立了新的项目不在旧版(github.com/wyouflf/xUtils)上继续维护, 相对于旧版本:

    1. HTTP实现替换HttpClient为UrlConnection, 自动解析回调泛型, 更安全的断点续传策略.
    2. 支持标准的Cookie策略, 区分domain, path…
    3. 事件注解去除不常用的功能, 提高性能.
    4. 数据库api简化提高性能, 达到和greenDao一致的性能
    5. 图片绑定支持gif(受系统兼容性影响, 部分gif文件只能静态显示), webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转…

3.如何在Android studio中使用xUtils3

由于GitHub中的项目是使用Android studio开发的,所以在Android studio使用xUtils3十分简单 使用Gradle构建时添加一下依赖即可:
compile 'org.xutils:xutils:3.3.36'

4.如何在Eclipse中使用xUtils3

  1. 点击这里下载aar文件;
  2. 将arr文件的后缀名改为.zip;
  3. 解压zip,在解压后的文件中得到classes.jar,建议更名为xUtils.jar,不更改也没有关系; 在jni中得到.so文件
  4. 将xUtils和.so文件拷贝到项目中libs文件夹中,就可以使用xUtils3了

5.使用前配置

  1. 权限配置
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2.初始化xUtils
建议在application或是在BaseActivity中初始化

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

 //在BaseActivity中初始化xUtils    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        x.Ext.init(getApplication());        x.Ext.setDebug(BuildConfig.DEBUG);        x.view().inject(this);    }

3.使用注解

  • Activity中控件注解
    -activity注解
@ContentView(R.layout.activity_image_view)public class ImageViewActivity extends BaseActivity {@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);    }}

-注解控件

@ViewInject(R.id.imageView)ImageView imageView;

-事件注解
单个事件注解

 //downImageBt的点击事件 @Event(value = R.id.downImageBt,type = View.OnClickListener.class/*可选参数, 默认是View.OnClickListener.class*/) private void downImage(View view) {    -------  }

多个事件注解

@Event(value={R.id.enterImage,R.id.getDataByGet,R.id.getDataByPost} )    private void onClick(View view){        switch (view.getId()) {        case R.id.enterImage:            startActivity(new Intent(MainActivity.this, ImageViewActivity.class));            break;        case R.id.getDataByGet:            getDataByGet("");            break;        case R.id.getDataByPost:            getDataByPost("");        break;        default:            break;        }        }

在Fragment中注解Fragment

public class BaseFragment extends Fragment {    private boolean injected = false;    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {        // TODO Auto-generated method stub        return x.view().inject(this,inflater,container);    }@Overridepublic void onViewCreated(View view, Bundle savedInstanceState) {        if (!injected) {            x.view().inject(this,this.getView());        }    }}
@ContentView(R.layout.fragment_image)public class ImageFragment extends BaseFragment {    @ViewInject(R.id.lv_img)    private ListView imageListView;

1.如何在Eclipse和Android Studio中使用xUtils3(二)

1 0
原创粉丝点击