您的位置:首页 > 理论基础 > 计算机网络

xutils 3的简单使用

2016-03-04 10:08 519 查看

1,导入包,请自行百度。

             xutil 源码

2,初始化xutils

           新建application,在oncreat里面加上
x.Ext.init(
this
);
@Override
public void onCreate() {
super.onCreate();
sApplication = this;
// xutils 初始化
x.Ext.init(this);

}

3.开始使用

1>注解模块:

(个人建议不推荐使用,在android studio开发中,完全可以用ButterKnife生成器,快速方便,请自行百度)
@ContentView(value = R.layout.activity_main)public class MainActivity extendsAppCompatActivity {@ViewInject(value = R.id.mybut)privateButton mybut;@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);x.view().inject(this);}@Event(value = R.id.mybut,type = View.OnClickListener.class)private voidon Button Click(View v){switch(v.getId()){caseR.id.mybut:Toast.makeText(this,"你好我是Xutils的注解功能",Toast.LENGTH_SHORT).show();break;}}}
注意:
1:使用注解必须全部为私有,不然无效当然除了ContentView例外。2:   所有用到注解的成员变量,使用的时候,必须在x.view().inject(this)后,如果写在前面,那么程序会崩溃。

2> xutils加载图片

(个人建议:不使用,可以考虑谷歌官方推荐的glide,和fresco这2个图片加载控件,前者使用与加载listview图片,后者号称永远不会oom的.所以都非常不错,而我经常用glide,因为我太懒了)
x.image().bind(image,”http://pic.baike.soso.com/p/20090711/20090711101754-314944703.jpg“);
也可以设置参数:
ImageOptions imageOptions =newImageOptions.Builder().setSize(DensityUtil.dip2px(120), DensityUtil.dip2px(120))//图片大小.setRadius(DensityUtil.dip2px(5))//ImageView圆角半径.setCrop(true)// 如果ImageView的大小不是定义为wrap_content, 不要crop..setImageScaleType(ImageView.ScaleType.CENTER_CROP).setLoadingDrawableId(R.mipmap.ic_launcher)//加载中默认显示图片.setFailureDrawableId(R.mipmap.ic_launcher)//加载失败后默认显示图片.build();x.image().bind(image,"http://pic.baike.soso.com/p/20090711/20090711101754-314944703.jpg",imageOptions);

3> 数据库模块

(个人建议:不推荐使用, 最主要的是我不太熟悉它的原理,而我网上搜的好的数据库orm,它都不在其中,推荐LiteOrm 虽然速度不是最快的,但也是第二块的,并且简单易学,小巧)
将数据库的初始化放在Application,且必须提供获取数据库的方法,使得在应用程序的任何地方都可以直接获取数据库,并操作数据库.
初始化数据库:
public class MyApplication extends Application {privateDbManager.DaoConfig daoConfig;publicDbManager.DaoConfig getDaoConfig() {returndaoConfig;}@OverridepublicvoidonCreate() {super.onCreate();x.Ext.init(this);//Xutils初始化daoConfig =newDbManager.DaoConfig().setDbName("lyj_db")//创建数据库的名称.setDbVersion(1)//数据库版本号.setDbUpgradeListener(newDbManager.DbUpgradeListener() {@OverridepublicvoidonUpgrade(DbManager db,intoldVersion,int newVersion) {// TODO: ...// db.addColumn(...);// db.dropTable(...);// ...}});//数据库更新操作}}
注意:setDbDir(new File(“/sdcard”)),可以将数据库存储在你想存储的地方,如果不设置,那么数据库默认存储在/data/data/你的应用程序/database/xxx.db下4>网络请求:(就这个不错. 可上传,可下载 等等)
        RequestParams params = new RequestParams(url);x.http().get(params, new Callback.CommonCallback<String>() {@Overridepublic void onSuccess(String result) {data.onresult(true);Log.d(Constant.TAG, "成功:"+result);}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {data.onresult(false);Log.d(Constant.TAG, "错误");}@Overridepublic void onCancelled(CancelledException cex) {Log.d(Constant.TAG,"取消");}@Overridepublic void onFinished() {Log.d(Constant.TAG,"完成");}});
差不多都结束了, 在这里只说明一点, android快速开发框架没有完美的框架,就看适不适合你, 如果不适合就改造吧. 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息