移动应用设计-金苑银行

本文在研究当前智能终端发展背景和手机银行软件国内外发展现状的基础上,使用Java语言并结合当前主流的Android手机操作系统和客户端手机银行模式,进行了基于Android客户端的手机银行软件设计。本项目实现的功能主要有缴纳党费、缴纳手机费、网点预约、零钱通、理财通、查看天气信息、注册、登录、转账、贷款、还款、修改密码、账户明细、修改个人信息、银行卡管理。其中,本系统通过外网实现了服务器和客户端的交互,用到okHttp网络访问、json数据解析、音视频播放等。

项目效果:

https://download.csdn.net/download/qq_57417926/89681348?spm=1001.2014.3001.5503

  • 网点预约

系统先访问网络,获取网点信息,在用户提交申请后,系统向服务器发送请求,让服务器更改数据库。在预约后,用户可点击查看预约记录。同时,可以选择预约记录来取消记录。

  • 显示天气

当用户选择地区后,系统会发送请求,查询对应地区的天气状况并显示出来。

  • 零钱通

​​​​​​用户需要先开通零钱通,在开通零钱通时,要输入卡号和密码,并通过添加超链接的形式,可以让用户阅读《零钱通使用协议》,在勾选“已阅读《零钱通使用协议》”后,即可开通零钱通账户。此时,用户可以转入和转出零钱,系统会将零钱通的余额和存入日期存储在数据库中,当用户每次登录系统时,后台会自动查询零钱通的余额和存入日期来计算利息,并修改存入日期和余额。

//设置需要添加超链接的文字,并添加跳转的链接

SpannableString sp=new SpannableString("《零钱通使用协议》");

        sp.setSpan(new URLSpan("http://192.168.43.50:8080/TestServer/index.jsp"),0,9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//将超链接添加到控件上

        t.setText(sp);

//添加跳转事件

        t.setMovementMethod(LinkMovementMethod.getInstance());

  • 缴纳党费

进入首页点击“缴纳党费”即可进入如下图3-5、3-6所示界面,该界面在选择完地区之后,运用gson数据库解析json数据,在固定金额的要求下,点击“支付”按钮即可缴费成功。但在一个月内一个账户只能缴纳一次党费,这个功能是通过在数据库中对应账户实现的,如果该账户支付次数超过了一次,就把“支付”按钮设置成INVISIBLE。用户还可以选择自己账户下的支付卡号,每个登录账号下可以添加若干个银行卡,这部分内容是在首页“一键绑卡”的功能中实现的,具体是在数据库中对应账户中添加银行卡即可。

  • 理财通

系统会通过handler+thread异步处理方式,从服务器上下载各类保险详细信息,当用户选择短期理财、中期精选、长期投资时,系统会根据用户选择产品类型,动态显示该类型下的保险信息,在用户选择好保险类型后,就可以浏览该类型的保险信息并点击购买。此外该页面上方还可以播放视频,可以让人们对保险有一定的了解,该视频是通过MediaPlayer+SurfaceView方式进行视频显示。

  • 设置头像

用户登陆后,可以在账户信息——个人资料——头像处设置自己的头像,使用的是DownloadTask异步处理方式实现的头像设置,用户点击头像跳转到头像下载页面,点击下载图片,可以查看到服务器上所有的图片,用户可以选择一张图片作为头像。

  • 视频播放

点击播放视频可以进行播放,点击暂停视频暂停,点击继续视频继续播放,点击停止视频自动跳到视频开始。

(1)创建播放器对象并设置音频/视频数据源

player=MediaPlayer.create(this, R.raw.baoxian);

(2)创建为MediaPlayer对象添加完成事件监听器

    public void onCompletion(MediaPlayer mp) {

        //重新开始播放

        player.start();

    }

});

(3)设置播放、暂停、停止按钮的事件监听

play.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        final SurfaceHolder holder = surfaceView.getHolder();

        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 

        player.setDisplay(holder);
        player.start();//播放视频

        if (isPause) {

            pause.setText("暂停");

            isPause = false;

        }

    }

});



pause.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        if(player.isPlaying() && !isPause){

            player.pause();

            isPause=true;

            ((Button) v).setText("继续");

        }else

        {

            player.start();

            ((Button) v).setText("暂停");

            isPause=false;

        }

    }

});



stop.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        if(player != null){

            player.stop();

            player.prepare();         }

});
  • 按键提示音

为主页面的首页、账户明细、账户信息三个按钮添加按键提示音。使用的是Soundpool技术。

(1)获取组件

    btn_a = findViewById(R.id.btn_a);

    btn_d = findViewById(R.id.btn_d);

    btn_z = findViewById(R.id.btn_z); 

(2)加载音频

private void soundPoolInit() {

    //设置最多可容纳5个音频流,音频的品质为5

    mSoundPool = new SoundPool(5, AudioManager.STREAM_SYSTEM, 5);

    soundID.put(1, mSoundPool.load(this, R.raw.doo, 1));

    //load加载音频文件,通过指定的资源id加载音频文件

}

(3)为按钮添加事件监听

public void onClick(View v) {

    switch (v.getId()) {//获取按钮id

        case R.id.btn_a: {

            //播放指定音频

            mSoundPool.play(soundID.get(1), 1, 1, 0, 0, 1);

            Intent intent = getIntent();

            final String s = intent.getStringExtra("account");

            final String s1 = intent.getStringExtra("pwd");

            Intent i = new Intent(LendActivity.this, AccountActivity.class);

            i.putExtra("account", s);

            i.putExtra("pwd", s1);

            startActivity(i);

            break;

        }

        case R.id.btn_d: {

            mSoundPool.play(soundID.get(1), 1, 1, 0, 0, 1);

            Intent i = new Intent(LendActivity.this, LendActivity.class);

            Intent intent = getIntent();

            final String s = intent.getStringExtra("account");

            final String s1 = intent.getStringExtra("pwd");

            i.putExtra("account", s);

            i.putExtra("pwd", s1);

            startActivity(i);

            break;

        }

        case R.id.btn_z: {

            mSoundPool.play(soundID.get(1), 1, 1, 0, 0, 1);

            Intent i = new Intent(LendActivity.this, DetailActivity.class);

            Intent intent = getIntent();

            final String s = intent.getStringExtra("account");

            final String s1 = intent.getStringExtra("pwd");

            i.putExtra("account", s);

            i.putExtra("pwd", s1);

            startActivity(i);

            break;

        }

        default:break;

    }

}
  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
金苑超市管理系统是一个基于JSP的课程设计项目。该系统旨在提供一个高效、方便的管理平台,帮助超市实现更好的运营管理。 该系统的主要功能包括:商品管理、库存管理、销售管理、会员管理和统计报表等。 1. 商品管理:管理员可以对超市的商品进行添加、修改、删除和查询操作。可以设置商品的基本信息、价格、供应商信息等。同时,可以对商品进行分类管理,方便用户查找和购买。 2. 库存管理:该功能主要包括库存盘点和进货管理。通过库存盘点可以掌握超市各类商品的存货情况,及时补充缺货商品。进货管理包括供应商信息管理、进货单生成与管理,方便与供应商的交流和采购流程管理。 3. 销售管理:通过该功能,管理员可以查看销售记录、销售额统计和销售排行,了解超市销售情况。该功能还包括商品促销活动管理,促销信息的发布和销售统计,可以提高超市的销售额和客流量。 4. 会员管理:超市的会员管理是一个重要的环节。系统可以记录会员的基本信息、积分情况和消费记录等。管理员可以对会员进行管理,包括会员信息的录入、修改、删除和查询等。同时,可以设置会员等级和优惠政策,激励会员消费。 5. 统计报表:系统可以生成各种统计报表,包括销售额统计、商品销售排行、库存情况分析等,为管理员提供数据支持,帮助决策和管理。 总之,金苑超市管理系统通过JSP技术的应用,提供了一套完善的管理功能,帮助超市实现高效的库存管理、销售管理和会员管理等,改善超市的运营管理,提升超市的竞争力和服务质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值