导航:首页 > 操作系统 > android课程表

android课程表

发布时间:2022-04-01 19:25:42

1. android课程表从SQLite里把数据数据查询并显示到表格里

你看看这个链接,说的挺好
http://blog.csdn.net/liuhe688/article/details/6715983/

你在网络中输入“android SQLite”就可以搜到不少相关的文章。

2. 用java制作一个基于android平台上的课程表,需要学些什么、用些什么

1、最简单的方式。
界面布局写成html标签形式,然后利用android中的webview进行显示。
2、稍微好点的方式。
首先需要学习一下android中的基本布局。然后利用textview进行数据显示。

3. 基于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;

4. 想做个android的课程表应该用什么数据库呢

想做个android的课程表应该用什么数据库呢

这个问题我知道

推荐您使用“赛思QQ陌生人推广小助手 ”

不用加好友 直接发消息

日引1万独立IP 绝对没有问题

5. 想实现以下功能:我有一个课程表,我设置了button,点击button可以筛选出周六的课程。android如何实现。

这是基本的功能啊,sqlite数据库存储数据,sql查询

6. 用androidstudio怎么抓取课程表

androidstudio你可以设置成eclipse的快捷键模式设置方法FilesettingskeyMap选择eclipseCtrl+H就是搜索引擎

7. android如何开发课程表应用用神马控件

是要做一个应用软件还是就做一张表?
只做表的话用TextView就好了吧。
欢迎来我的BLOG: http://blog.csdn.net/dbkmeteor

8. 想做一个Android系统课程表手机软件开发,需要哪些教程,开发平台工具,给些推荐或参考网站

你就看你们JAVA课本最后几章的内容 用eclipse就行 这个比较好用 好多方法和类都可以自动添加什么的 比较省事 47744390这是个JAVA学习群 人虽然杂但是有问题一般都给解决 CSDN论坛更专业一些

9. 用ANDROID写智能课程表,希望提供一下建议,我的交稿日期快到了,急急急!!!

要用到 sqllite 数据库,当然用文件存储 也是可以的,将每天的课程表 对象 保存到数据库中,然后根据 ‘星期 ’ 字段 查询 ,在显示 出来就可以了

10. 找一个带有闹钟功能的安卓课程表软件有这么难吗

不会啊,我用的超级课程表就有闹钟功能的

我是用手机上的应用宝下载的这个软件

你打开软件以后先导入你的课表

然后可以设置每节课的时间

然后每天晚上它就会提醒你第二天要上什么课

还可以通过它来和同学交流什么的

挺好玩的,希望你会喜欢

阅读全文

与android课程表相关的资料

热点内容
python集成包 浏览:303
如何用电脑解压缩文件 浏览:446
pubg用什么服务器 浏览:526
田汉pdf 浏览:661
记录仪如何安装安卓系统 浏览:594
python求灰度均值 浏览:756
c编译器是系统软件吗 浏览:694
获取服务器内网地址 浏览:536
新手妈妈如何带新生儿APP 浏览:157
java日程管理 浏览:376
高清视频链接加密 浏览:407
新买的阿里云服务器怎么配置 浏览:612
在线编译器为什么刷新还在 浏览:213
云服务器系统盘可以装数据库 浏览:908
php绘制图形 浏览:588
支付服务器异常怎么办 浏览:77
java拨号 浏览:868
er5200如何设置虚拟服务器 浏览:573
网络中心服务器叫什么 浏览:459
isplay单片机下载器 浏览:482