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快速开发框架没有完美的框架,就看适不适合你, 如果不适合就改造吧.
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories