Android课程表的设计开发

Android课程表的设计开发

下载链接

鉴于很多人需要源码,这里给下代码。

下载地址(需要5积分,支持下(积累点积分。。。),没有积分的直接留言邮箱,我发给你或者找其他已经发过的人要下)

没积分的直接用百度云下载把,积分多的可以支持下,谢谢
链接: https://pan.baidu.com/s/1dFCdoFR 密码: pbsn

说明:

本来想早点就弄出来的,最近一段时间太忙,好久没有更新博客了。忘记发了。刚刚看博客才发现这么多人要。发你们的版本,把教师端的和一些和课程表无关的功能代码都删了。毕竟这毕设也是给学校用的。还有这个服务端是依赖bmob服务器的(不知道什么原因里面的原始数据被bmob删了,备份复原也复原不了,找了客服没人理。。。。),目前是没有数据的,所有功能都是依赖bmob和 学校的教务系统(因为已经原来的账户没法登录了,也没法爬取数据了。。。。),所以可以跑起来,没有数据是登录不进去的,也看不到效果,你们可以根据数据格式 造假数据。

代码包含:网络爬虫,你们可以修改下,爬取自己学校教务系统的数据。申请个bmob的账户配置好,就可以执行接下来的步骤了。
不过这样比较麻烦,代码都在里面,你们看源码就行了,也不复杂。

还有代码是我16年毕业时候的毕业设计,初写android没多久。写的有点烂,代码架构不合理(根本没有架构),凑合的看就行了。

导语

实现了教务系统中课程的导入,分类显示课程。学期的修改,增加,修改。课程按照周的显示。课程修改上课星期和上课周。上课课程的自动归类。

一、主要功能界面

DrawingDrawing DrawingDrawing Drawing

开发过程

一开始因为毕设有关课程表的要求不明,主要就是利用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;for (int kk=0;kk<listKey.size();kk++){String key = liststr.get(kk);String[] keys = key.split("-");//Integer low1 =Integer.parseInt(keys[0]);//3Integer sesson1 =Integer.parseInt(keys[1]);//2if ((low1+sesson1-1)>=low){   //包含在内isAdd = true;CourseBeanMap cousermap = listKey.get(kk);cousermap.setCourseLow(low1);cousermap.setCourseWeek(weekNum);cousermap.setCourseSection(sesson+low-low1);liststr.set(kk,low1+"-"+(sesson+low-low1));//修改key值cousermap.add(bean);}}if (isAdd==false){CourseBeanMap cousermap = new CourseBeanMap();cousermap.setCourseLow(low);cousermap.setCourseWeek(weekNum);cousermap.setCourseSection(sesson);cousermap.add(bean);listKey.add(cousermap);liststr.add(low+"-"+sesson);}}return listKey;}
3.课程表界面

利用了网上找到的一段代码进行部分修改完成

    //初始化课程表界面private void initTable() {// 获得列头的控件empty = (TextView) this.findViewById(R.id.test_empty);monColum = (TextView) this.findViewById(R.id.test_monday_course);tueColum = (TextView) this.findViewById(R.id.test_tuesday_course);wedColum = (TextView) this.findViewById(R.id.test_wednesday_course);thrusColum = (TextView) this.findViewById(R.id.test_thursday_course);friColum = (TextView) this.findViewById(R.id.test_friday_course);satColum = (TextView) this.findViewById(R.id.test_saturday_course);sunColum = (TextView) this.findViewById(R.id.test_sunday_course);course_table_layout = (RelativeLayout) this.findViewById(R.id.test_course_rl);course_table_layout.removeAllViews();  //清楚页面数据DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);// 屏幕宽度int width = dm.widthPixels;// 平均宽度int aveWidth = width / 8;// 第一个空白格子设置为25宽empty.setWidth(aveWidth * 3 / 4);monColum.setWidth(aveWidth * 33 / 32 + 1);tueColum.setWidth(aveWidth * 33 / 32 + 1);wedColum.setWidth(aveWidth * 33 / 32 + 1);thrusColum.setWidth(aveWidth * 33 / 32 + 1);friColum.setWidth(aveWidth * 33 / 32 + 1);satColum.setWidth(aveWidth * 33 / 32 + 1);sunColum.setWidth(aveWidth * 33 / 32 + 1);this.screenWidth = width;this.aveWidth = aveWidth;int height = dm.heightPixels;gridHeight = height / 12;// 设置课表界面// 动态生成12 * maxCourseNum个textviewfor (int i = 1; i <= 12; i++) {for (int j = 1; j <= 8; j++) {TextView tx = new TextView(mContext);tx.setId((i - 1) * 8 + j);// 除了最后一列,都使用course_text_view_bg背景(最后一列没有右边框)if (j < 8)tx.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.course_text_view_bg));elsetx.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.course_table_last_colum));// 相对布局参数RelativeLayout.LayoutParams rp = new RelativeLayout.LayoutParams(aveWidth * 33 / 32 + 1, gridHeight);// 文字对齐方式tx.setGravity(Gravity.CENTER);// 字体样式tx.setTextAppearance(mContext, R.style.courseTableText);// 如果是第一列,需要设置课的序号(1 到 12)if (j == 1) {tx.setAlpha(0.3f);tx.setText(String.valueOf(i));rp.width = aveWidth * 3 / 4;// 设置他们的相对位置if (i == 1)rp.addRule(RelativeLayout.BELOW, empty.getId());elserp.addRule(RelativeLayout.BELOW, (i - 1) * 8);} else {tx.setAlpha(0f);rp.addRule(RelativeLayout.RIGHT_OF, (i - 1) * 8 + j - 1);rp.addRule(RelativeLayout.ALIGN_TOP, (i - 1) * 8 + j - 1);tx.setText("");}tx.setLayoutParams(rp);course_table_layout.addView(tx);}}}//数据填充
private void setCourseData(final CourseBeanMap map, final int index) {final CourseBean bean = map.returnfirstTrue(weekNum);// 添加课程信息TextView courseInfo = new TextView(mContext);courseInfo.setText(bean.getCourseName() + "@" + bean.getCourseRoom());// 该textview的高度根据其节数的跨度来设置RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(aveWidth * 31 / 32, (gridHeight - 5) * map.getCourseSection());// textview的位置由课程开始节数和上课的时间(day of week)确定rlp.topMargin = 5 + (map.getCourseLow() - 1) * gridHeight;rlp.leftMargin = 1;// 偏移由这节课是星期几决定rlp.addRule(RelativeLayout.RIGHT_OF, map.getCourseWeek());// 字体剧中courseInfo.setGravity(Gravity.CENTER);// 设置一种背景final int back;final int huiback;if (map.isDoubleBean()) {// 有单双周back = ColorDrawable.getCourseBgMulti(map.getCourseLow(),map.getCourseWeek());huiback = ColorDrawable.grayColorMulti;} else {back = ColorDrawable.getCourseBg(map.getCourseLow(),map.getCourseWeek());huiback = ColorDrawable.grayColor;}if (map.returntTrue(weekNum)){courseInfo.setBackgroundResource(back);}else {courseInfo.setBackgroundResource(huiback);}courseInfo.setTextSize(12);courseInfo.setLayoutParams(rlp);courseInfo.setTextColor(Color.WHITE);// 设置不透明度courseInfo.getBackground().setAlpha(222);final int upperCourseIndex = 0;// 设置监听事件courseInfo.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {if (map.isDoubleBean()) {// 大于双数// 如果有多个课程,则设置点击弹出gallery 3d 对话框// LayoutInflater layoutInflater =// (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View galleryView = layoutInflater.inflate(R.layout.course_info_gallery_layout, null);final Dialog coursePopupDialog = new AlertDialog.Builder(mContext).create();coursePopupDialog.setCanceledOnTouchOutside(true);coursePopupDialog.setCancelable(true);coursePopupDialog.show();WindowManager.LayoutParams params = coursePopupDialog.getWindow().getAttributes();params.width = WindowManager.LayoutParams.FILL_PARENT;coursePopupDialog.getWindow().setAttributes(params);DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);// 屏幕宽度int width = dm.widthPixels;CourseInfoAdapter adapter = new CourseInfoAdapter(mContext,map, width, back,weekNum);CourseInfoGallery gallery = (CourseInfoGallery) galleryView.findViewById(R.id.course_info_gallery);gallery.setSpacing(10);gallery.setAdapter(adapter);gallery.setSelection(upperCourseIndex);gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {CourseBean bean = map.get(arg2);Intent intent = new Intent(mContext,CourseInfoActivity.class);Bundle mBundle = new Bundle();mBundle.putSerializable(CourseBean.TAG, bean);mBundle.putInt("index", index);mBundle.putInt("courseBeanIndex", arg2);intent.putExtras(mBundle);startActivity(intent);coursePopupDialog.cancel();}});coursePopupDialog.setContentView(galleryView);}else { //没有单双周Intent intent = new Intent(mContext,CourseInfoActivity.class);Bundle mBundle = new Bundle();mBundle.putInt("index", index);mBundle.putInt("courseBeanIndex", 0);mBundle.putSerializable(CourseBean.TAG, bean);intent.putExtras(mBundle);startActivity(intent);}}});course_table_layout.addView(courseInfo);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36715.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超级课程表课表的界面的实现

由于毕业设计有一个功能模块是课程表,就想模仿一下超级课程表的界面,可是开始做的时候却没有一点头绪,百度google均无果,在CSDN和知乎上提问了也没人回答,总之自己鼓捣了几天还是弄出来了,虽然实现的方法很挫。。。因为有好几个人都发私信问我怎么实现的,现在毕设做完了…

尤瓦尔最新演讲:人工智能不需要意识就可以毁灭人类文明

我们现在必须与一种新的大规模杀伤性武器作斗争&#xff0c;这种武器可以消灭我们的精神和社会世界。核武器和人工智能最大的区别是&#xff0c;核武器不能制造更强大的核武器。 但人工智能可以产生更强大的人工智能&#xff0c;所以我们需要在人工智能失去控制之前迅速采取行动…

chatgpt赋能python:Python绘制雷达图教程

Python绘制雷达图教程 在数据分析和可视化中&#xff0c;雷达图是一种非常有用的可视化工具&#xff0c;用于显示多个变量的相对大小。在这篇文章中&#xff0c;我们将介绍如何使用Python绘制雷达图&#xff0c;使用Matplotlib和Seaborn这两个Python数据可视化库。 准备数据 …

测试职业的发展方向

测试职业转型 很多工作了几年的测试人员都会产生迷惘&#xff0c;随着经验的累积和技能的提升&#xff0c;会有一个瓶颈期。未来应该往哪个方向发展&#xff0c;之前说过做测试要懂得很多技能和知识。正因为如此测试可以发展的方向选择面就非常广了&#xff0c;既可以继续在测试…

重塑职业未来:在竞争激烈的职场上脱颖而出的关键策略

在竞争激烈的职场上&#xff0c;各种职场难题时常出现&#xff0c;如何进行有效沟通、如何应对工作压力、如何提升职业能力等&#xff0c;这都是需要去克服的问题。下面分享一下职场老人的经验&#xff01; 一、你遇到过哪些职场问题&#xff1f;分享一下你是怎么解决的呢&…

未来软件测试人员会失业?看ChatGPT怎么说

Q&#xff1a;未来软件测试人员会失业&#xff1f; A&#xff1a;虽然自动化测试和AI技术的应用已经带来了一定的冲击&#xff0c;但是软件测试人员未来失业的可能性非常低。以下是几个原因&#xff1a; 软件测试是软件开发生命周期的重要环节。在软件开发过程中&#xff0c;…

AI_News周刊:第二期

2023.02.13—2023.02.17 1.ChatGPT 登上TIME时代周刊封面 这一转变标志着自社交媒体以来最重要的技术突破。近几个月来&#xff0c;好奇、震惊的公众如饥似渴地采用了生成式人工智能工具&#xff0c;这要归功于诸如 ChatGPT 之类的程序&#xff0c;它对几乎任何查询做出连贯&a…

各大工作室都在用的视觉特效软件,开启你的虚拟制作之旅

为您的虚拟制作设置的免费视觉特效工具 使用领先工作室们所信任的创意资源管理软件&#xff0c;免费开始您的下一个虚拟制作项目。 花更多时间在创作上&#xff0c;更少时间在设置上 增强型Studio包 —— 现已可以部署在微软 Azure 上使用 —— 包含了您所需要的所有工具&…

博主,公司让我们无限期放假!

推荐阅读&#xff1a;程序员降薪40%去国企&#xff0c;只因要35岁了&#xff01;值得吗&#xff1f; 下午收到一位网友的求助&#xff1a; 公司无故辞退员工&#xff0c;却不按正常裁员程序走。公司以没钱为由&#xff0c;给出2种方案&#xff1a; 一个月赔偿&#xff1b;无限期…

网址被腾讯拦截的处理方法

事发于2021年6月5日&#xff0c;为主域名的其中一个子域名被拦截&#xff0c;主域名未被拦截&#xff0c;原因为恶意广告&#xff0c;恶意营销。 网站内容为普通商城类&#xff0c;不存在强制推广&#xff0c;于是进行站长申诉&#xff0c;反馈结果为驳回~ 2021年6月7日&#…

文远知行COO张力离职;天翼云宣布进军国际市场;百家云发布AIGC新品;深兰科技推出大语言模型SaaS平台丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 文远知行COO张力离职 文远知行COO张力日前在个人社交平台发布疑似离职的相关动态。对此&#xff0c;文远知行方面今日回应称&#xff1a;“由于个人及家庭原因&#xff0c;文远知行COO张力最近决定辞任&#xf…

对话数十位学术合作代表:如何提升前沿技术在商业领域的落地应用?

从去年火出天际的元宇宙&#xff0c;到今年年初的现象级应用 ChatGPT&#xff0c;科技圈似乎从不缺少热门的技术概念与话题。尤其是在云计算、人工智能、大数据等技术呈爆发式增长的背景下&#xff0c;我们愈发体会到前沿技术对于产业产生的深远影响&#xff0c;而这也延伸出了…

Gartner:数字经济如火如荼,企业该做哪些准备?

从“数据二十条”发布&#xff0c;到国家数据局成立&#xff0c;广大中国企业应该从中嗅到哪些重要信号&#xff1f; “数据二十条”与国家数据局 关注数据领域的小伙伴估计都知道&#xff0c;我国近年来一直高度重视数字经济的发展&#xff0c;尤其是近期更是接连出台针对数据…

快商通与美亚、华大共同申报的AI课题被纳入科技局重大科技项目

近日&#xff0c;厦门市科学技术局对“2022年工业及信息化领域科技计划项目”进行公示&#xff0c;快商通与美亚柏科、华侨大学联合申报的“基于深度学习的可信多媒体鉴定关键技术研究及其产业化应用”课题成功入选厦门市重大科技项目&#xff01; ChatGPT震惊全球、效果爆棚&a…

近期最火AutoGPT|自主 AI 来了?来看怎么玩!

文章目录 近期最火AutoGPT&#xff5c;自主 AI 来了&#xff1f;来看怎么玩&#xff01;1. 它是什么&#xff1f;2. 能做些什么&#xff1f;3. 本质是什么&#xff1f;4. 怎么尝试5. 注意点6. 期待 近期最火AutoGPT&#xff5c;自主 AI 来了&#xff1f;来看怎么玩&#xff01;…

如何同步公众号内容到头条自媒体?

公众号的内容是无法直接同步到头条自媒体当中的&#xff0c;我们需要借助其他工具进行辅助&#xff0c;才能够在其他平台一键发布。在这个大数据时代&#xff0c;有很多自媒体创作者希望自己的作品能够在各大平台进行发布&#xff0c;这样不仅可以第一时间将自己的作品展示给粉…

如何将微信公众号内容同步到头条自媒体?

微信公众号上的内容是无法直接同步到头条自媒体上的&#xff0c;需要我们借助媒体管家才能够进行同步&#xff0c;如果我们想要将微信当中的公众号内容实的同步到头条自媒体&#xff0c;我们可以利用融媒宝&#xff0c;进行一键发布&#xff0c;这样我们就可以第一时间将自己的…

产品设计公司的头脑风暴是什么?

产品设计公司做产品设计的关键方法之一是兼收并蓄。正所谓千人千面&#xff0c;每个人都有着自己的想法。因此&#xff0c;在产品设计的早期阶段&#xff0c;产品的整体构思需要结合每个人的概念来激发产品的设计理念!头脑风暴在任何领域都起着至关重要的作用!产品的不断发展是…

头脑风暴在计算机中的具体应用,什么是头脑风暴,在实际中到底怎么应用

头脑风暴基本概念 头脑风暴是一种激发参与者产生大量创意的特别方法。在头脑风暴过程中参与者必须遵守活动规则和程序。它是重多创造性思考方法的一种&#xff0c;有一个假设的前提是&#xff1a;数量成就质量。 什么时候使用此方法 头脑风暴可用于设计过程中的每个阶段&#x…

思维导图——头脑风暴

前言 最近这段时间我们一直在进行思维导图的学习&#xff0c;听了老师的系列讲课之后又重新激发起了我对学习的激情&#xff0c;根据课堂内容&#xff0c;我做了以下简要总结以及包括自己的个人感受。 主要内容 1、成长性思维 对于学习&#xff0c;我们应该树立终身学习的观…