挂号系统 改进
程序员文章站
2022-04-30 08:38:14
...
系统的一点点改进
由于当时时间比较急,就写得很粗糙,现在改善一点点。
系统上篇
系统下篇
- ListView的缓存头像
当时使用ImageLoader突然间短路了,现在又想起来了,所以当时就体验了一下Bmob的下载文件的方法,还挺不错的
配置全局ImageLoader
public class MyApplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
initImageLoader(getApplicationContext());
}
private void initImageLoader(Context context) {
// TODO Auto-generated method stub
DisplayImageOptions defaulOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true).cacheOnDisk(true).build();
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(
context).defaultDisplayImageOptions(defaulOptions)
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO).build();
ImageLoader.getInstance().init(configuration);
}
}
现在只要传递url参数给DoctorDetailActivity,在DDAdapter缓存每个item的头像就可以了
String d_url = doctor.getD_photo().getFileUrl();
//创建DisplayImageOptions对象并进行相关选项配置
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.icon_stub)// 设置图片下载期间显示的图片
.showImageForEmptyUri(R.drawable.icon_empty)// 设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.icon_x)// 设置图片加载或解码过程中发生错误显示的图片
.cacheInMemory(true)// 设置下载的图片是否缓存在内存中
.cacheOnDisk(true)// 设置下载的图片是否缓存在SD卡中
.build();// 创建DisplayImageOptions对象
//利用ImageView加载图片
imageLoader.displayImage(d_url,head,options);
String url = intent.getStringExtra("url");
- 实现实时时间器,如上图的时间
第一:写一个线程类
/**
* 实时线程
*/
public class TimeThread extends Thread{
@Override
public void run() {
super.run();
do{
try {
Thread.sleep(1000);
Message msg = new Message();
msg.what = msgKey;
mHandler.sendMessage(msg);
} catch (InterruptedException e) {
e.printStackTrace();
}
}while (true);
}
}
第二:在handler中接收到Message,每隔一秒更新界面
//实时线程
private static final int msgKey = 2;
private TextView time02;
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case msgKey:
long time = System.currentTimeMillis();
Date date = new Date(time);
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 \nHH时mm分ss秒 \nEEE");
time02.setText(format.format(date));
break;
}
}
};
第三:开启线程
new TimeThread().start();
- 设置挂号挂满显示一张“满”的图片,并设置不可点击去挂号
m和a分别为上下午剩余的号数
//设置满号不可点击
if(m == 0){
mman.setVisibility(View.VISIBLE);
dmcountClick.setEnabled(false);
}
if(a == 0){
aman.setVisibility(View.VISIBLE);
dacountClick.setEnabled(false);
}
加号操作后又可以挂号,把“满”的图片去掉
case R.id.madd:
addMorning();
findDoctor();
dmcountClick.setEnabled(true);
mman.setVisibility(View.GONE);
break;
case R.id.aadd:
addAfternoon();
findDoctor();
dacountClick.setEnabled(true);
aman.setVisibility(View.GONE);
break;
- 添加查询教授
比如病人要去心血管科,但是他又需要一位教授,就可以用这个功能
所以只需要在查询科室的Activity中添加对应的复合查询即可
//在这里查医生
BmobQuery<Doctor> query = new BmobQuery<Doctor>();
//用此方式可以构造一个BmobPointer对象。只需要设置objectId就行
department.setObjectId(DepartmentId);
query.addWhereEqualTo("d_dcode", new BmobPointer(department));
query.include("d_dcode");
BmobQuery<Doctor> query2 = new BmobQuery<Doctor>();
query2.addWhereEqualTo("d_isprofess", true);
List<BmobQuery<Doctor>> queries = new ArrayList<BmobQuery<Doctor>>();
queries.add(query);
queries.add(query2);
BmobQuery<Doctor> mainQuery = new BmobQuery<Doctor>();
mainQuery.and(queries);
设置选中的是教授
SharedPreferences sp02 = getSharedPreferences("patient",MODE_PRIVATE);
sp02.edit().putBoolean("pisp",true).commit();
判断为教授,将级别设为教授,其余不可点击
SharedPreferences pref = getSharedPreferences("patient",MODE_PRIVATE);
boolean pisp= pref.getBoolean("pisp",false);
if(pisp){
rb23.setChecked(true);
rb21.setEnabled(false);
rb22.setEnabled(false);
rb24.setEnabled(false);
}
还有之前的DoctorDetailActivity最先都是用intent传参数,导致参数有点多,后面使用了intent传递序列化对象,这样会使传的参数减少。
有时间再写个网上预约的系统,排班表是关键,挺复杂的。
推荐阅读
-
联想小新Pad Pro 12.6下月发布:120Hz高刷 搭载ZUI 13系统
-
行者人脸识别密码系统介绍以及应用实例
-
泵站远程无线监控传输管理中心系统方案
-
疫苗接种车-移动视频即时传输指挥系统
-
Oracle 11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579
-
在Windows系统上安装PHP应用程序服务器
-
集群应用系统
-
【lrzsz】安装lrzsz工具实现Linux和Windows系统之间文件便捷上传与下载
-
如何删除Windows10操作系统资源管理器中的下载、图片、音乐、文档、视频、桌面、3D对象这7个文件夹
-
最新原版win10镜像系统激活秘钥合集分享 附图文激活步骤