XUtils3框架的初始體驗(一)


 

 

1、開源地址  

     https://github.com/wyouflf/xUtils3.git   

     如果使用eclipse可以 點擊這里下載aar文件, 然后用zip解壓, 取出jar包和so文件.

2、導入工程 

    使用Gradle構建時添加一下依賴即可:
    

compile 'org.xutils:xutils:3.2.2'

   

 使用Eclipse構建時操作步驟如下:

 1、下載aar文件並使用然后用zip解壓, 取出jar包和so文件.
       

  2、將xutils-3.2.0.jar 以及armeabi添加到工程的libs中即可。

3、簡單介紹

    XUtils3一共有4大功能:注解模塊,網絡模塊,圖片加載模塊,數據庫模塊。 

注解模塊

Activity的注解 


1.在Application的oncreate方法中加入下面代碼: 
x.Ext.init(this); 

x.Ext.setDebug(BuildConfig.DEBUG);
2.在Activity的oncreate方法中加入下面代碼: 
x.view().inject(this); 
3.加載當前的Activity布局需要如下注解: 
@ContentView加入到Activity的上方 
4.給View進行初始化需要如下注解: 
@InjectView 
5.處理控件的各種響應事件需要如下注解: 
@Envent 

 

   一下是一個簡單的Demo 其中加載網絡圖片需要添加權限

 

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

 

項目目錄截圖 

  

@ContentView(R.layout.activity_main)
public class MainActivity extends Activity {
    private Context context;
    
    @ViewInject(R.id.id_but1)
    private Button button1;
    
    @ViewInject(R.id.id_but2)
    private Button button2;
    
    @ViewInject(R.id.id_but_loadImg)
    private Button id_but_loadImg;
    @ViewInject(R.id.id_imgView)
    private ImageView imageView;
    ImageOptions imageOptions;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //注入view和事件
        x.view().inject(this); 
        context=this;
        
        imageOptions = new ImageOptions.Builder()
      .setSize(DensityUtil.dip2px(120), DensityUtil.dip2px(120))
      .setRadius(DensityUtil.dip2px(5))
              // 如果ImageView的大小不是定義為wrap_content, 不要crop.
      .setCrop(true)
              // 加載中或錯誤圖片的ScaleType
              //.setPlaceholderScaleType(ImageView.ScaleType.MATRIX)
      .setImageScaleType(ImageView.ScaleType.CENTER_CROP)
      //設置加載過程中的圖片
      .setLoadingDrawableId(R.drawable.ic_launcher)
      //設置加載失敗后的圖片
      .setFailureDrawableId(R.drawable.ic_launcher)
      //設置使用緩存
      .setUseMemCache(true)
      //設置支持gif
      .setIgnoreGif(false)
      //設置顯示圓形圖片
//      .setCircular(false)
      .build();

    }
    @Event(value={R.id.id_but_loadImg})
    private void loadImage(View view){
        x.image().bind(imageView, "http://img2.3lian.com/2014/f2/164/d/17.jpg", imageOptions);
    }
    
    @Event(value={R.id.id_but1,R.id.id_but2},type=View.OnClickListener.class) 
    private void onClick(View view){
        //必須為private 
        switch (view.getId()) {
        case R.id.id_but1:
            T.showLong(context, "點擊了id_but1.....");
            LogUtil.e("點擊了id_but1.....");
            break;
        case R.id.id_but2:
            T.showLong(context, "點擊了id_but2.....");
            break;

        default:
            break;
        }
    }

    源碼下載地址:http://pan.baidu.com/s/1gdWlhyb

    如果對你有幫助可以關注一下訂閱號

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM