最新关注了一些Android的新技术。总结学习一下。
ButterKnife
属于Android开发的懒人包。用注解来优化控件对象的实例化和监听的。
代码段
@Bind(R.id.iv_back) ImageView backButton;
相当于ImageView backButton = (ImageView)findViewById(R.id.iv_back);
代码段
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
相当于
@OnClick(R.id.iv_back)
public void back(){
finish();
}
实例程序:
添加 compile 'com.jakewharton:butterknife:8.2.1'
public class SearchActivity extends AppCompatActivity {
@Bind(R.id.tag_group)
TagGroup mTagGroup;
@Bind(R.id.iv_back)
ImageView backButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
ButterKnife.bind(this);
mTagGroup.setTags(new String[]{"Tag1", "Tag2", "Tag3"});
}
@OnClick(R.id.iv_back)
public void back(){
finish();
}
}
另外,Android Studio有一个插件butterknife-zelezny。
添加绑定so easy:https://github.com/avast/android-butterknife-zelezny
Picasso
Picasso是一个强大的图片处理缓存库。
优点:
- Handling ImageView recycling and download cancelation in an adapter.
- 低内存消耗的复杂图片转换
- 自动内存、硬盘缓存
用法示例:
compile 'com.squareup.picasso:picasso:2.5.2'
Picasso.with(context)
.load(url)
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
.into(imageView);
详细:http://square.github.io/picasso/