Android-开源框架之XUtils的基本使用

来源:互联网 发布:sql union 重复 编辑:程序博客网 时间:2024/06/06 16:26

今天介绍一些Android框架里面的网络框架,我认为功能比较强大的XUtils框架

目前XUtils里面总共有四大模块:DbUtils数据库模块、ViewUtils UI模块、HttpUtil网络模块、BitmapUtil图片加载模块

使用XUtils3步骤

1).先去官网下载jar包

2).复制到项目的libs下

3).添加权限

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

4).在Gradle里添加依赖

compile 'org.xutils:xutils:3.3.40'
5).我们新建一个MyApplication类,继承Application,重写onCreat方法,在里面初始化XUtils

public class MyApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        //初始化        x.Ext.init(this);    }}

然后要记得去Manifest里面添加类声明



然后去写布局文件

<Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="xutils获取数据"        android:id="@+id/b_xutils_data"        />    <ScrollView        android:layout_width="match_parent"        android:layout_height="match_parent">    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/tv_utils_show"        />    </ScrollView>

在Activity中,我们要使用注解的方式去获取控件

package com.zking.android_parserjson;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;import org.xutils.common.Callback;import org.xutils.http.RequestParams;import org.xutils.view.annotation.Event;import org.xutils.view.annotation.ViewInject;import org.xutils.x;public class xutilsActivity extends AppCompatActivity {    @ViewInject(R.id.tv_utils_show)    private TextView tv_utils_show;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_xutils);        //加载view注解        x.view().inject(this);    }    @Event(value=R.id.b_xutils_data,type=View.OnClickListener.class)    private void getData(View view){        //获取数据        RequestParams params=new RequestParams("https://www.baidu.com/s");        params.addQueryStringParameter("wd","2017世界编程语言");        x.http().get(params, new Callback.CommonCallback<String>() {            @Override            public void onSuccess(String result) {                tv_utils_show.setText(result);            }            @Override            public void onError(Throwable ex, boolean isOnCallback) {                tv_utils_show.setText("网络君感冒了");            }            @Override            public void onCancelled(CancelledException cex) {            }            @Override            public void onFinished() {            }        });    }}




因为是获取百度上的数据,所以编译出来是这个样的,但是,也表明我们获取成功了

然后我们再试一下获取百度的logo图片

在布局文件里面写一个ImageButton,设置一个默认图片

  <ImageButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/ib_xutils_image"        android:src="@mipmap/ic_launcher"        />

在Activity里面,得到控件

@ViewInject(R.id.ib_xutils_image)    private ImageView ib_xutils_image;

给控件设值

 x.image().bind(ib_xutils_image,"https://www.baidu.com/img/bd_logo1.png");

然后就可以看到我们的效果图了


0 0
原创粉丝点击