android学习札记第5章之模拟航空订票及javaapi
1、模拟航空订票系统提供登陆、网点和航班的选择和查询功能,因此首先将android窗口提现出来,需要创建4个Layout布局界面(activity_main.xml登陆界面、activity_menu.xml菜单界面、activity_branch_search.xml网点查询界面、activity_flight_search.xml航班查询界面)和4个窗口Activity(MainActivity登陆窗口、MenuActivity菜单窗口、BranchSearchActivity网点窗口、FlightSearchActivity航班窗口),然后我们目的是用面向对象的思维来开发,所以另外还需要一个用户实体类User,和3个业务逻辑类(UserService用户业务类、BranchService网点业务类、FlightService航班业务类)。
这样一来,Activity完全编写窗口显示的代码,User是实体类,Service完全编写业务逻辑的代码,实现了面向对象的思维,有利于日后的开发和维护,目录结构和界面如图:
2、开始编写登陆模块:
界面组件:MainActivity
数据访问和逻辑运算组件:UserService
方法:在窗口组件中,调用逻辑运算组件的方法,来完成登录的业务逻辑运算。
实现:
service.UserService类:业务逻辑
①User[] findAll():获得底层系统用户数据,将每个用户的用户名、密码封装成②User对象。
③boolean login(String username,String password):判断用户输入的用户名、密码是否正确
entity.User类:用来封装用户名和密码
3、然后编写菜单模块:
这个模块简单,只需添加并设置网点和航班2个按钮的监听事件,跳转到相应的窗口即可。
4、再编写网点模块:
和登陆模块的思维一样,都运用到面向对象,网点窗口调用网点业务的方法,再把结果返回给窗口。
5、最后编写航班模块:
和登陆模块的思维一样,都运用到面向对象,航班窗口调用航班业务的方法,再把结果返回给航班窗口。
1、java.lang语言包中Object类是所有类的顶层父类,一个类,如果不继承其他父类,默认继承Object。其中比较重要的2个方法:
①toString():
将对象表示为字符串,Object中toString()的实现是:“类名@十六进制内存地址”,如果需要,可以在子类中重写toString()。
②equals(Object obj):
当前对象与参数对象obj比较是否相等。Object中这个方法的实现是:比较当前对象和参数对象的内存地址。如果需要,可以在子类中重写equals()。
2、练习:
在Point点类中重写toString()和equals()方法。