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