前言

2019年帮一个学生做过毕业设计。是一个本地的完整app项目。里面涵盖多种三方依赖,以及多种控件的使用,在这留下样式图及代码下载地址。希望有需要的朋友可以用到。里面存在少量Bug,以及封装的很少,因为要模拟出毕业生独立开发出的效果~!

注释比较多,写法逻辑采用最简洁直观的方式。是广大毕业生毕设首选啊!

一个完整的医疗App,采用本地数据库litpal,涵盖多种控件的使用,博主自己手绘自定义控件曲线图,有运动步数,心率检查,消息轮播,webView,登录注册,头像修改,EventBus,Butterknife,SmartRefreshLayout,XTabLayout,地址选择器,PickerView,时间选择器,EasyPopup,MpAndroidChart等多种三方依赖。对于开发者和毕业的学生是非常好的项目。Ui是我自己设计的,不算好看,但是业务绝对不反人类

项目内使用的依赖,局部展示 :

    implementation fileTree(include: ['*.jar'], dir: 'libs')

    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'

    //noinspection GradleDependency,GradleCompatible
    implementation 'com.android.support:design:27.1.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    /**MultiDex使用**/
    compile 'com.android.support:multidex:1.0.3'
    /**图片缓存**/
    compile 'com.github.bumptech.glide:glide:4.6.1'

    /**沉浸式**/
    implementation 'com.yanzhenjie:sofia:1.0.5'
    implementation files('libs/guava-17.0.jar')
    implementation files('libs/protobuf-javanano-3.0.0-alpha-3.jar')
    implementation files('libs/fastjson-1.1.35.jar')

    /**请求**/
    implementation('com.lzy.net:okgo:3.0.4') {
        exclude group: 'com.squareup.okhttp3'
        exclude group: 'com.squareup.okhttp3:okhttp'
        exclude group: 'com.squareup.okhttp3:logging'
        exclude module: "okio"
        exclude module: "okhttp"
        exclude group: 'com.google.code.gson'
        exclude group: 'com.squareup.okio/okio/pom.xml'
        exclude group: 'com.squareup.okio/okio/pom.properties'
    }

    /**消息发送**/
    compile 'org.greenrobot:eventbus:3.0.0'

    /**黄刀油**/
    compile 'com.jakewharton:butterknife:8.5.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

    /**下拉刷新**/
    compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'

    /**没有使用特殊Header,可以不加这行**/
    compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.5.1'

    /**标签切换**/
    compile 'com.androidkun:XTabLayout:1.1.3'

    /**京东地址选择器**/
    compile 'com.github.chihane:JDAddressSelector:1.1.4'

    /**权限检测**/
    implementation 'com.yanzhenjie:permission:2.0.0-rc12'

    /**弹出对话框**/
    implementation 'com.yanzhenjie.alertdialog:alertdialog:1.0.1'

    /**简易时间选择器**/
    compile 'com.contrarywind:Android-PickerView:3.2.7'

    /**轮播**/
    compile 'com.youth.banner:banner:1.4.10'

    /**另一个滑动游标**/
    compile 'com.gxz.pagerslidingtabstrip:library:1.3'

    /**图片查看器**/
    compile 'com.github.chrisbanes:PhotoView:1.3.0'

    /**万能布局**/
    compile 'com.android.support:recyclerview-v7:28.0.0'

    /**万能pop**/
    compile 'com.github.zyyoona7:EasyPopup:1.1.2'

    /** 选择图片(照片)第三方框架,(照片)框架,解决7.0打开相机报错问题 */
    compile 'com.hx.multi-image-selector:multi-image-selector:1.2.1'

    /** 图片缩放的第三方框架 */
    compile 'me.relex:photodraweeview:1.1.0'

    /** 按钮切换 */
    compile 'com.github.zcweng:switch-button:0.0.3@aar'

    /** 我的水波纹 */
    compile 'com.scwang.wave:MultiWaveHeader:1.0.0-alpha-1'

    /**二维码**/
    compile 'cn.bingoogolapple:bga-qrcode-zbar:1.3.4'
    /**折线图**/
    implementation 'com.github.PhilJay:MPAndroidChart:v1.7.4'
    /**万能RecyclerView的数据适配器**/
    compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.17'
    /**litepal数据库**/
    compile 'org.litepal.android:core:2.0.0'
    /**log**/
    compile 'com.orhanobut:logger:1.15'
    compile 'com.github.r21nomi:glrippleview:1.0.0'
    compile 'com.makeramen:roundedimageview:2.2.1'
    implementation project(':todaystepcounterlib')
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.1'

通俗易懂的代码风格

 @Override
    public void onClick(View v) {
        switch (v.getId()) {
            //关闭
            case R.id.iv_back:
                finish();
                break;
            //消息
            case R.id.rl_remind:
                Toast.makeText(mContext, "老师我这后期想做个消息的设置", Toast.LENGTH_SHORT).show();
                break;
            //客服
            case R.id.rl_waiter:
                //显示弹窗
                dialogCallPhone("13500000000");
                break;
            //清除缓存
            case R.id.rl_clean_cache:
                Toast.makeText(mContext, "清除缓存,仅清理图片缓存", Toast.LENGTH_SHORT).show();
                GlideCacheUtil.getInstance().clearImageAllCache(mContext);
                GlideCacheUtil.getInstance().clearImageDiskCache(mContext);
                GlideCacheUtil.getInstance().clearImageMemoryCache(mContext);
                DataCleanManager.clearAllCache(mContext);
                try {
                    tvCacheNum.setText(DataCleanManager.getTotalCacheSize(mContext));
                } catch (Exception e) {
                    e.printStackTrace();
                }
                break;
            //关于我们
            case R.id.rl_with_us:
                startActivity(WithMeActivity.class);
                break;
                //退出登录
            case  R.id.btn_quit:
                LitePal.deleteAll(RegisterBean.class);
                Toast.makeText(mContext, "退出登录", Toast.LENGTH_SHORT).show();
                //退出则清空是否是第一次登陆标识。
                SharedPreferences sf = getSharedPreferences("data", MODE_PRIVATE);
                SharedPreferences.Editor editor = sf.edit();
                editor.putBoolean("loginFlag", false);
                removeALLActivity();
                startActivity(LoginActivity.class);
                break;
            default:
                break;
        }
    }

 

  有需要的可以私信我,有偿,已经帮助十多个学生顺利毕业了~!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐