Android----一个完整的小项目(医疗app)
前言2019年帮一个学生做过毕业设计。是一个本地的完整app项目。里面涵盖多种三方依赖,以及多种控件的使用,在这留下样式图及代码下载地址。希望有需要的朋友可以用到。里面存在少量Bug,以及封装的很少,因为要模拟出毕业生独立开发出的效果~!注释比较多,写法逻辑采用最简洁直观的方式。是广大毕业生毕设首选啊!...
·
前言
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;
}
}
有需要的可以私信我,有偿,已经帮助十多个学生顺利毕业了~!
更多推荐
已为社区贡献3条内容
所有评论(0)