您的位置:首页 > 编程语言 > Java开发

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

2016-07-17 23:15 417 查看

如何在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)上继续维护, 相对于旧版本:

HTTP实现替换HttpClient为UrlConnection, 自动解析回调泛型, 更安全的断点续传策略.

支持标准的Cookie策略, 区分domain, path…

事件注解去除不常用的功能, 提高性能.

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

图片绑定支持gif(受系统兼容性影响, 部分gif文件只能静态显示), webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转…

3.如何在Android studio中使用xUtils3

由于GitHub中的项目是使用Android studio开发的,所以在Android studio使用xUtils3十分简单

使用Gradle构建时添加一下依赖即可:


compile 'org.xutils:xutils:3.3.36'


4.如何在Eclipse中使用xUtils3

点击这里下载aar文件;

将arr文件的后缀名改为.zip;

解压zip,在解压后的文件中得到classes.jar,建议更名为xUtils.jar,不更改也没有关系; 在jni中得到.so文件

将xUtils和.so文件拷贝到项目中libs文件夹中,就可以使用xUtils3了

5.使用前配置

权限配置

<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);
}

@Override
public 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(二)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: