• Android——服务的实例,银行服务


    最近事情比较多,学安卓,四大组件都没搞完,但是一有时间我就抽空出来写的,带着自己远大的目标和理想,奋斗中。。。

    这是这次实例的示意图,不过三个人物的功能,这个示意图没画对,普通用户存钱取钱贷款,银行工作人员也能存钱取钱贷款啊,所以后面的人物的功能是含括前面的人物的功能的

     

     

    我们第一步是写接口,为啥使用到接口,听过那个大牛说的视频就知道,这是在项目开发中常用的,比如银行服务这块一部分人做,服务用户这块一部分人做,不用接口就得等一边做好另一边做,用接口调用就可以两边并发,效率就成倍增加了。

     

     

     

     

     可以看出,我们使用的这三个接口,分别对应的三个人物,普通人,工作人员,老板,

    每个里面都定义了虚拟方法,至于后面的继承前面的接口,是为了让高级的人物使用前面人物的方法,继承这块和接口这块,这个项目实例用的活灵活现,受益匪浅啊。

     

     

    定义了接口,就给它实现接口,至于为啥用单独的类去实现,为了让代码复用,以及模块化,便于理解。

     

     

     

     

     

     

    开头就说过,更高级的人物权限越大,含括了前面人物的所有方法,所以,我们都给他实现了

    可以看出来,我们的功能十分的简单,里面都是固定的金额;其实如果可以,咱自己也能用一个活动实现它,然后给他设计布局,然后输入金额进行修改。

     

    接着就是写一个服务

    服务第一步:继承Service写一个类

     

     第二步:AndroidManifest.xml注册好。

    注意exported这个属性,为的就是让他可以跨进程使用,也就是跨程序使用,到时候注意写就行

     

     

    第三步:进行调用

    不过这边得插入一个,因为是并行的去操作,这时候我们就得写界面,给用户使用的界面

     

     

    咱在主活动里写用户登陆的样式;

    选择人物身份

     

     

     

     

    让它跳转到各个特指那几个人物的活动,让那几个活动去绑定服务,并调用服务内部的那些接口和方法

    为啥不是启动服务?

     

     

     

     

     

     

    因为启动服务并不能调用服务里的方法

     

    然后创建这些按钮跳转的类,并绑定服务。这就是第三步。

     

     

     挺长的,但是其中的绑定是固定的,这个写法跟广播里的挺像的,反正四大组件基本都得用到Intent,这

    com.example.bankserive.ACTION_NORMAL_USER
    是我们在AndroidManifest1里面注册服务的时候定义的IntentFilter里的

     

     

     

    因为服务里是根据跳转的action进行选择相应的接口和实现类

    所以我们得给它一个名字,一般是包名加大写的东西(跟安卓源代码学的)

    这里的绑定服务和上次的绑定形式不一样,上次是当成成员变量来使用,这次用内部类形式,然后调用的时候进行new对象就好,每次把服务强转,为的就是让绑定后调用服务内部方法或者接口

    然后让他们变成成员变量,让定义了的活动里的布局按钮调用它,然后调用服务内部的方法或接口,所以服务连接相当于一个使用服务的媒介,用一个接口new出来就可以使用接口里的所有方法了

     

     

    然后就是活动的布局

    这里我们用到了标题形式,然后让include进行导入,这样也是为了代码复用,

     

     

     

     调用活动布局时只需要一句话就好了

     

     

     

     

    后面的两个活动的布局就叠加,

     

     两句话完成

     

     

    老板的也是一样,调用前面的,然后写自己的

     

     

     

     

    接着我们分别写了其他两个活动,

    反正我学到第一个活动写法后就自己写了第二个和第三个,大同小异

    就不介绍了

     

     

    然后就可以测试了

     

    就测试了普通用户

     

     

    后续会跨程序进行服务,使用到了AIDL,这个东西就是创建活动时,Activity上面的那个类型

     

     

    这个服务好像并没太大吸引力,因为并没有给它优化功能,简单的服务功能还是体现了

    等学完四大组件,后面自己再优化下画面,然后体会下四大组件的作用吧,,,

    又写到这个点了,时间不等人呐,加油,相信勤能补拙,会变得优秀的。

  • 相关阅读:
    RGB888转RGB666
    bmp文件格式详细解析
    Qt 5简介
    IntelliJ IDEA 快捷键
    猫猫学iOS之小知识之_xcode插件的删除方法_自己主动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自己主动提示,
    sql server 2008出现远程过程调用失败
    Oracle-31-对视图DML操作
    uva 11127(暴力)
    各种排序算法的分析与实现
    我的Android进阶之旅------>怎样解决Android 5.0中出现的警告: Service Intent must be explicit:
  • 原文地址:https://www.cnblogs.com/aolong/p/13467127.html
Copyright © 2020-2023  润新知