收藏 分销(赏)

“菁菁校园(留恋录)”设计与开发-软件专业毕业设计论文.doc

上传人:天**** 文档编号:2362718 上传时间:2024-05-28 格式:DOC 页数:28 大小:1.11MB
下载 相关 举报
“菁菁校园(留恋录)”设计与开发-软件专业毕业设计论文.doc_第1页
第1页 / 共28页
“菁菁校园(留恋录)”设计与开发-软件专业毕业设计论文.doc_第2页
第2页 / 共28页
“菁菁校园(留恋录)”设计与开发-软件专业毕业设计论文.doc_第3页
第3页 / 共28页
“菁菁校园(留恋录)”设计与开发-软件专业毕业设计论文.doc_第4页
第4页 / 共28页
“菁菁校园(留恋录)”设计与开发-软件专业毕业设计论文.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、目 录摘要41. 设计背景52. 作品简介 263. 设计目的与意义 44. 设计要求 55. 总体方案设计 66. 本人完成的工作 107. 遇到的问题和解决办法 208. 总结与建议 259. 参考文献 2710. 附 录30摘 要【摘要】Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以

2、及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年7月数据,Android占据全球智能手机操作系统市场59%的份额,中国市场占有率为76.7%。留恋录的出现是为了记录同学朋友之间的感情,这是一个很好的载体,它能充分的展现出对同学、朋友的那一份真挚的感情,同时留恋录也方便我们快速拾起和同学朋友们的回忆。而菁菁校园(留恋录)是结合Android中的各种技术开发出来的一个小项目,贴近实际的把留恋录移植到了Android系统的手机上,人们可以随时随地拿出手机来回忆那一份同学情朋友情。没有地域的拘束,没有时间的拘束。此应用

3、适合现代快节奏的我们。感言:感谢老师和同学们的关心,谨记大家的教诲与开导。【关键词】 Android系统、留恋录、相关Android技术1 设计背景1.1 随着科技的日益进步,生活在二十一世纪的我们已然日渐依赖网络。手机不离身,不管到哪里首先问WIFI密码,似乎已经成为了大部分人根深蒂固的日常习惯了。人们会通过微信、QQ等众多的社交软件与朋友进行交流,除此之外喜欢看新闻的人们也会通过手机了解最新的信息。而这一切都是以移动互联网为支撑的。对于移动互联网,想必大家是比较熟悉的,在信息化快速发展的今天,移动互联网的迅猛普及与发展已经是一件有目共睹的事情1.2 留恋录回忆初中、高中时代,每当毕业时同学

4、们都会准备好一个留恋录的册子用于来记录曾今朝夕相处的同学们的信息以及同学朋友对自己的离别寄语。留恋录的出现是为了记录同学朋友之间的感情,这是一个很好的载体,它能充分的展现出对同学、朋友的那一份真挚的感情,同时留恋录也方便我们快速拾起和同学朋友们的回忆。但是纸制的留恋录册子会有腐烂的时候,为了适应这个时代,基于Android系统上的一个留恋录应用就此诞生!2 作品简介项目名称:菁菁校园(留恋录)开发工具:Eclipse开发环境:Java语言、SQLite数据库应用服务器:Android 2.3 Virtual(模拟器)项目技术:Java 、Android SDK (软件开发工具包)、 ADT(A

5、ndroid 开发工具)项目描述:主要实现时钟显示、行程安排、查看好友、照片浏览等业务功能如下:通过AlphaAnimation 动画设置实现进入应用的欢迎界面效果(背景图片淡入淡出)、在通过Intent通过页面跳转跳到标签选择栏进行下一步操作通过调用TabActivity的getTabHost()方法获取TabHost对象、再设置使用TabHost布局、再通过addTab()、setIndicator()方法来显示自定义的标签1、时钟显示:通过基本组件TextView(文本框)和高级组件AnalogClock(模拟时钟)、DigitalClock(数字时钟)的混合布局将系统当前时间显示出来、

6、并以Html形式用跑马灯效果显示TextView的文字用于提示珍惜时间等信息2、行程安排:通过LinearLayout(线性布局)内嵌套两个LinearLayout作为行程安排的布局、在其中一个LinearLayout中使用ListView(线性列表)用于显示保存的行程安排、在Java代码中用SQLiteDatabase(SQLite数据库)进行数据存储、并通过填充SimpleCursorAdapter将数据进行显示3、查看好友:通过ExpandableListView(下拉列表)的方式显示出联系人信息(如QQ好友列表的展开方式)、在Java代码中使用ExpandableListAdapter

7、、BaseExpandableListAdapter两种适配器来完成下拉列表类容的显示4、照片查看:通过GridView(网格布局)的形式将好友照片进行显示、通过使用setScaleType()、setLayoutParams()、setImageResource()方法对GridView中的图片进行设置、并对ImageView对象进行OnItemClickListener监听、当点击图片时将会出现DiaLog(对话框)进行下一步显示通过onKeyDown()方法实现程序的最后退出提示setTitle()、setMessage()、设置标题和提示信息、setPositiveButton()、s

8、etNeutralButton()设置确定和取消按钮5、 网页浏览:模拟简单浏览器实现网页浏览功能通过WebView实现网页的浏览、可进行一下操作,打开网页、后退网页、前进网页、缩小网页、放大网页、清空网页项目总结:通过这个项目使我加深了对Android的几大组件(Activity、Service、BroadcastReceiver、ContentProvider、Intent)的了解与应用、体会到在做项目时编写文档的习惯的重要性、同时加深了我对Android开发的兴趣【代码详细分析】1、 应用展示: 图1 图2菁菁校园图标展示效果的实现,先从互联网上搜索相关图片资源,在AndroidMani

9、fest.xml文件中定义好欢迎界面效果是通过AlphaAnimation 动画设置实现进入应用的欢迎界面效果(背景图片淡入淡出)、在通过Intent通过页面跳转跳到标签选择栏进行下一步操作通过调用TabActivity的getTabHost()方法获取TabHost对象、再设置使用TabHost布局、再通过addTab()、setIndicator()方法来显示自定义的标签2、 时钟显示:图3时钟显示:通过基本组件TextView(文本框)和高级组件AnalogClock(模拟时钟)、DigitalClock(数字时钟)的混合布局将系统当前时间显示出来、并以Html形式用跑马灯效果显示Tex

10、tView的文字用于提示珍惜时间等信息。部分关键代码如下(黑色字体代码为关键代码):布局文件: Java文件:text = (TextView) findViewById(R.id.tab_clock_text);/ TextView 跑马灯设置text.setText(Html.fromHtml(菁菁校园 不负韶华 - 光阴荏苒 珍爱为佳 - iChentie QQ:531566258);3、 行程安排: 图4图5行程安排:通过LinearLayout(线性布局)内嵌套两个LinearLayout作为行程安排的布局、在其中一个LinearLayout中使用ListView(线性列表)用于显示

11、保存的行程安排、在Java代码中用SQLiteDatabase(SQLite数据库)进行数据存储、并通过填充SimpleCursorAdapter将数据进行显示。布局文件: Java文件:所应用到的包:import android.app.Activity;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteException;import android.os.Bundle;import android.view.Vi

12、ew;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleCursorAdapter;部分关键代码:db=SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+ /my.db3, null);listView = (ListView) findViewB

13、yId(R.id.list_show);save = (Button) findViewById(R.id.btn_save);save.setOnClickListener(new OnClickListener()Overridepublic void onClick(View source)/ 获取用户输入String title = (EditText) findViewById(R.id.editor_date).getText().toString();String content = (EditText) findViewById(R.id.editor_contetn).get

14、Text().toString();tryinsertData(db, title, content);Cursor cursor = db.rawQuery(select * from news_inf, null);inflateList(cursor); catch (SQLiteException se)/ 执行DDL创建数据表db.execSQL(create table news_inf(_id integer primary key autoincrement,+ news_title varchar(50),+ news_content varchar(255);/ 执行ins

15、ert语句插入数据insertData(db, title, content);/ 执行查询Cursor cursor = db.rawQuery(select * from news_inf, null);inflateList(cursor);4、 查看好友: 图6图7查看好友:通过ExpandableListView(下拉列表)的方式显示出联系人信息(如QQ好友列表的展开方式)、在Java代码中使用ExpandableListAdapter、BaseExpandableListAdapter两种适配器来完成下拉列表类容的显示。布局文件: Java文件:应用到的包:import andro

16、id.app.Activity;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.AbsListView;import android.widget.BaseExpandableListAdapter;import android.widget.ExpandableListAdapter;import android.widget.ExpandableListView;import an

17、droid.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;关键代码:/ 设置列表内文字参数private TextView getTextView()AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 64);TextView textView = new TextView(InfoList.this);textView.setLayout

18、Params(lp);textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);textView.setPadding(36, 0, 0, 0);textView.setTextSize(20);return textView;/ 添加文字Overridepublic View getChildView(int groupPosition, int childPosition,boolean isLastChild, View convertView, ViewGroup parent)/ 定义一个线性布局容器LinearLayou

19、t ll = new LinearLayout(InfoList.this);ll.setOrientation(0);TextView textView = getTextView();/ 向LinearLayout容器内添加textViewll.addView(textView);/ 初始化ExpandableListView布局ExpandableListView ecpandListView = (ExpandableListView) findViewById(R.id.list);ecpandListView.setAdapter(adapter);5、 照片查看: 图8图9图10

20、照片查看:通过GridView(网格布局)的形式将好友照片进行显示、通过使用setScaleType()、setLayoutParams()、setImageResource()方法对GridView中的图片进行设置、并对ImageView对象进行OnItemClickListener监听、当点击图片时将会出现DiaLog(对话框)进行下一步显示。布局文件: Java文件:将屏幕添加监听器:LinearLayout layout = (LinearLayout) findViewById(R.id.photo_welcome);layout.setOnTouchListener(new OnT

21、ouchListener()Overridepublic boolean onTouch(View v, MotionEvent mEvent)Intent intent = new Intent(PhotoWelcome.this, PhotoShow.class);startActivity(intent);return false;);图片展示效果实现:ImageView imageView = new ImageView(PhotoShow.this);/ 图片居中显示imageView.setScaleType(ImageView.ScaleType.CENTER);imageVie

22、w.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);/ 设置显示图片imageView.setImageResource(PhotoShow.this.picResposition);Dialog dialog = new AlertDialog.Builder(PhotoShow.this).setIcon(R.drawable.info_youself).setTitle(R.string.yourself).setView(imageView

23、).setNegativeButton(R.string.exit,new DialogInterface.OnClickListener()Overridepublic void onClick(DialogInterface dialog,int which).create();dialog.show();6、 网页浏览: 图11 图12网页浏览:模拟简单浏览器实现网页浏览功能通过WebView实现网页的浏览、可进行一下操作,打开网页、后退网页、前进网页、缩小网页、放大网页、清空网页。布局文件:Java文件:import android.app.Activity;import androi

24、d.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;附加:在AndroidManifest.xml文件中,需要设置各种权限,以及添加不同的Activity 标签设置于退出程序实现:public void onCreate(Bundle savedInstanceState)su

25、per.onCreate(savedInstanceState);/ 通过调用TabActivity的getTabHost()方法获取TabHost对象TabHost tabHost = getTabHost();/ 设置使用 TabHost布局LayoutInflater.from(JJXY.this).inflate(R.layout.main,tabHost.getTabContentView(), true);/ 添加标签/ 时钟标签tabHost.addTab(tabHost.newTabSpec(id_clock).setIndicator(时钟显示,getResources().

26、getDrawable(R.drawable.tab_show_clock).setContent(new Intent(JJXY.this, Clock.class);/ 行程安排标签tabHost.addTab(tabHost.newTabSpec(id_plan).setIndicator(行程安排,getResources().getDrawable(R.drawable.tab_show_plan).setContent(new Intent(JJXY.this, Plan.class);/ 好友列表标签tabHost.addTab(tabHost.newTabSpec(id_tex

27、t).setIndicator(查看好友,getResources().getDrawable(R.drawable.tab_show_show).setContent(new Intent(JJXY.this, InfoList.class);/ 照片查看标签tabHost.addTab(tabHost.newTabSpec(id_timePicker).setIndicator(照片浏览,getResources().getDrawable(R.drawable.tab_show_view).setContent(new Intent(JJXY.this, PhotoWelcome.cla

28、ss);/ 网页浏览标签tabHost.addTab(tabHost.newTabSpec(id_webviewshow).setIndicator(网页浏览,getResources().getDrawable(R.drawable.tab_show_web).setContent(new Intent(JJXY.this, WebViewShow.class);/ 设置退出程序监听public boolean onKeyDown(int keyCode, KeyEvent event)if (keyCode = KeyEvent.KEYCODE_BACK)AlertDialog.Build

29、er builder = new AlertDialog.Builder(this);builder.setTitle(提示 );builder.setMessage(确定退出程序?);builder.setPositiveButton(确定,new DialogInterface.OnClickListener()Overridepublic void onClick(DialogInterface dialog, int which)dialog.dismiss();finish(););builder.setNeutralButton(取消,new DialogInterface.OnC

30、lickListener()Overridepublic void onClick(DialogInterface dialog, int which)dialog.dismiss(););builder.show();return true; elsereturn super.onKeyDown(keyCode, event);国际化: Hello World, TabHostDemo! 菁菁校园 日 期: 活 动: 保存 取消 填写日期 填写内容 确定 菁菁校园_Yourself 返回 滑动屏幕- 北京时间 打开 后退 前进 缩小 放大 清空标签布局: LinearLayout android:id=+id/id_plan android:layout_wi

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服