当前位置:首页 » 安卓系统 » 超级课程表android

超级课程表android

发布时间: 2022-08-07 08:29:27

Ⅰ 超级课程表怎么在手机桌面显示课表

超级课程表在手机桌面显示课表
1.点击打开超级课程表。
2.登录自己超级账号。
3.点击打开发现一览众的课程表,点击设置,课表最大节数,根据实际情况选择,如果晚上没课,就选择8节课。
4.长按手机菜单键,直到弹出菜单栏,选择编辑模式。
5.添加小工具,滑动选择超级课程表。
6.进入超级课程表后,选择课程表4X4就行了。
7.设置成功。

Ⅱ 华为手机怎么设置课程表

手机本身不支持该功能,建议您在华为应用市场下载第三方应用。

Ⅲ 超级课程表的应用与开发

现在手机系统一般分三类:ios针对苹果手机或ipad,android针对安卓平台,还有就是微软平台。前两个平台应用要广范一些。
如果你要开发手机应用,对于个人开发者而言,像这类简单的应用在android平台上开发要容易一些,因为ios开发成本较高。
而在android平台上开发,所需的语言就是java,而且你这类的应用是很简单的应用,只需要一些基础知识就能做出来。
希望对你有用。
请采纳答案,支持我一下。

Ⅳ 基于android课程表怎么获取课表

开发过程
一开始因为毕设有关课程表的要求不明,主要就是利用jsoup拉取学校教务管理系统的课程数据进行课程表界面的填充显示,并不能课程的个性化调整。
后来重新调整了需求,参考了超级课程表的功能。重新设计了实体类,利用bmob移动端云作为爬取到的数据的数据服务器进行了重新的开发。
主要代码
1、课程实体类
package com.mangues.coursemanagement.bean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import cn.bmob.v3.BmobObject;

public class CourseBean extends BmobObject implements Serializable {
public static final String TAG = "CourseBean";

private String studentId;
private String dataYear;
private String dataTerm;

private String courseName = ""; //课程名
private String courseRoom = ""; //教室
private String courseTeacher = ""; //老师
//private String courseWeekNumber = "0";
private ArrayList<Integer> courseWeekNumber = new ArrayList<>(); //周数
private int courseWeek = 0; //星期几上课
private int courseLow = 0; //第几排
private int courseSection = 0; //延续几节课
//private String courseSection = "12"; //第几节上课1,2,12(2节课)
//private String courseIn = "3"; //单双周 1(单),2(双),3(全)
public CourseBean() {
super();
}

public void setCourseBase(String studentId, String dataYear, String dataTerm) {
this.studentId = studentId;
this.dataYear = dataYear;
this.dataTerm = dataTerm;
}

public CourseBean(String courseName, String courseRoom, String courseTeacher, ArrayList<Integer> courseWeekNumber, int courseWeek, int courseLow, int courseSection) {
this.courseName = courseName;
this.courseRoom = courseRoom;
this.courseTeacher = courseTeacher;
this.courseWeekNumber = courseWeekNumber;
this.courseWeek = courseWeek;
this.courseLow = courseLow;
this.courseSection = courseSection;
}

/**
* str 数据到bean
* @Name: stringToBean
* @param str
* @return
* @Time: 2015-12-21 上午11:00:57
* @Return: CourseBean
*/
public static CourseBean stringToBean(String str) {
return toBean(str);
}

//辅助
private static CourseBean toBean(String courseDatas){
CourseBean bean = null;
String[] courseData = courseDatas.split("◇");
if(courseData.length>3){ //有数据
bean = new CourseBean();
String courseName = courseData[0];
String courseRoom = courseData[2];
//获取上课周数
findWeekNumberFromStr(courseData[1],bean);
bean.setCourseName(courseName);
bean.setCourseRoom(courseRoom);
findCourseInFromStr(courseData[4],bean);
}
return bean;
}

/**
* 找出上课周数,老师名字
* @Name: findFromStr
* @return
* @Time: 2015-12-21 上午11:22:30
* @Return: String
*/
public static void findWeekNumberFromStr(String courseData,CourseBean bean){
Pattern pattern = Pattern.compile("(\\w*)\\((\\d+)-(\\d+)\\)");
Matcher matcher = pattern.matcher(courseData);
if(matcher.find()){
String teacher = matcher.group(1);
bean.setCourseTeacher(teacher);
String weekNumberstart = matcher.group(2);
String weekNumberfinish = matcher.group(3);
Integer weekNumberstartInt = Integer.parseInt(weekNumberstart);
Integer weekNumberfinishInt = Integer.parseInt(weekNumberfinish);
for (int i = weekNumberstartInt;i<=weekNumberfinishInt;i++){
bean.getCourseWeekNumber().add(i);
}
}
}

/**
* 找出 上课是不是单双周,几节课
* @Name: findCourseInFromStr
* @param courseData
* @return
* @Time: 2015-12-21 下午1:29:05
* @Return: String
*/
public static void findCourseInFromStr(String courseData,CourseBean bean){
Pattern pattern = Pattern.compile("(\\w*)\\{(\\d*)节\\}");
Matcher matcher = pattern.matcher(courseData);
if(matcher.find()){
String str = matcher.group(1);
ArrayList<Integer> list = bean.getCourseWeekNumber();
switch (str) {
case "单周":
for (int i = 0;i< list.size();i++){
Integer weekNumber = list.get(i);
if (weekNumber%2==0){ //移除偶数
bean.getCourseWeekNumber().remove(i);
}
}
break;
case "双周":
for (int i = 0;i< list.size();i++){
Integer weekNumber = list.get(i);
if (weekNumber%2!=0){ //移除奇数
bean.getCourseWeekNumber().remove(i);
}
}
break;
default:
break;
}
String str2 = matcher.group(2);
String[] args = str2.split("");
if (args.length==3){
Integer integer = Integer.parseInt(args[1]);
Integer integer2 = Integer.parseInt(args[2]);
bean.setCourseLow(integer);
bean.setCourseSection(integer2-integer+1);

}else if (args.length==4){
Integer integer = Integer.parseInt(args[1]);
Integer integer2 = Integer.parseInt(args[2]+args[3]);
bean.setCourseLow(integer);
bean.setCourseSection(integer2-integer+1);

}else if (args.length==5){
Integer integer = Integer.parseInt(args[1]+args[2]);
Integer integer2 = Integer.parseInt(args[3]+args[4]);
bean.setCourseLow(integer);
bean.setCourseSection(integer2-integer+1);

}else if (args.length==2){
Integer integer = Integer.parseInt(args[1]);
bean.setCourseLow(integer);
bean.setCourseSection(1);
}

}
}

public String getCourseName() {
return courseName;
}

public void setCourseName(String courseName) {
this.courseName = courseName;
}

public String getCourseRoom() {
return courseRoom;
}

public void setCourseRoom(String courseRoom) {
this.courseRoom = courseRoom;
}

public String getCourseTeacher() {
return courseTeacher;
}

public void setCourseTeacher(String courseTeacher) {
this.courseTeacher = courseTeacher;
}

public ArrayList<Integer> getCourseWeekNumber() {
return courseWeekNumber;
}

public void setCourseWeekNumber(ArrayList<Integer> courseWeekNumber) {
this.courseWeekNumber = courseWeekNumber;
}

public int getCourseWeek() {
return courseWeek;
}

public void setCourseWeek(int courseWeek) {
this.courseWeek = courseWeek;
}

public int getCourseLow() {
return courseLow;
}

public void setCourseLow(int courseLow) {
this.courseLow = courseLow;
}

public int getCourseSection() {
return courseSection;
}

public void setCourseSection(int courseSection) {
this.courseSection = courseSection;
}

public String getStudentId() {
return studentId;
}

public void setStudentId(String studentId) {
this.studentId = studentId;
}

public String getDataYear() {
return dataYear;
}

public void setDataYear(String dataYear) {
this.dataYear = dataYear;
}

public String getDataTerm() {
return dataTerm;
}

public void setDataTerm(String dataTerm) {
this.dataTerm = dataTerm;
}
}

2、课程归类处理

//按天查询数据
private void getDayDate(List<CourseBean> list){
boolean boo = SaveUtil.getSharedPreferencesSwitch(mContext);
ArrayList<CourseBean> integerA = new ArrayList<>();
if (boo){
if (weekNum!=-1){
for (int l=0;l<list.size();l++){ //去除
ArrayList<Integer> integerArrayList = list.get(l).getCourseWeekNumber();
if (!integerArrayList.contains(weekNum)){ //不包含,就是不是本周,去除
integerA.add(list.get(l));
}
}
list.removeAll(integerA);

}
}

List<CourseBean> list1 = null;
Map<Integer,List<CourseBean>> map = new HashMap<>();

for (CourseBean be :list) {

Integer weekNum = be.getCourseWeek();
if (map.containsKey(weekNum)){ //有数据
list1 = map.get(weekNum);
}else {
list1 = new ArrayList<>();
map.put(weekNum,list1);
}
list1.add(be);
}

ArrayList<CourseBeanMap> ls = new ArrayList<>();

//按星期几处理
for (Map.Entry<Integer,List<CourseBean>> entry : map.entrySet()) {
List<CourseBeanMap> mapw = handleRepeat(entry.getValue(),entry.getKey());
ls.addAll(mapw);

}

//本地存储存储使用
TimeTableBmob bmob = new TimeTableBmob();
bmob.setStudentId(CourseApplication.getInstance().getUserInfo().getStudentId());
bmob.setCourseList(ls);
bmob.setTerm(dataTerm);
bmob.setYear(dataYear);
CourseApplication.getInstance().setTimeTableBmob(bmob);

dataBack.onDataBack(ls);
}

//处理重复
private List<CourseBeanMap> handleRepeat(List<CourseBean> list,Integer weekNum){

Collections.sort(list,new Comparator<CourseBean>(){
public int compare(CourseBean arg0, CourseBean arg1) {
Integer year1 = arg0.getCourseLow();
Integer year2 = arg1.getCourseLow();
return year1.compareTo(year2);
}
});

List<CourseBeanMap> listKey = new ArrayList<>();
List<String> liststr = new ArrayList<>();

int size = list.size();

for (int h=0;h<list.size();h++){
CourseBean bean = list.get(h);
Integer low = bean.getCourseLow();
Integer sesson = bean.getCourseSection();
Boolean isAdd = false;

Ⅳ 超级课程表在技术上是怎么实现的

有一批高校都是用的同一个教务系统,比如 URP教务系统 ,对这些学校只需开发同一套提取课程的接口,对于使用其他教务系统的学校,需要写针对其提取的关键代码。但是课程信息基本都一致,可以抽象出来,屏蔽底层获取的细节,存储和展示部分通用。

1、数据是怎么获取的,跟高校合作然后就可以获得数据了么,然后获得的数据是怎么保存到系统的数据库中呢?是导入还是输入还是只是高校提供了一个接口...
1. 高校一般不会提供这种接口的,直接从网页版的教务系统上获取信息。Java 使用 JSoup 这个库可以通过 JQuery 的风格获取 HTML 上的结点信息,也就是教务系统的网站能获取到什么信息,客户端就能获取到什么信息。
我估计超表是在服务器端进行的信息解析,以免把解析的关键代码放在客户端导致核心技术泄漏,也压缩了客户端安装包体积和传输数据量。
不过能开发出这么多学校的获取接口,超表团队的执行力还是挺强的。

2、课程表的设计:对这个还有困惑,如何更高效的从选课表中获取到该学生选了什么课,这些课是在星期几第几节课上的,然后存在一些特殊情况,不是每门课都是2节课连着一起上的有可能是3节课一起上。前台怎么展示出来,数据库又要怎么设计查询的性能才会更高效
2. 教务系统课程表都会有表格,HTML 的 Table 标签,使用 Jsoup 可以提取去表格的每一行每一列的数据,每一行应该就是一个课程,读取周次、节次信息,给课程相应字段赋值即可。
这是我做的一个解析URP教务系统课表的代码:scuol-android/NetHelper.java at master · mdluo/scuol-android · GitHub
关于在客户端界面上连续课程的折叠和多周次课程重叠问题,我也尽量在模仿超表的那种按天的 ListView 的格式,设计了一种模拟俄罗斯方块玩法的方法,具体代码:scuol-android/CourseActivity.java at master · mdluo/scuol-android · GitHub

Ⅵ 超级课程表今天更新了,感觉不好使,想换回以前的版本,求连接,安卓版的

我觉得新版还好吧 没有差太多~~

Ⅶ 超级课程表APP如何使用

超级课程表是一款大学生必备的APP,我们可以通过超级课程表记录自己每周的课程,也可以用来记事,非常方便。下面我来介绍一下超级课程表APP如何使用,希望能够帮到大家。
概括 01
首先我们需要用手机号码注册一个账号,然后在个人中心填写你的学校、专业等基本信息,其他的可以不用填,学校和专业是一定要填写的。
02
在首页里你可以找到笔记、成绩查询、考试倒计时等工具,按照你的需求进行选择,这里我不再细说。
03
“下课聊”主要是和同校好友交流的地方,你可以发送动态,也可以浏览本校同学发表的动态,和他们进行交流。
04
在“课程表”中,你可以添加你的课程表,等会儿我将着重说明如何添加课程表。
05
“小纸条”就是加好友的,个人感觉用途不大,因为大学生普遍使用QQ、微信等交流软件,大家熟悉后肯定还是要用QQ、微信来交流的。
如何导入课表? 01
首先在界面下方找到“课程表”,点击进入。
02
然后在界面右上方找到“+”,点击进入。
03
然后在界面上方找到“当前学期”,点击进入选择一下你目前所处的学期,如图所示。
04
然后还是打开“+”,在界面左上角找到“添加课程”,如图所示。
05
然后选择你本学期应该学习的课程,如图所示。
06
然后找到属于你的那个老师的课程,因为这节课可能有很多班都有,因此也有很多的老师,点击右侧的“添加到课表”。
07
这样这节课就添加成功了,按照这种方式,我们就可以把其他的课程都添加到这张课程表里了。
导入课程表的另一种方法 01
如果你不想一个一个添加的话,你可以直接复制你朋友的课表,在“课程表”的右上角找到扫一扫的图标,点击进入。
02
界面右下角是“课表二维码”,你可以让你同学将这张二维码发送给你,然后扫描你同学的课表二维码就可以了。

热点内容
python控制台乱码 发布:2025-01-19 10:55:38 浏览:363
安卓鸿蒙苹果哪个好用 发布:2025-01-19 10:32:33 浏览:264
正规物业保安怎么配置 发布:2025-01-19 10:27:30 浏览:518
断裂下载ftp 发布:2025-01-19 10:27:30 浏览:641
安卓导航怎么调对比度 发布:2025-01-19 10:26:52 浏览:25
服务器共享文件如何查看访问记录 发布:2025-01-19 10:08:55 浏览:400
datasourceSQL 发布:2025-01-19 10:01:25 浏览:838
aspnet网站的编译 发布:2025-01-19 10:00:49 浏览:334
路特仕A9工厂密码是多少 发布:2025-01-19 09:59:44 浏览:257
linux的命令find 发布:2025-01-19 09:42:55 浏览:174