界面上:
1,在开始界面设置一个入口,分别通向管理员和用户。
2,界面采用了一贯的viewpager+radiogroud。通过寻找滑动到边缘的规律设置滑动到边际时,弹出DrawerLayouy(侧边导航栏)。代码一中是如何实现侧滑出现导航栏。
3,点击触发事件时,分别跳转acitivity,fragment,和bottomdialog。
//代码一
@Override
public void onPageScrollStateChanged(int state) {
//以下代码为切换viewpager时,达到第一页再向左滑动时打开抽屉布局中的navigationView
/*
* 设置三个控制变量,通过设置两个变量设置打开抽屉事件,通过control_slide变量控制另外两个变量的顺序。
* */
if (state == ViewPager.SCROLL_STATE_IDLE) {//闲置
two_slide = true;
control_slide = true;
}
if (state == ViewPager.SCROLL_STATE_DRAGGING) {//拖拽
first_slide = true;
control_slide = false;
}
if (state == ViewPager.SCROLL_STATE_SETTLING) {//固定
first_slide = false;
two_slide = false;
}
//开启不了
if (first_slide && two_slide && control_slide) {
drawer.openDrawer(navigationView); //打开抽屉的方法
}
}
@Override
public void onPageScrollStateChanged(int state) {
//以下代码为切换viewpager时,达到第一页再向左滑动时打开抽屉布局中的navigationView
/*
* 设置三个控制变量,通过设置两个变量设置打开抽屉事件,通过control_slide变量控制另外两个变量的顺序。
* */
if (state == ViewPager.SCROLL_STATE_IDLE) {//闲置
two_slide = true;
control_slide = true;
}
if (state == ViewPager.SCROLL_STATE_DRAGGING) {//拖拽
first_slide = true;
control_slide = false;
}
if (state == ViewPager.SCROLL_STATE_SETTLING) {//固定
first_slide = false;
two_slide = false;
}
//开启不了
if (first_slide && two_slide && control_slide) {
drawer.openDrawer(navigationView); //打开抽屉的方法
}
}
通信机制上:
1,轮播器:设置的广告Viewpager在定时切换页面时,是通过Handle机制,通过在新的线程上做死循环,每次该延迟一定的时间再执行操作。
2,与服务器交互:通过Json数据在服务器(Dynamic Web Projectl)与Android客户端之间进行数据的交互。
服务器上:
采用了基本的JSF框架,加上数据连接池,连接数据库。利用Servlet的dopost方法和doget方法获取数据和输出操作。
缺陷
1,数据之间的交互后,没能及时更新到界面上,需要下拉刷新才能更新显示的数据。
2,用户端和管理端都写在一个APP里,不利于管理,安全性缺失。
3,界面不美观,缺乏美感和设计感。
PS:需要程序源码的朋友请移步我的github:https://github.com/ddy5529/GoldUniverseCowry。
界面采用了一贯的viewpager+radiogroud。通过寻找滑动到边缘的规律设置滑动到边际时,弹出DrawerLayouy(侧边导航栏)。代码一中是如何实现侧滑出现导航栏。