欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Android的大学课程及日记的管理.doc

    • 资源ID:837002       资源大小:724.34KB        全文页数:19页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Android的大学课程及日记的管理.doc

    1、目录1 前言12 Android系统及开发环境的安装与配置12.1 Android的由来12.2 Android系统的优点12.3 Android系统的现状及展望22.4 开发环境的安装与配置22.4.1 操作系统及准备工作22.4.2开发环境的安装23 系统分析43.1 可行性分析43.2 需求分析54 系统设计54.1 概要设计54.2 模块划分64.3 程序中的主要类74.3.1 course_activity类74.3.2 course_new_activity类和course_set_activity类74.3.3 DbAdapter类74.3.4 Diary_activity和Di

    2、aryEditActivity类85 系统实现86详细设计107结论12参考文献13基于Android平台的大学课程及日记的管理摘 要:随着无线移动设备的发展,手机也日益普及,Android系统的推出使手机的发展进入到了一个新的领域。世界上一些知名的移动设备生产厂商对于Android智能机的开发热情也日益提高,Android系统的使用人群正在急速提升,Android应用程序的多样化对人们快速获取资讯以及方便人们的生活起着不可忽视的作用,近年来Android得到了社会更多的认同和应用,本文主要概述了Android系统的体系结构,Android应用程序的开发环境和用JAVA语言开发手机课程表及日记

    3、的管理中的一些技术实现方法,关键字:Android; DbAdapter1 前言Android在英文中愿意是机器人,Google在2007年11月5日宣布其基于Linux平台的开源手机操作系统后,使用其作为该操作系统的名称。Android号称是首个为移动终端打造的真正开放和完整的移动软件。从软件分层的角度来开,Android平台由应用程序、应用程序框架、Android运行时、库、Linux内核5部分构成。采用Linux内核是Android平台开放性的基础,Linux内核层为我们在软件层和硬件层间建立了一个抽象层,使得应用程序开发人员无需关心硬件细节,但是如果想要Android平台运行到自己的硬

    4、件平台上就必须对Linux内核层进行修改,通常要做的就是为自己的硬件编写驱动,并且可以自由设计用户操作界面10。从目前的发展形势来看Android系统因为它的开源性得到了很多移动设备生产商以及网络运营商的青睐。2 Android系统及开发环境的安装与配置2.1 Android的由来 Android来源于硅谷著名的极客Andy Rubin建立的Android公司,Rubin的最初目标是想把Android打造成一个可以对任何软件设计人员开放的移动终端平台。很快这个公司便得到了青睐,很多人表示打算买下他的公司。Rubin想Google的创始人之一拉里佩奇提出合伙的意向后,Google就抢先把他的公司

    5、买下。并于2007年11月5日宣布与包括摩托罗拉、HTC、LG、三星等33家手机厂商、手机芯片提供商、软硬件供货商、移动运营商联合组成开放手机联盟(Open Handset Alliance),并发布了名为Android的开放手机软件平台7。2.2 Android系统的优点与其他手机操作系统相比,Android有4个无可比拟的优点:l 开放性:Android系统同时包含了底层操作系统以及移动电话所需的全部软件,不存在专有权障碍,开发平台允许任何移动终端厂商加入到Android联盟中来,并允许不同厂商可以根据自己的需求对平台进行定制和扩展,无需任何授权许可费用;l 所有应用程序平等:Androi

    6、d系统中,系统核心应用和第三方应用都是完全平等的,用户可以将手机中的任意应用程序替换成所需的其他应用程序;l 应用程序间无界限:开发人员可以吧Web上的数据与本地的日历、联系人、位置信息结合起来,应用程序还可声明它们可供其他程序使用;l 快速方便的应用程序开发:Android平台为开发人员童工了大量的实用库及工具,可以让开发人员快速的创建自己的应用3。2.3 Android系统的现状及展望Android系统目前的发展十分迅速,在国内外,Android都有成熟的消费者,Android社区也十分红火,全球各大厂商和运营商也纷纷加入了Android的阵营,包括美国的摩托罗拉(MOTOROLA)、韩国

    7、的三星(SAMSUNG)、英国的索尼爱立信(Sony Ericsson)、中国台湾HTC、中国移动、中国联通、中兴通讯、华为通讯、联想等大企业。除开手机外,各大厂家也陆续推出了采用Android系统的MID(Mobile Internet Devices)产品。根据ComScore公司11年第一季度的移动互联网市场研究报告中显示,11年2月份Android的市场份额增33%,位居榜首,RIM、苹果分别以28.9%和25.2%的移动市场占有率紧随其后11,如图1:图1 各厂商移动互联网市场占有率虽然Android初出茅庐,论个头还不如苹果、RIM,开放这个趋势的力量使得这颗的新星足够明亮,有媒体

    8、预测Android的市场占有率将在2012年达到50%并在2016年确定其移动互联网市场的霸主地位,就目前Android的发展趋势来看,这并非一个不可能完成的任务。2.4 开发环境的安装与配置2.4.1 操作系统及准备工作Android的开发环境在操作系统上并没有太大的限制,它可以使用Windows XP及其以上版本、MAC OS、Linux等操作系统,在该程序的开发中,我选择了Windows XP作为开发操作系统。Android是以Java语言作为开发语言,官方推荐使用Eclipse作为开发软件,在搭建开发环境前必须准备JDK、Eclipse、Android SDK, extras, ins

    9、taller_r20.0.3-windows.exe, platform-tools_windows, ADTPlugin等软件,JDK与Eclipse都可以在其官方网站上下载到其最新版本,Android SDK则需要通过Android SDK Setup来下载安装1。2.4.2开发环境的安装安装JAVA运行环境在“下载和安装Eclipse在Eclipse的官方网站“http:/www.eclipse.org/downloads”下载最新版本的“Eclipse IDE for Java Developers”下载完毕后解压缩即可使用,无需安装。安装Android SDKAndroid SDK因

    10、为原下载地址失效,只能通过Android SDK Setup这个工具来下载安装,此工具可以在通过“r04-windows.zip”该网址获取。下载完成后解压缩,运行其内的“SDK Setup.exe”即可自动检测下载Android SDK,如图2所示:图2 Android SDK Setup安装Eclipse的Android插件使用Eclipse作为开发开发工具必须要安装Android Development Tools(ADT)的外挂,其安装步骤如下:启动Eclipse后,选择“Help”“Install New Software”打开“Install”窗口;点击窗口中的“Add”按钮,在“

    11、Add Repository”窗口中输入如图3所示信息:图3 Add Reponsitory点击OK后,“Install”列表中会多出一项“Developer Tools”,勾选后点击“Next”既开始下载ADT,下载完成后按软件提示操作即可完成安装ADT。如图4所示:图4 安装ADT应用SDK到Eclipse选择“Window”“Preferences”在“Preferences”窗口的左边选中“Android”,在右边点击“Browse”选择Android SDK所在目录作为SDK Location,如图5所示:图5 应用SDK到Eclipse3 系统分析3.1 可行性分析在中国,手机已经

    12、成为人们日常生活必不可少的一部分,智能手机在高校人群中逐渐得到了普及,Android手机凭借其优秀的系统性能以及良好的用户体验迅速得到了高校师生的青睐。在高校中,上课并不像高中时期有固定的教室和固定的时间,高校课程种类繁多,并且上课地点和时间都不固定,一周内极少会出现重复课程,所以要将课程表完整的记忆下来是一项很艰难的事情,很多同学不得不随身携带一张课表来防止遗忘上课,但是还是不能完全避免该问题的发生。基于这些问题,有必要设计一款具有课程提醒功能的手机课表程序,配合上可以让用户自定义上课时间以及地点的功能,从而避免遗忘上课的事情出现。3.2 需求分析手机电子课表及日记的管理在手机应用程序中并不

    13、常见,一般在手机上较为常见的日程提醒程序无法实现自由设置校历,重复提醒等功能。经过对周边同学的调查研究,普遍认为这款软件方便实用,其主要功能如下:l 添加课程信息;l 删除课程信息;l 设置每周时间;l 能依据校历区分课程是第几周;l 新建或删除日记功能;4 系统设计4.1 概要设计从程序流程来分,用户在第一次进入程序时会进入设置界面,设置一些基本的配置信息以方便数据库管理,然后进入添加课程界面,进行添加课程操作。添加课程除了UI展示以外其他的方式都是在操作数据库,在程序中使用course_new_activity,course_set_activity以实现新建课程功能,按周查询功能,第几周

    14、功能等。在程序主界面使用用course_activity.java展示记录,从Diary_activity, DiaryEditActivity类中可以新建或删除日记信息,并在主界面中显示。程序的配置信息主要存在DbAdapter中,该信息在数据显示时读取必要的配置信息,比如读取用户选择当天的日期就可以计算出第几周星期几,再通过日期在数据表中查询。添加课程信息,创建日记,设置每周时间。这样在按钮监听函数中监听系统时间变化,用来实现课表及日记创建功能,如图6所示:用户主界面DbAdaptercourse_activity用户设置界面课程添加界面日记创建界面course_set_activity用

    15、户设置信息日记信息每周时间课程信息课程信息课程时间课程时间图6 程序数据流图4.2 程序的模块划分该程序主要实现课程的创建添加删除,设置等以及日记的新建删除等,主要程序模块划分如下: 模块负责人模块功能描述廉晓娟课程及日记的管理主界面控制常江新建添加删除课程及每周的设置李玲创建和删除日记功能李涛登录及帮助页面的界面及按钮设置常鹏飞DbAdapter数据库表的控制4.3 程序中的主要类4.3.1 course_activity类该类为整个应用的主Activity, 显示课程表的主界面2。其主要方法如下:l onCreate:Activity主要重写方法之一,实现程序初始化和界面展示;l upda

    16、teCourseView:Activity重写方法之一,实现在当前是第几周的刷新界面;l onCreateOptionMenu:实现Option菜单的创建;l onMenuItemSeleted:实现菜单项的点击事件响应;l get_interval_weeks:从数据库中获取当天是第几周的信息;l onActivityResult:设置第一周和添加新课程信息的回复;界面设计方面通过RelativeLayout实现布局,使用了TextView,ImageButton课程列表通过ListView实现界面展示。该类通过继承ListActivity类,用来显示ListView中的数据并实现对List

    17、View上ImageView控件点击的统一响应。4.3.2 course_new_activity类和course_set_activity类course_new_activity类为实现添加课程界面的Activity,主要实现由用户选择和输入课程信息,并将所有的课程信息添加到数据库中。主要方法如下:l onCreate: 新建课程信息;l SetDefaultData: 设置初始化时默认的数据;l SaveData:将添加的课程保存进数据库中;l onItemClick: 设置课程输入按钮;l OnClickListener:按钮监听函数;l onClick:实现button点击事件的响应;

    18、l course_set_activity继承Activity类;4.3.3 DbAdapter类该类为自定义的重要的数据库处理类,用来管理数据库,对数据库的所有操作都封装在这个类中,实现数据封装。主要方法如下:l Databse_create:创建diary表;l Databse_create_course:创建course表;l class DatabaseHelper:数据库类l getAllNotes():得到所有日记l deleteCourse:删除一个课程l getCourse:获得所有课程记录4.3.4 Diary_activity类和DiaryEditActivity类该类实现

    19、日记的创建和删除。主要方法如下:l updateListView():更新当前的listacvitity;l onCreateOptionsMenu:创建一个菜单;l onMenuItemSelected:菜单选择l savedInstanceState:保存日记l deleteDiary:删除日记l DiaryEditActivity:编辑日记5 系统实现在完成系统设计以后,即可在Android虚拟机中运行程序,运行效果如下:图7 软件设置界面软件设置界面,该界面为用户第一次进入程序所显示的界面,往后的使用中,用户可以通过“Menu”“设置”的操作步骤来进入该界面。在此界面,用户可以设置第一

    20、周开始时间,新建课程信息,如图8所示:图8 课程管理界面设置本学期的第一周的周一,该界面由点击软件设置界面中的“本学期第一周的周一”后的日期弹出,在此界面可以设置当前学期校历的第一周的初始时间,如图9所示:图9 设置本学期的第一周的周一添加课程界面,该界面通过“Menu”“课程管理”“新建”操作进入,在该界面用户可以根据自己的需求来添加课程,如图10所示:图10 添加课程添加日记界面,该界面通过“Menu”“日记管理”“menu”“新建”操作进入,在此界面用户可以添加一个日记提醒,如图11所示:图11 新建日记6 模块详细设计 主要实现课程及日记的管理主界面的实现功能:通过course_act

    21、ivity类,该类为整个应用的主Activity,主要方法有onCreate,updateCourseView,onCreateOptionMenu,onMenuItemSeleted,get_interval_weeks 等 。主要代码:public class course_activity extends ListActivity /菜单选项public static final int NEW = Menu.FIRST;public static final int SET = Menu.FIRST + 1;public static final int DELETE = Menu.F

    22、IRST + 2;public static final int HELP = Menu.FIRST + 3;/传值确认的关键字private static final int REQUEST_SET = 0;private static final int REQUEST_NEW = 1;/默认的第一周开始时间int first_year = 2010;int first_month = 9;int first_day = 1;Date start_date = new Date(first_year,first_month,first_day);/新建的课程信息String course_

    23、name = ;String week_start = ;String week_end = ;String course_index1 = ;String course_place = ;String week_index = ;/当前日期Calendar c = Calendar.getInstance();int now_year = c.get(Calendar.YEAR);int now_month = c.get(Calendar.MONTH);int now_day = c.get(Calendar.DAY_OF_MONTH);Date now_date = new Date(n

    24、ow_year,now_month,now_day);/现在是第几周int interval_weeks = 1;/数据库操作private DbAdapter mDbHelper;private Cursor mCourseCursor;/* (non-Javadoc) * see android.app.Activity#onCreate(android.os.Bundle) */Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate

    25、(savedInstanceState);setTitle(本周课程信息);setContentView(R.layout.course_activity);mDbHelper = new DbAdapter(this);updateCourseView();private void updateCourseView() / TODO Auto-generated method stubLog.e(done, getcourse);mDbHelper.open();mCourseCursor = mDbHelper.getAllCourses(interval_weeks); Toast.ma

    26、keText(course_activity.this, 当前是第+interval_weeks +周,点击menu设置, Toast.LENGTH_SHORT).show();Log.e(weeks, +interval_weeks);Log.e(done, donegetcourse);setTitle(第+interval_weeks +周 +课程信息);startManagingCursor(mCourseCursor);String from = new String DbAdapter.KEY_NAME, DbAdapter.KEY_PLACE, DbAdapter.KEY_IND

    27、EX, DbAdapter.KEY_WEEK_INDEX;int to = new int R.id.item_name, R.id.item_place, R.id.item_index, R.id.item_week_index ;SimpleCursorAdapter courses = new SimpleCursorAdapter(this,R.layout.course_list_item, mCourseCursor, from, to);setListAdapter(courses);mDbHelper.closeclose();/* (non-Javadoc) * see a

    28、ndroid.app.Activity#onCreateOptionsMenu(android.view.Menu) */Overridepublic boolean onCreateOptionsMenu(Menu menu) / TODO Auto-generated method stub super.onCreateOptionsMenu(menu);menu.add(0, NEW, 0, 新建).setIcon(R.drawable.new_course);menu.add(0, SET, 0, 设置).setIcon(R.drawable.setting);menu.add(0,

    29、DELETE, 0, 删除).setIcon(R.drawable.delete);menu.add(0, HELP, 0, 帮助).setIcon(R.drawable.helps);return true;/* (non-Javadoc) * see android.app.Activity#onOptionsItemSelected(android.view.MenuItem) */Override/实现菜单项的点击事件响应public boolean onMenuItemSelected(int featureId, MenuItem item) / TODO Auto-generat

    30、ed method stubswitch (item.getItemId() case HELP: Intent help_intent = new Intent(); help_intent.setClass(course_activity.this, help_activity.class); startActivity(help_intent); return true;case NEW: Intent new_course_intent = new Intent(); new_course_intent.setClass(course_activity.this, course_new

    31、_activity.class); startActivityForResult(new_course_intent, REQUEST_NEW); return true;case SET: Intent set_intent = new Intent();set_intent.setClass(course_activity.this, course_set_activity.class);startActivityForResult(set_intent, REQUEST_SET); return true;case DELETE:mDbHelper.open();mDbHelper.de

    32、leteCourse(getListView().getSelectedItemId();mDbHelper.closeclose();updateCourseView();return true;return super.onOptionsItemSelected(item);/得到现在是第几周private int get_interval_weeks(Date ds, Date de) long total = (de.getTime()-ds.getTime()/(24*60*60*1000);Log.e(total, +total); return (int)(total/7.0)

    33、+ 1);/* (non-Javadoc) * see android.app.Activity#onActivityResult(int, int, android.content.Intent) */Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) / TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);/设置第一周的回复if(requestCode =

    34、 REQUEST_SET)if(resultCode = RESULT_OK)Bundle extras = data.getExtras();if(extras != null)first_year = extras.getInt(year);first_month = extras.getInt(month);first_day = extras.getInt(day);start_date = new Date(first_year,first_month,first_day);Log.e(now_month, +now_month);Log.e(now_day, +now_day);i

    35、nterval_weeks = get_interval_weeks(start_date, now_date); Toast.makeText(course_activity.this, 当前是第+interval_weeks +周, Toast.LENGTH_LONG).show();setTitle(第+interval_weeks +周 +课程信息);Log.e(weeks, +interval_weeks);/添加新课程信息的回复else if(requestCode = REQUEST_NEW)if(resultCode = RESULT_OK)updateCourseView()

    36、;7 结论本文通过对一款基于Android平台的手机课程及日记的管理程序的实例开发,较为详细的阐述了Android系统的数据存储方式,以及用户界面的设计,该过程包括了数据库的设计与创建,用户界面的创建。在此过程中,除使用DbAdapter类对数据库执行操作外,还一并使用了getALLCourse方法来得到课程的时间信息。通过对Android界面设计的布局方式的掌握,数据库难点的克服,以及DbAdapter获得信息方式的熟悉,程序得以顺利开发完成。参考文献 1Jerome(J.F.)DiMarzio.Android程序员指南MUSA:McGraw-Hill公司, 2008, 2135.2靳岩,姚

    37、尚朗Google Android开发入门与实践M北京:人民邮电出版社, 2009,3759.3杨丰盛Android应用开发揭秘M北京:机械工业出版社,2010,44109,1517.4E2EColud工作室深入浅出Google AndroidM北京:人民邮电出版社,2009,178194.5余志龙,陈昱勋,郑明杰,陈小凤,郭秩均Google Android SDK开发范例大全M北京:人民邮电出版社,2009,4253.6 印旻,王行言. Java 语言与面向对象程序设计M(第2版).北京:清华大学出版社,2007,4457.7 Jeff Friesen.Learn Java for Andro

    38、id DevelopmentM.USA:Apress.2010,221.8 Marziah Karch.Android for work:productivity dor professionalsM.USA:Apress.2010,97114.9张仕成. 基于Google Android平台的应用程序开发与研究J.电脑知识与技术.2009,28:54-66.10 陈璟,陈平华,李文亮. Android内核分析J.现代计算机(专业版).2009,11:32-44.11财经日报.二月份谷歌Android移动市场占有率33%扩大优势 EB/OL.http:/.hk/a-20110405-113764/uygtr .18


    注意事项

    本文(基于Android的大学课程及日记的管理.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922