锁定老帖子 主题:写了个小框架,大家帮忙提提意见
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-02-07
最后修改:2012-08-15
放到google code上了:
0.3版做了较大改动,使用更简单,不再兼容以前版本。 0.3.0版本支持的Annotations:
AfterTextChanged AutoInject BeforeTextChanged CustomExpander FindById Inflate OnCheckedChange OnChildViewAdded OnChildViewRemoved OnClick OnCreateContextMenu OnDoubleTap OnDoubleTapEvent OnDown OnEditorAction OnFling OnFocusChange OnKey OnLongClick OnLongPress OnScroll OnShowPress OnSingleTapConfirmed OnSingleTapUp OnTextChanged OnTouch Task
Usage Example: public class AndroidWay extends Activity { private Button btn1; private Button btn2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1 = (Button)this.findViewById(R.id.btn1); btn2 = (Button)this.findViewById(R.id.btn2); OnClickListener listener = new OnClickListener(){ @Override public void onClick(View v) { switch(v.getId()){ case R.id.btn1: //do something break; case R.id.btn2: //do something break; } }}; btn1.setOnClickListener(listener); btn2.setOnClickListener(listener); } }
public class EasyWay extends EasyActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @OnClick({R.id.btn1, R.id.btn2}) private void doSometing(View v) { switch(v.getId()){ case R.id.btn1: //do something break; case R.id.btn2: //do something break; } } }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-02-08
想法不错。
|
|
返回顶楼 | |
发表时间:2012-02-08
业余有时间我会持续更新这个框架,主要是想用利用JAVA的一些已有的特性让Android开发效率更高,并且保证性能和最小化。
|
|
返回顶楼 | |
发表时间:2012-02-08
public class aActivity extends Activity
{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } private void doSometing(View v) { switch(v.getId()){ case R.id.btn1: //do something break; case R.id.btn2: //do something break; } } } 不是本来就可以这样实现么? |
|
返回顶楼 | |
发表时间:2012-02-08
<button> 不是有onclick标签么,直接指定到 Activity中的方法
|
|
返回顶楼 | |
发表时间:2012-02-08
看看roboguice吧
|
|
返回顶楼 | |
发表时间:2012-02-08
最后修改:2012-02-08
看过roboguice,不是很喜欢,只是注入对象对提高android的开发效率提高不大,因为android更像Swing,是事件驱动的。虽然roboguice是封装的guice,guice在j2ee领域是一个超轻量级的ioc框架,但放到手机领域还是显得重,而且我使用时感觉严重影响性能(程序启动时间)。
另外XML中只是提供了有限的标签,似乎只是onclick,我现在是想扩展几乎所有事件。现在的框架已经支持的有: OnCheckedChange. OnClick. OnCreateContextMenu. OnEditorAction. OnFocusChange. OnKey. OnLongClick. OnTouch. (写到XML中还有个不好的地方,只看代码有时会不知是哪个View调用了这个方法,而且该方法必须是public的) |
|
返回顶楼 | |
发表时间:2012-02-08
欢迎提意见,也希望有感兴趣的一块写。
|
|
返回顶楼 | |
发表时间:2012-02-08
我也写类似的东西,和楼主一样,都是采用roboguice的那种反射注入方式。
google code上我还看过android annotations。它的做法很有远见,使用annotation处理做到高效率。 很有意思的项目~建议楼主看看 |
|
返回顶楼 | |
发表时间:2012-02-08
sd6733531 写道 我也写类似的东西,和楼主一样,都是采用roboguice的那种反射注入方式。
google code上我还看过android annotations。它的做法很有远见,使用annotation处理做到高效率。 很有意思的项目~建议楼主看看 嗯,也看过。不过感觉老外的思路真是和东方人不一样啊,用着别扭。仁兄写的是什么,拿出来晒晒哈^_^ |
|
返回顶楼 | |