xutils注解网络图片

来源:互联网 发布:扭转弹簧设计 知乎 编辑:程序博客网 时间:2024/05/22 00:37

//清单文件  android:name=".app.MyApplication"

public class MyApplication extends Application {

    @Override

    public void onCreate() {

        super.onCreate();

        //初始化xutils3

        x.Ext.init(this);

        //输出日志 设置为false就是为了不影响性能

        x.Ext.setDebug(false);

    }

}


@ContentView(R.layout.activity_main)

public class MainActivity extends AppCompatActivity {

    @ViewInject(R.id.tv)

    TextView tv;

    @ViewInject(R.id.iv)

    ImageView iv;

 

    @Override

    protected void onCreate(BundlesavedInstanceState) {

       super.onCreate(savedInstanceState);

        //setContentView(R.layout.activity_main);

        x.view().inject(this);

        tv.setText("这是我使用xutils3的注解方式");

    }

//默认的是点击事件

 

    /*1,方法必须私有限定,

    2,方法参数形式必须和type对应的Listener接口一致.

    3,注解参数value支持数组: value={id1, id2, id3}*/

 

    /**

     * 单击事件

     * type默认View.OnClickListener.class,故此处可以简化不写,@Event(R.id.bt_main)

     */

    // @Event(type =View.OnClickListener.class, value = R.id.tv)

    @Event({R.id.tv, R.id.iv})

    private void testOnClick(Viewview) {

        switch (view.getId()) {

            case R.id.tv:

               Toast.makeText(MainActivity.this, "这是我使用注解方式实现点击事件",Toast.LENGTH_SHORT).show();

                getData();

                break;

            case R.id.iv:

               Toast.makeText(MainActivity.this, "这是我使用注解方式实现点击事件",Toast.LENGTH_SHORT).show();

                getServerData();

                break;

        }

    }

 

    /**

     * 长按事件

     *

     * @param v

     * @return

     */

    @Event(type =View.OnLongClickListener.class, value = R.id.iv)

    private booleantestOnLongClick(View v) {

        switch (v.getId()) {

            case R.id.iv:

               Toast.makeText(MainActivity.this, "这是我使用注解方式实现长按事件",Toast.LENGTH_SHORT).show();

 

                break;

        }

        return true;

    }

 

    //获取网络数据 缓存

    private void getData() {

        String url ="http://www.93.gov.cn/93app/data.do";

        RequestParams params = newRequestParams(url);

       params.addQueryStringParameter("channelId", "0");

       params.addQueryStringParameter("startNum", "0");

        params.setCacheMaxAge(1000 *60);

        x.http().get(params, newCallback.CacheCallback<String>() {

            private String result = null;

 

            @Override

            public booleanonCache(String result) {

                this.result = result;

                //默认false不走缓存 true 走缓存 过期之后就不走缓存

               Toast.makeText(MainActivity.this, "走缓存",Toast.LENGTH_SHORT).show();

                return true;

            }

 

            @Override

            public voidonSuccess(String result) {

                if (result != null) {

                    this.result =result;

                }

               Log.i("aaa", result);

 

            }

 

            @Override

            public voidonError(Throwable ex, boolean isOnCallback) {

 

            }

 

            @Override

            public voidonCancelled(CancelledException cex) {

 

            }

 

            @Override

            public void onFinished(){

 

            }

        });

 

    }

 

    //获取网络数据

    private void getServerData() {

        String url ="http://www.93.gov.cn/93app/data.do";

        RequestParams params = newRequestParams(url);

       params.addQueryStringParameter("channelId", "0");

       params.addQueryStringParameter("startNum", "0");

        x.http().get(params, newCallback.CommonCallback<String>() {

            @Override

            public void onSuccess(String result) {

               Log.i("xxx", result);

            }

 

            @Override

            public voidonError(Throwable ex, boolean isOnCallback) {

 

            }

 

            @Override

            public voidonCancelled(CancelledException cex) {

 

            }

 

            @Override

            public void onFinished(){

 

            }

        });

    }

}


0 0
原创粉丝点击