首页

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

java

2020-6-30

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

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);
    }
}

资源下载此资源下载价格为6D币(VIP免费),请先
资源文件列表
20154816395wangzepingBDCRJ/.gitignore , 118
20154816395wangzepingBDCRJ/.gradle/4.1/fileChanges/last-build.bin , 1
20154816395wangzepingBDCRJ/.gradle/4.1/fileContent/fileContent.lock , 17
20154816395wangzepingBDCRJ/.gradle/4.1/fileHashes/fileHashes.bin , 1173744
20154816395wangzepingBDCRJ/.gradle/4.1/fileHashes/fileHashes.lock , 17
20154816395wangzepingBDCRJ/.gradle/4.1/fileHashes/resourceHashesCache.bin , 24889
20154816395wangzepingBDCRJ/.gradle/4.1/javaCompile/classAnalysis.bin , 5157906
20154816395wangzepingBDCRJ/.gradle/4.1/javaCompile/jarAnalysis.bin , 2005964
20154816395wangzepingBDCRJ/.gradle/4.1/javaCompile/javaCompile.lock , 17
20154816395wangzepingBDCRJ/.gradle/4.1/javaCompile/taskHistory.bin , 3915086
20154816395wangzepingBDCRJ/.gradle/4.1/javaCompile/taskJars.bin , 52656
20154816395wangzepingBDCRJ/.gradle/4.1/taskHistory/fileSnapshots.bin , 6541583
20154816395wangzepingBDCRJ/.gradle/4.1/taskHistory/taskHistory.bin , 82076
20154816395wangzepingBDCRJ/.gradle/4.1/taskHistory/taskHistory.lock , 17
20154816395wangzepingBDCRJ/.gradle/4.4/fileChanges/last-build.bin , 1
20154816395wangzepingBDCRJ/.gradle/4.4/fileContent/fileContent.lock , 17
20154816395wangzepingBDCRJ/.gradle/4.4/fileHashes/fileHashes.bin , 3784899
20154816395wangzepingBDCRJ/.gradle/4.4/fileHashes/fileHashes.lock , 17
20154816395wangzepingBDCRJ/.gradle/4.4/fileHashes/resourceHashesCache.bin , 23495
20154816395wangzepingBDCRJ/.gradle/4.4/javaCompile/classAnalysis.bin , 7543515
20154816395wangzepingBDCRJ/.gradle/4.4/javaCompile/jarAnalysis.bin , 2179851
20154816395wangzepingBDCRJ/.gradle/4.4/javaCompile/javaCompile.lock , 17
20154816395wangzepingBDCRJ/.gradle/4.4/javaCompile/taskHistory.bin , 26239090
20154816395wangzepingBDCRJ/.gradle/4.4/javaCompile/taskJars.bin , 111393
20154816395wangzepingBDCRJ/.gradle/4.4/taskHistory/taskHistory.bin , 12135436
20154816395wangzepingBDCRJ/.gradle/4.4/taskHistory/taskHistory.lock , 17
20154816395wangzepingBDCRJ/.gradle/buildOutputCleanup/buildOutputCleanup.lock , 17
20154816395wangzepingBDCRJ/.gradle/buildOutputCleanup/cache.properties , 49
20154816395wangzepingBDCRJ/.gradle/buildOutputCleanup/outputFiles.bin , 53519
20154816395wangzepingBDCRJ/.idea/caches/build_file_checksums.ser , 545
20154816395wangzepingBDCRJ/.idea/codeStyles/Project.xml , 1803
20154816395wangzepingBDCRJ/.idea/gradle.xml , 626
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml , 541
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml , 655
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml , 555
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml , 696
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml , 666
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml , 676
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__cn_bingoogolapple_bga_banner_2_2_4.xml , 671
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_27_1_1.xml , 750
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_appcompat_v7_27_1_1.xml , 690
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_1_1_0.xml , 509
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_constraint_constraint_layout_solver_1_1_0_jar.xml , 433
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_design_27_1_1.xml , 660
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_recyclerview_v7_27_1_1.xml , 705
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml , 617
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml , 700
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml , 705
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_core_utils_27_1_1.xml , 720
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml , 710
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_media_compat_27_1_1.xml , 730
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml , 680
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_support_vector_drawable_27_1_1.xml , 745
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_core_3_0_1.xml , 718
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_test_espresso_espresso_idling_resource_3_0_1.xml , 773
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_test_rules_1_0_1.xml , 660
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_test_runner_1_0_1.xml , 665
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_android_support_transition_27_1_1.xml , 680
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_blankj_utilcode_1_14_2.xml , 652
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_daasuu_EasingInterpolator_1_0_0.xml , 697
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_daimajia_androidanimations_library_2_3.xml , 671
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_daimajia_easing_library_2_0.xml , 650
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_daimajia_numberprogressbar_library_1_4.xml , 672
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_flyco_roundview_FlycoRoundView_Lib_1_1_2.xml , 715
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_flyco_tablayout_FlycoTabLayout_Lib_1_5_0.xml , 715
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_github_bumptech_glide_annotations_4_7_1_jar.xml , 590
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_github_bumptech_glide_disklrucache_4_7_1_jar.xml , 595
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_github_bumptech_glide_gifdecoder_4_7_1.xml , 687
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_github_bumptech_glide_glide_4_7_1.xml , 662
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_github_clans_fab_1_6_4.xml , 634
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_github_PhilJay_MPAndroidChart_v3_0_3_jar.xml , 589
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1_jar.xml , 367
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_2_jar.xml , 540
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_jakewharton_butterknife_8_8_1.xml , 672
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_jakewharton_butterknife_annotations_8_8_1_jar.xml , 620
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_makeramen_roundedimageview_2_3_0.xml , 693
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_nineoldandroids_library_2_4_0_jar.xml , 552
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_sackcentury_shinebutton_0_2_0.xml , 672
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1_jar.xml , 546
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_squareup_okhttp3_logging_interceptor_3_10_0_jar.xml , 620
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_10_0_jar.xml , 554
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_squareup_okio_okio_1_14_0_jar.xml , 536
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_squareup_retrofit2_adapter_rxjava2_2_4_0_jar.xml , 601
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_squareup_retrofit2_converter_gson_2_4_0_jar.xml , 596
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_squareup_retrofit2_retrofit_2_4_0_jar.xml , 566
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_wajahatkarim3_EasyFlipView_EasyFlipView_2_0_5.xml , 707
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_wang_avi_library_2_1_3.xml , 646
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__com_xw_repo_xedittext_2_1_0.xml , 654
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__de_hdodenhof_circleimageview_2_2_0.xml , 685
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__io_reactivex_rxjava2_rxandroid_2_0_2.xml , 672
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__io_reactivex_rxjava2_rxjava_2_1_12_jar.xml , 555
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml , 536
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__junit_junit_4_12_jar.xml , 495
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0_jar.xml , 518
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3_jar.xml , 551
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3_jar.xml , 586
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3_jar.xml , 565
20154816395wangzepingBDCRJ/.idea/libraries/Gradle__org_reactivestreams_reactive_streams_1_0_2_jar.xml , 597
20154816395wangzepingBDCRJ/.idea/misc.xml , 1707
20154816395wangzepingBDCRJ/.idea/modules.xml , 389
20154816395wangzepingBDCRJ/.idea/runConfigurations.xml , 564
20154816395wangzepingBDCRJ/.idea/workspace.xml , 183907
20154816395wangzepingBDCRJ/20154816395wangzepingBDCRJ.iml , 903
20154816395wangzepingBDCRJ/app/.gitignore , 7
20154816395wangzepingBDCRJ/app/app.iml , 16734
20154816395wangzepingBDCRJ/app/build/generated/mockable-android-27.v3.jar , 2829140
20154816395wangzepingBDCRJ/app/build/generated/res/pngs/debug/drawable-anydpi-v21/ic_launcher_background.xml , 5606
20154816395wangzepingBDCRJ/app/build/generated/res/pngs/debug/drawable-hdpi/ic_launcher_background.png , 730
20154816395wangzepingBDCRJ/app/build/generated/res/pngs/debug/drawable-ldpi/ic_launcher_background.png , 331
20154816395wangzepingBDCRJ/app/build/generated/res/pngs/debug/drawable-mdpi/ic_launcher_background.png , 407
20154816395wangzepingBDCRJ/app/build/generated/res/pngs/debug/drawable-xhdpi/ic_launcher_background.png , 1320
20154816395wangzepingBDCRJ/app/build/generated/res/pngs/debug/drawable-xxhdpi/ic_launcher_background.png , 3254
20154816395wangzepingBDCRJ/app/build/generated/res/pngs/debug/drawable-xxxhdpi/ic_launcher_background.png , 4380
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/addwordspack/AddWordsPackActivity_ViewBinding.java , 2030
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/alterwordspack/AlterWordsPackActivity_ViewBinding.java , 2424
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/cards/CardsActivity_ViewBinding.java , 1563
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/chart/ChartFragment_ViewBinding.java , 1234
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/home/HomeFragment_ViewBinding.java , 2434
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/listen/ListenActivity_ViewBinding.java , 2606
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/login/LoginActivity_ViewBinding.java , 1569
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/nomvpactivity/LaunchActivity_ViewBinding.java , 1366
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/nomvpactivity/MainActivity_ViewBinding.java , 1730
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/nomvpactivity/MxActivity_ViewBinding.java , 2435
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/nomvpactivity/QueryWordActivity_ViewBinding.java , 2696
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/nomvpactivity/TestActivity_ViewBinding.java , 2531
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/study/StudyActivity_ViewBinding.java , 3291
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/studycllection/StudyCollectionFragment_ViewBinding.java , 1301
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/mvp/words/WordsActivity_ViewBinding.java , 2433
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/ui/ErrorDialog_ViewBinding.java , 1884
20154816395wangzepingBDCRJ/app/build/generated/source/apt/debug/com/example/wero/a1_20154816395/ui/ProgressDialog_ViewBinding.java , 1184
20154816395wangzepingBDCRJ/app/build/generated/source/buildConfig/androidTest/debug/com/example/wero/a1_20154816395/test/BuildConfig.java , 479
20154816395wangzepingBDCRJ/app/build/generated/source/buildConfig/debug/com/example/wero/a1_20154816395/BuildConfig.java , 469
20154816395wangzepingBDCRJ/app/build/generated/source/r/androidTest/debug/android/support/test/espresso/idling/concurrent/R.java , 267
20154816395wangzepingBDCRJ/app/build/generated/source/r/androidTest/debug/android/support/test/espresso/R.java , 249
20154816395wangzepingBDCRJ/app/build/generated/source/r/androidTest/debug/android/support/test/rules/R.java , 246
20154816395wangzepingBDCRJ/app/build/generated/source/r/androidTest/debug/android/support/test/runner/R.java , 247
20154816395wangzepingBDCRJ/app/build/generated/source/r/androidTest/debug/com/example/wero/a1_20154816395/test/R.java , 1045623
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/arch/core/R.java , 247
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/arch/lifecycle/livedata/core/R.java , 266
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/arch/lifecycle/R.java , 252
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/arch/lifecycle/viewmodel/R.java , 262
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/compat/R.java , 8052
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/constraint/R.java , 19029
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/coreui/R.java , 10023
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/coreutils/R.java , 8055
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/design/R.java , 147649
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/fragment/R.java , 10025
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/graphics/drawable/animated/R.java , 10043
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/graphics/drawable/R.java , 8063
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/mediacompat/R.java , 9907
20154816395wangzepingBDCRJ/app/build/generated/source/r/debug/android/support/transition/R.java , 8732
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录