xutils註解網絡圖片

//清單文件  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(){

 

            }

        });

    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章