在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → android 背单词app源码(MVP架构)

android 背单词app源码(MVP架构)

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:86.26M
  • 下载次数:210
  • 浏览次数:2693
  • 发布时间:2018-06-25
  • 实例类别:Android平台开发
  • 发 布 人:wangzepig722
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 安卓 架构 MVP 软件

实例介绍

【实例简介】

基于安卓平台的背单词软件,该app支持英语单词/句子 点击开始朗读

【实例截图】




from clipboard

from clipboard


from clipboard


from clipboard

【核心代码】

package com.example.wero.a1_20154816395.mvp.home;

import android.support.v4.widget.SwipeRefreshLayout;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;

import com.blankj.utilcode.util.ToastUtils;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions;
import com.bumptech.glide.request.RequestOptions;
import com.example.wero.a1_20154816395.R;
import com.example.wero.a1_20154816395.mvp.MvpFragment;
import com.example.wero.a1_20154816395.service.AudioService;
import com.example.wero.a1_20154816395.utils.PlayComplete;
import com.example.wero.a1_20154816395.utils.TimeUtils;

import java.util.Date;
import butterknife.BindView;

/**
 * @Title: ${filename}
 * @user: wero
 * @date: 18-5-20
 */

public class HomeFragment extends MvpFragment<HomePresenter> implements HomeContract.View, SwipeRefreshLayout.OnRefreshListener, View.OnClickListener{
    @BindView(R.id.srefresh_home) SwipeRefreshLayout mSwipeRefreshLayout;
    @BindView(R.id.image_daily) ImageView image_daily;
    @BindView(R.id.tv_daily_en) TextView tv_daily_en;
    @BindView(R.id.tv_daily_ch) TextView tv_daily_ch;
    @BindView(R.id.btn_last) Button btn_last;
    @BindView(R.id.btn_home_alert) Button btn_home_alert;
    @BindView(R.id.ib_home_voice) ImageButton ib_home_voice;
    @BindView(R.id.et_home_daylicount) EditText et_home_daylicount;
    @BindView(R.id.tv_comp) TextView tv_comp;
    private Date date;
    private String voiceUrl;

    @Override
    protected void initView() {
        date = new Date();
        ib_home_voice.setOnClickListener(this);
        btn_last.setOnClickListener(this);
        autoSetVoiceIcon();
        loadData();
        mSwipeRefreshLayout.setOnRefreshListener(this);
        mSwipeRefreshLayout.setColorSchemeResources(R.color.cfore2, R.color.cfore1);
        btn_home_alert.setOnClickListener(this);
    }

    private void loadData(){
        mPresenter.loadDaliySentence(TimeUtils.getShortDate(date, 0l));
        mPresenter.loadDailyCount();
        mPresenter.loadTarget();
    }

    @Override
    protected HomePresenter createPresenter() {
        return new HomePresenter(this);
    }

    @Override
    protected int getLayoutResource() {
        return R.layout.fragment_home;
    }

    /**
     * 点击播放
     */
    public void playVolum(){
        ib_home_voice.setImageResource(R.drawable.voice2);
        AudioService.startVoiceByService(getActivity(), voiceUrl);
    }

    /**
     * 加载图片
     * @param url
     */
    @Override
    public void setImage(String url) {
        RequestOptions options = new RequestOptions();
        options.centerCrop()
                .placeholder(R.drawable.loading)
                .error(R.drawable.error);

        Glide.with(getContext())
                .load(url)
                .apply(options)
                .into(image_daily);
    }

    @Override
    public void setText(String en, String ch, String tts) {
        tv_daily_en.setText(en);
        tv_daily_ch.setText(ch);
        voiceUrl = tts;
    }

    @Override
    public void setDailyCount(int count) {
        tv_comp.setText("今日已完成数量: "   count);
    }

    @Override
    public void setDialyTarget(int target) {
        et_home_daylicount.setText(target   "");
    }

    @Override
    public void onRefresh() {
        mPresenter.loadDaliySentence(TimeUtils.getShortDate(date, 0l));
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_home_alert:
                    mPresenter.writeTarget(Integer.valueOf(et_home_daylicount.getText().toString()));
                break;
            case R.id.ib_home_voice:
                playVolum();
                break;
            case R.id.btn_last:
                showProgress();
                mPresenter.loadDaliySentence(TimeUtils.getShortDate(date, TimeUtils.ONE_DAY));
                break;
        }
    }

    @Override
    public void showProgress() {
        mSwipeRefreshLayout.setRefreshing(true);
    }

    @Override
    public void hideProgress() {
        mSwipeRefreshLayout.setRefreshing(false);
    }

    /**
     * Rxmanager用于进程间通信, 用于设置监听使点击时图标改变事件
     */
    @Override
    public void autoSetVoiceIcon() {
        mRxMannager.addObserver(mRxMannager.toObserver(PlayComplete.class).subscribe(p -> {
            ib_home_voice.setImageResource(R.drawable.voice1);
        }));
    }

    @Override
    public void showSuccess(String str) {
        ToastUtils.showShort(str);
    }

    @Override
    public void showFail(String str) {
        ToastUtils.showShort(str);
    }
}

标签: 安卓 架构 MVP 软件

实例下载地址

android 背单词app源码(MVP架构)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 HHYY 发表于: 2019-05-08 14:42 51
没有服务端么?

支持(0) 盖楼(回复)

第 2 楼 lingchen5201314 发表于: 2019-05-10 06:35 26
没有服务端么?

HHYY 2019-05-08 14:42 51

没有,好像

支持(0) 盖楼(回复)

第 3 楼 小樱hhhhhhhhhh 发表于: 2019-11-06 20:17 02
怎么打开啊

支持(0) 盖楼(回复)

第 4 楼 3010061596 发表于: 2020-05-15 21:47 42
不能注册?打开不了

支持(0) 盖楼(回复)

第 5 楼 3010061596 发表于: 2020-05-15 21:47 43
不能注册?打开不了

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有7条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警