频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
史上最强大的Android注解项目快速开发框架
2017-01-20 09:53:53         来源:吉他程序员的博客  
收藏   我要投稿

史上最强大的Android注解项目快速开发框架:1.今天介绍一个超级简单快速的android开发框架->基于DataBinding。一个牛逼的很低调的美国人写的。

2.优点:
一:不需要繁琐的注解配置,不需要很多的Present类,只需建立业务接口,类似于mybatis,无需实现业务接口,框架在运行时会动态生成接口的实例。
二:基于DataBinding,项目中不会出现一个findViewById,也不用像inject那样写很多控件的注解初始化
三:框架大量用到了软引用缓存,不会担心内存崩溃,由于使用到了缓存不用担心运行效率。
优点远不止这些,下面你自己来瞧瞧就知道了!!

2.框架架构实例(我以用户登录为例):

1.全局Application类
//host: 网络请求的根地址  scan: 项目唯一一个配置文件名称
@Spring(host = "https://192.168.0.1/news-web",scan = "bootstrap.xml")
public class App extends Application{
    @Override
    public void onCreate() {
        super.onCreate();
        BootStrap.startup(this);//初始化AndroidSpring
    }
    @Override
    public void onTerminate() {
        super.onTerminate();
        BootStrap.shutdown();//销毁AndroidSpring
    }
}
//配置文件放在asset目录下:这里类型spring框架的扫描,扫描所有的业务接口和activity类路径


    
    
       com.luo.service.MainService
    

2.用户业务bean , 这个很干净,无需任何注解配置

public class User {
    public String userName ;
    public String password ;


    // 以下为服务器 要返回的字段 ...
    public String nickName ;
}

3.登录Service ,这里是最重要的,只需写接口就行了!!!
登录接口:https://192.168.0.1/news-web/user/login
参数:userName password
返回上述User格式的json.

@RequestMapping("/user")
public interface LoginService {
    /**
     * 登录接口
     * @param user  输入参数 配置了P注解,就代表是输入参数
     * @param call 回调
     */
    @RequestMapping(value = "/login" , method = RequestMethod.POST)
    @ResponseBody(User.class) // 返回的json 对应的类
    public void login(@P("user") User user , ResponseCallback call);
}

4.下面只有界面了。登录布局文件,就是一个登录按钮。 这个要熟悉databinding框架,再来看



    
        
    
    

5.登录按钮点击事件

@FullScreen // 全屏
@Layout(R.layout.activity_login)  // 布局文件
public class LoginActivity extends BootStrapActivity{ //这里必须继承框架的BootStrapActivity,BootStrapActivity继承了Activity

    @Autowired  // 注入登录接口服务 , 配置这个注解就直接可以用了
    LoginService loginService ;

    @Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);

        // 这里 就得到了 按钮控件对象 , ActivityLoginBinding看不懂的先简单了解下 databinding框架
        Button btnLogin = getDatabiding(ActivityLoginBinding.class).btnLogin  ;

        //登录按钮  点击事件
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                loginService.login(new User("", ""), new ResponseCallback() {
                    @Override
                    public void onSuccess(User user) {
                        Toast.makeText(getApplicationContext(),"登录成功"+user.toString(),Toast.LENGTH_LONG).show();
                    }
                });
            }
        });
    }
}
点击复制链接 与好友分享!回本站首页
上一篇:struts2拦截器
下一篇:远程调用的几种方式
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站