本地数据注入设想(测试功能)

受ButterKnife启发。如果有参数注入的这样一个功能是很有用?

android大部分使用Activity来作为模块的中心。所以这次的这个功能我作为Activity辅助功能为目标来开发这个功能

在Activity初始化时将数据注入到参数中,这些数据可以是来自Intent,File,assets,SharedPreferences甚至数据库中,这样我们可以不用关心数据来自哪里,在初始化的时候都已经准备好了。

类似这样的写法

@LocalData(ARG_ID) //不指定from,默认获取父Activity传递的数据,等比getIntent
long mId;
@LocalData(ARG_NAME) //不指定from,默认获取父Activity传递的数据,等比getIntent
String mName;
@LocalData(value = "detail",from = LocalData.GiverType.ASSETS) //来自Assets里路径为detail的文件
String mDetail;
@LocalData(value = "1",from = LocalData.GiverType.DATABASE) //来自数据库Book表id为1的数据
Book mBook;

假设有一些数据过大,或不一定用的到。你可能不想在初始化的时候加载它们,那么可以以“触发数据”来延迟加载这些数据。“触发数据”是根据某view被点击或者其他类似事件的时候才被从其他位置加载数据。这些触发数据将会临时的保存起来直至Activity结束

/**
 * 当点击cover视图时加载外存储根目录下algorithms.jpg数据,并且保存在这个Activity之中直到Activity销毁
 * @param view
 * @param coverData
 */
@Bind(R.id.cover)
@LocalData(value = "algorithms.jpg",from = LocalData.GiverType.FILE) //来自外部根存储中名为algorithms.jpg的文件
private void loadCover(View view,byte[] coverData){
    ((ImageView)view).setImageBitmap(BitmapFactory.decodeByteArray(coverData,0,coverData.length));
}
效果


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值