xutils 3的简单使用

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

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;
    @Override
    protectedvoidonCreate(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;
    }
    @Override
    publicvoidonCreate() {
        super.onCreate();
        x.Ext.init(this);//Xutils初始化
        daoConfig =newDbManager.DaoConfig()
                .setDbName("lyj_db")//创建数据库的名称
                .setDbVersion(1)//数据库版本号
                .setDbUpgradeListener(newDbManager.DbUpgradeListener() {
                    @Override
                    publicvoidonUpgrade(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>() {
            @Override
            public void onSuccess(String result) {
                data.onresult(true);
                Log.d(Constant.TAG, "成功:"+result);
            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                data.onresult(false);
                Log.d(Constant.TAG, "错误");
            }

            @Override
            public void onCancelled(CancelledException cex) {
                Log.d(Constant.TAG,"取消");
            }

            @Override
            public void onFinished() {
                Log.d(Constant.TAG,"完成");
            }
        });

差不多都结束了, 在这里只说明一点, android快速开发框架没有完美的框架,就看适不适合你, 如果不适合就改造吧.  大笑












你可能感兴趣的:(android,快速开发,xutils,网络框架)