Xutils3.0简单的应用Dome

1.在build.gradle中 添加依赖

compile 'org.xutils:xutils:3.5.0'
在AndroidManifest.xml文件中

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
application  中

android:name=".MyXutilsApp"

自定义一个初始化类

public class MyXutilsApp extends Application{
    //初始化数据库
    private static DbManager.DaoConfig daoConfig;
    private static MyXutilsApp myXutilsApp;
    private SQLiteOpenHelper helper;
   public static DbManager getDaoConfig(){
        daoConfig=new DbManager.DaoConfig()
                //创建数据库名
                .setDbName("ManHua.db")
                //设置数据库版本号
                .setDbVersion(1);
        DbManager db = x.getDb(daoConfig);
        return db;
    }


    @Override
    public void onCreate() {
        super.onCreate();
        //初始化
        x.Ext.init(this);
        //设置是否输出Debug
        x.Ext.setDebug(true);

        //数据库
       myXutilsApp=this;
    }

  //数据库
    @Override
    public void onTerminate() {
        if (helper!=null){
            helper.close();
        }
        super.onTerminate();
    }

在Activity中调用工具类

private ListView listView;
private String path="http://api.kuaikanmanhua.com/v1/daily/comic_lists/1489334400?since=0&gender=0&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg5NjQzNTYxODM4LCJwcm9wZXJ0aWVzIjp7IkhvbWVwYWdlVGFiTmFtZSI6IueDremXqCIsIlZDb21tdW5pdHlUYWJOYW1lIjoi54Ot6ZeoIiwiJG9zX3ZlcnNpb24iOiI0LjQuMiIsIkdlbmRlclR5cGUiOiLlpbPniYgiLCJGcm9tSG9tZXBhZ2VUYWJOYW1lIjoi54Ot6ZeoIiwiJGxpYl92ZXJzaW9uIjoiMS42LjM0IiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6IkxFTk9WTyIsIkZyb21Ib21lcGFnZVVwZGF0ZURhdGUiOjMsIiRzY3JlZW5faGVpZ2h0IjoxNDQwLCJIb21lcGFnZVVwZGF0ZURhdGUiOjMsIlByb3BlcnR5RXZlbnQiOiJSZWFkSG9tZVBhZ2UiLCJGaW5kVGFiTmFtZSI6IuaOqOiNkCIsImFidGVzdF9ncm91cCI6MTAsIiRzY3JlZW5fd2lkdGgiOjkwMCwiJG9zIjoiQW5kcm9pZCIsIlRyaWdnZXJQYWdlIjoiSG9tZVBhZ2UiLCIkY2FycmllciI6IkNISU5BIE1PQklMRSIsIiRtb2RlbCI6Ikxlbm92byBQNzAtdCIsIiRhcHBfdmVyc2lvbiI6IjMuOS4yIn0sInR5cGUiOiJ0cmFjayIsImRpc3RpbmN0X2lkIjoiQTo1MDdCOUQyN0Q2NUEwMDAwIiwib3JpZ2luYWxfaWQiOiJBOjUwN0I5RDI3RDY1QTAwMDAiLCJldmVudCI6IlJlYWRIb21lUGFnZSJ9";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    initView();
    MyXutilsHttpUtils.myHttpUtils(path,listView,this);
}

private void initView() {
    listView = (ListView) findViewById(R.id.listView);
}

网络请求操作

创建一个工具类

public static void myHttpUtils(String url, final ListView listView, final Context context){
    
    //传值Url
    RequestParams requestParams = new RequestParams(url);
    x.http().get(requestParams, new Callback.CommonCallback<String>() {
        //请求成功时调用
        @Override
        public void onSuccess(String result) {
            //在方法中可以做解析、适配等工作
            Gson gson=new Gson();
            Bean bean = gson.fromJson(result, Bean.class);
            List<Bean.DataBean.ComicsBean> comics = bean.getData().getComics();
            MyListViewAdapter adapter=new MyListViewAdapter(context,comics);
            listView.setAdapter(adapter);
             //数据库
            List<ManHua> list=new ArrayList<ManHua>();
             for (int i = 0; i <comics.size() ; i++) {
               String cover_image_url = comics.get(i).getCover_image_url();
                String title = comics.get(i).getTopic().getTitle();
                ManHua manHua=new ManHua(i,cover_image_url,title);
                list.add(manHua);

            }
            DbManager daoConfig = MyXutilsApp.getDaoConfig();
            try {
                daoConfig.save(list);
            } catch (DbException e) {
                e.printStackTrace();
            }


        }
        //请求失败时调用
        @Override
        public void onError(Throwable ex, boolean isOnCallback) {

        }
        //取消网络请求时调用
        @Override
        public void onCancelled(CancelledException cex) {

        }
        //请求完成时调用
        @Override
        public void onFinished() {

        }
    });

}   
操作数据库

创建一个实体类

@Table(name = "ManHua.db",onCreated = "")
public class ManHua {
    /**
     * name = "id":数据库表中的一个字段
     * isId = true:是否是主键
     * autoGen = true:是否自动增长
     * property = "NOT NULL":添加约束
     */
   @Column(name ="id",isId = true,autoGen = true,property = "NOT NULL")
    private int id;
    @Column(name = "imageurl")
    private String imageurl;
    @Column(name = "titel")
    private String titel;

    public ManHua(int id, String imageurl, String titel) {
        this.id = id;
        this.imageurl = imageurl;
        this.titel = titel;
    }

    public ManHua() {
    }

    @Override
    public String toString() {
        return "ManHua{" +
                "id=" + id +
                ", imageurl='" + imageurl + '\'' +
                ", titel='" + titel + '\'' +
                '}';
    }
}
在初始化类及工具类中的操作上面有详细注释

图片操作

ImageOptions options=new ImageOptions.Builder()
        //设置图片的大小
        .setSize(120,120)
        //设置圆角半径
        .setRadius(60)
        //获得不是设置的图片尺寸,是否舍弃
        .setCrop(true)
        //加载中显示的图片
        .setLoadingDrawableId(R.mipmap.ic_launcher)
        //加载失败显示的图片
        .setFailureDrawableId(R.mipmap.ic_launcher)
        .build();
x.image().bind(v.imageView,list.get(i).getCover_image_url(),options);




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值