中兴java软件安卓开发实习报告 本文关键词:中兴,实习报告,软件,java,卓开发
中兴java软件安卓开发实习报告 本文简介:中兴实习报告短短的一个月很快就过去了,在南昌中兴软件实训中心的实习就过去了。虽然只有短短的一个月,但我学到了许多知识,熟悉了软件项目开发的流程,也很好的增强了自己的动手能力。在这个月中,我们学习了JAVA的基础知识以及安卓的开发。我是一名即将大四的学生,用校园里的话来讲就是“奔四”的人。纵观现在的就
中兴java软件安卓开发实习报告 本文内容:
中兴实习报告
短短的一个月很快就过去了,在南昌中兴软件实训中心的实习就过去了。虽然只有短短的一个月,但我学到了许多知识,熟悉了软件项目开发的流程,也很好的增强了自己的动手能力。
在这个月中,我们学习了JAVA的基础知识以及安卓的开发。
我是一名即将大四的学生,用校园里的话来讲就是“奔四”的人。纵观现在的就业形势,国家高校的扩招,世界金融危机的横扫,大学生应该有一种居安思危的紧迫感,特别是对于已经渡过三年的大学的我来说,毕业不是一个遥远的名词,找工作更不是水到渠成的动词了。宝剑锋从磨砺出,梅花香自苦寒来,缺少了平时的锻炼,缺少了厚积当然就不能薄发了。首先我得有思想上的紧迫感,在学校所学都是理论性的知识,社会经验则是乏之又乏。一个综合能力强的人才是这个社会所看好的,“社会需要我干什么我就能干什么”是我个人的奋斗目标。有了强大的精神动力,有了坚如盘石的毅力,相信成功的一天绝不遥远。
首先,我的自学能力得到了加强。在实习的前几天主要进行的是与java有关的知识讲解及其他预备知识的普及。在这之前由于种种原因我没有系统的学过java,所以对于java我几乎一无所知。但是我曾学习过c++,所以对语言的接受与理解速度还不算太慢—尽管老师讲的比较快。但我还是竭尽所能的去跟上老师的节奏。在这个过程中老师曾给我打过一剂预防针---对语法的理解无需太清晰,会用就可以。所以我只需了解大概框架及原理即可。这就教会了我自学的一种方法---可以在第一遍时不求甚解,先了解知识框架,之后再在使用的过程中不断的加深对知识的理解,从而较快的学会知识并利用之用于实践。
其次我的实际的操作能力得到了加强。知识讲解告一段落之后我们便进入到了紧张而又短暂的项目中。但不得不说刚开始就遇到了一鼻子灰---代码书写总是出错。由于对原理理解的不够透彻,语言使用缺乏足够经验所以进度极慢---尽管任务很少。在经过了多次讨论以及与老师的交流我们渐渐的对项目有了一个较为合理的理解,所以再次投入的过程就比较顺利。在这个过程中我明白实践与理论的差距及二者不可分割的关系。
在张老师讲完java基础后,随着尧老师跟我们讲了安卓的基础开发。
刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android
SDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想。
我在为期一个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.
通过半一个月的android实习,基本掌握了Android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。
通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。例如:
要的布局(或者控件),在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的
跳转Intent管理,通过Bundle对数据在界面之间进行传输。
在手机交互式通信服务中,学习了Android手机之间进行短信发送、广播、对广播的监听、服务等,在Service类中没有context,可以通过Handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的CurrentActivity这个变量进行控制,进行处理。
在Android编程过程中巩固熟悉了Java的编程。由于Android应用程序的开发离不开Java的支持,所以基础的Java知识是必须的。Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linux,C/C++高级编程才能深入的涉及Android
Framework和Android内核开发。成为Android开发的高素质人才。所以,在后续对Android的学习中可能会看一些较底层的书籍。
由于这次实习时间较短,对于Android应用程序的高级编程讲的很少,是这次实习中的不足。要想开发一些好的应用程序,还需要更多的知识支持。在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的Activity忘记注册,对SD卡存取需要权限,在写SQL语句时细微的错误就可能导致程序运行错误。这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。
通过Android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也有了更多的发展方向,这在以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可以根据我们自己的需要设计一些小的程序。总之,在这次实习中,我获得了很多东西,提高了自己的编程技巧和编程方法,并且认识了Android应用程序的开发,以及加深了对Java的认识。
最后,通过实习,我收获了很多东西,特别是编程方面的,这对即将毕业的我们来说,这次实习是一次较为珍贵的充电。
篇2:创新实践安卓软件开发报告
创新实践安卓软件开发报告 本文关键词:实践,创新,报告,开发,软件
创新实践安卓软件开发报告 本文简介:沈阳理工大学课程设计专用纸No18摘要从没有比现在更好的时机,能通过为Android编写程序,将我们的创意带人生活中。安卓AppStore给了我们巨大的机会,程序的开发也从未像如今这样简单和广泛。你不仅能够拥有数百万的潜在客户还能拥有尖端的开发工具和硬件。2008年Google推出了一款名为Andr
创新实践安卓软件开发报告 本文内容:
沈阳理工大学课程设计专用纸No18
摘要
从没有比现在更好的时机,能通过为Android编写程序,将我们的创意带人生活中。安卓App
Store给了我们巨大的机会,程序的开发也从未像如今这样简单和广泛。你不仅能够拥有数百万的潜在客户还能拥有尖端的开发工具和硬件。2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。而很少受到早期手持设备的硬件和软件限制。
本设计在对Android开发有初步了解的情况下,设计一个有代表性的Android商业App,通过对商业实例的学习,了解真实项目的系统构架、引擎设计,了解声音、视频、图片处理等相关的编程技术要点、以便在实际的游戏项目开发中借鉴和综合应用这些知识。
关键字:Android;APP;
目录
1
开发工具与环境1
1.1
下载并安装eclipse1
1.2
下载并安装jdk1
1.3开发环境简介1
1.4开发环境搭建2
1.4.2安装Eclipse4
1.4.3
安装Android
SDK4
1.4.4
ADT安装创建AVD4
2
系统的设计与分析5
2.1
Android系统的概述5
2.1.1应用层5
2.1.2应用程序框架5
2.1.3系统运行库6
2.1.4
Linux内核7
2.3
日历流程图7
3
系统详细设计8
3.1
日历其实是由3个预制的数据集组成8
3.2
视图的生成8
3.3当所示日期发生选择变更是的视图更新10
3.4
启动和运行13
4
运行结果14
4.1
系统启动14
4.2
进入日历14
4.4
退出应用15
5
结论16
参考文献17
1
开发工具与环境
1.1
下载并安装eclipse
Eclipse
版本有要求:The
“Eclipse
Classic“version
is
recommended.
Otherwise,a
Java
or
RCP
version
of
Eclipse
is
recommended.
1.下载eclipse只需登录到http://www.jsfw8.com/javase/downloads下载最新的JDK安装程序。
然后双击刚下载的JDK安装程序jdk-7u21-windows-i586,根据提示将JDK安装到默认目录。
右键单击我的电脑,依次选择属性/高级/环境变量,在系统变量中新建一个名为JAVA_HOME,值为“C:/Program
Files/Java/jdk1.7.0_21”的环境变量。
再打开Path环境变量,在最后加上“C:/Program
Files/Java/jdk1.7.0_21/bin;”,单击“确定”按钮即可。
1.3开发环境简介
JDK(Java
Development
Kit)是Sun
Microsystems针对Java开发员的产品。自从Java诞生以来,JDK已经成为最广泛的Java
SDK。JDK是整个Java的核心内容,包括了Java运行环境、Java工具和Java基础类库三部分。从Sun的JDK1.5开始,提供了一些非常使用的功能,其版本也不断更新,运行效率得到了非常大的提高。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组建构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Java
Development
Kit,JDK)。
Android
SDK即软件开发工具包(software
development
kit)。被软件开发工程师用于为特定的软件包、软件架构、硬件平台、操作系统等建立应用软件工具的集合。因此Android
SDK是Android专属的开发工具包。其授权协议为Apache,开发语言为Java、需要Android操作系统的支持。
1.4开发环境搭建
下载安装Java开发包(JDK)。选择“windows
offline
installation,multi-language”,根据屏幕提示完成安装。
打开计算机>点右键>属性>高级系统设置>环境变量,在系统变量中添加。
图1.1环境变量
新建JavaHome:C:/Program
Files/Java/jdk1.6.0_10,如图1.2。
图1.2JavaHome
新建CLASSPATH:.;%JavaHome%/lib/dt.jar;%JavaHome%/lib/tools.jar;,如图1.3。
图1.3
CLASSPATH
编辑Path,在变量值前添加:%JavaHome%/bin;,如图1.4。
图1.4
Path
在CMD窗体中输入java
–version,如果屏幕出现如图1.5一样的代码信息,说明JDK安装成功了。
图1.5
CMD窗体
1.4.2安装Eclipse
选择标有“eclipse
IDE
for
java
developers“的文件进行安装。进入解压后的目录,就可以看到一个名为“eclipse.exe”的可执行文件,双击此文件直接运行,eclipse
能自动找到用户先期安装的JDK路径
1.4.3
安装Android
SDK
将下载的android-sdk压缩包解压为文件放于自选位置。在Eclipse中选择Windows>Preferences>Android>Browse找到解压文件>Apply>OK。打开环境变量,编辑Path,在变量值前添加:C:
/java/adt-bundle-windows-x86-20130522/sdk/tools;,如图1.6。
图1.6
Path
1.4.4
ADT安装创建AVD
打开SDK
Manager.exe,选择tools>Manage
AVDs,在Android
Virtual
Device
Manager中点击New,输入AVD的信息,点OK完成AVD的创建。如图1.7。
图1.7
AVD
2
系统的设计与分析
2.1
Android系统的概述
Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。作为一个层次结构的软件集,一定有一个层次的系统构架,下图为Android的构架图:
图2.1
Android
系统构架
2.1.1应用层
Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
2.1.2应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统,其中包括:丰富而又可扩展的视图(Views),可以用来构建应用程序,
它包括列表(lists),网格(grids),文本框(text
boxes),按钮(buttons),
甚至可嵌入的web浏览器;
内容提供器(Content
Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),
或者共享它们自己的数据:资源管理器(Resource
Manager)提供
非代码资源的访问,如本地字符串,图形,和布局文件(
layout
files
);通知管理器
(Notification
Manager)
使得应用程序可以在状态栏中显示自定义的提示信息;
活动管理器(
Activity
Manager)
用来管理应用程序生命周期并提供常用的导航回退功能。
2.1.3系统运行库
系统运行库包括程序库和Android运行库。首先是程序库,
Android
包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过
Android
应用程序框架为开发者提供服务。以下是一些核心库:系统
C
库
-
一个从
BSD
继承来的标准
C
系统函数库(
libc
),
它是专门为基于
embedded
linux
的设备定制的;媒体库
-
基于
PacketVideo
OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG
;
Surface
Manager
-
对显示子系统的管理,并且为多个应用程序提
供了2D和3D图层的无缝融合;
LibWebCore
-
一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图;SGL
-
底层的2D图形引擎;3D
libraries
-
基于OpenGL
ES
1.0
APIs实现;该库可以使用硬件
3D加速(如果可用)或者使用高度优化的3D软加速;FreeType
-位图(bitmap)和矢量(vector)字体显示;SQLite
-
一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。其次是Android
运行库,Android
包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。
Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中
的
“dx“工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。
2.1.4
Linux内核
Android
的核心系统服务依赖于
Linux
2.6
内核,如安全性,内存管理,进程管理,
网络协议栈和驱动模型。
Linux
内核也同时作为硬件和软件栈之间的抽象层。
2.3
日历流程图
iPlanet日历S2erver2.x
Run
db_recover
下载和安装Calender
Server5.1.1
运行db_upgrade
运行les2milgrate
Sun
ONE
下载和安装Calender
Server6.x
运行cs5migrate
Sun
Java
System
Calender
Server
6
Netscape
Calender
Server4.x
下载和安装Calender
Server5.1.1
运行ncs4migrate
图2.2
流程图
3
系统详细设计
3.1
日历其实是由3个预制的数据集组成
日历整个系统是由3个GridView组成,3个GridView分别预制当前月、上个月和下个月当发生滑动事件的时候产生替换,同时在加载时重新生成。
private
Context
mContext
=
BaseCalendar.this;
private
GridView
title_gView;
private
GridView
gView1;//
上一个月
private
GridView
gView2;//
当前月
private
GridView
gView3;//
下一个月
//
private
GridView
gView1;
boolean
bIsSelection
=
false;//
是否是选择事件发生
private
Calendar
calStartDate
=
Calendar.getInstance();//
当前显示的日历
private
Calendar
calSelected
=
Calendar.getInstance();
//
选择的日历
private
Calendar
calToday
=
Calendar.getInstance();
//
今日
private
CalendarGridViewAdapter
gAdapter;
private
CalendarGridViewAdapter
gAdapter1;
private
CalendarGridViewAdapter
gAdapter3;
//
顶部按钮
private
Button
btnToday
=
null;
private
RelativeLayout
mainLayout;
//
private
int
iMonthViewCurrentMonth
=
0;
//
当前视图月
private
int
iMonthViewCurrentYear
=
0;
//
当前视图年
private
int
iFirstDayOfWeek
=
Calendar.MONDAY;
private
static
final
int
mainLayoutID
=
88;
//
设置主布局ID
private
static
final
int
titleLayoutID
=
77;
//
title布局ID
private
static
final
int
caltitleLayoutID
=
66;
//
title布局ID
private
static
final
int
calLayoutID
=
55;
//
日历布局ID
3.2
视图的生成
生成一个主视图
//
生成内容视图
private
View
generateContentView()
{
//
创建一个垂直的线性布局(整体内容)
viewFlipper
=
new
ViewFlipper(this);
viewFlipper.setId(calLayoutID);
mainLayout
=
new
RelativeLayout(this);
//
创建一个垂直的线性布局(整体内容)
RelativeLayout.LayoutParams
params_main
=
new
RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
mainLayout.setLayoutParams(params_main);
mainLayout.setId(mainLayoutID);
mainLayout.setGravity(Gravity.CENTER_HORIZONTAL);
LinearLayout
layTopControls
=
createLayout(LinearLayout.HORIZONTAL);
//
生成顶部按钮布局
generateTopButtons(layTopControls);
//
生成顶部按钮
(上一月,下一月,当前月)
RelativeLayout.LayoutParams
params_title
=
new
RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params_title.topMargin
=
5;
//
params_title.addRule(RelativeLayout.ALIGN_PARENT_TOP,20);
layTopControls.setId(titleLayoutID);
mainLayout.addView(layTopControls,params_title);
calStartDate
=
getCalendarStartDate();
setTitleGirdView();
RelativeLayout.LayoutParams
params_cal_title
=
new
RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params_cal_title.addRule(RelativeLayout.BELOW,titleLayoutID);
//
params_cal_title.topMargin
=
5;
mainLayout.addView(title_gView,params_cal_title);
CreateGirdView();
RelativeLayout.LayoutParams
params_cal
=
new
RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
params_cal.addRule(RelativeLayout.BELOW,caltitleLayoutID);
mainLayout.addView(viewFlipper,params_cal);
LinearLayout
br
=
new
LinearLayout(this);
RelativeLayout.LayoutParams
params_br
=
new
RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT,1);
params_br.addRule(RelativeLayout.BELOW,calLayoutID);
br.setBackgroundColor(getResources().getColor(R.color.calendar_background));
mainLayout.addView(br,params_br);
return
mainLayout;
}
3.3当所示日期发生选择变更是的视图更新
在主视图所示日期改变时更新,主要代码如下:
//
根据改变的日期更新日历
//
填充日历控件用
private
void
UpdateStartDateForMonth()
{
calStartDate.set(Calendar.DATE,1);
//
设置成当月第一天
iMonthViewCurrentMonth
=
calStartDate.get(Calendar.MONTH);//
得到当前日历显示的月
iMonthViewCurrentYear
=
calStartDate.get(Calendar.YEAR);//
得到当前日历显示的年
String
s
=
calStartDate.get(Calendar.YEAR)
+
“-“+
NumberHelper.LeftPad_Tow_Zero(calStartDate
.get(Calendar.MONTH)
+
1);
btnToday.setText(s);
//
星期一是2
星期天是1
填充剩余天数
int
iDay
=
0;
int
iFirstDayOfWeek
=
Calendar.MONDAY;
int
iStartDay
=
iFirstDayOfWeek;
if
(iStartDay
==
Calendar.MONDAY)
{
iDay
=
calStartDate.get(Calendar.DAY_OF_WEEK)
-
Calendar.MONDAY;
if
(iDay
<
0)
iDay
=
6;
}
if
(iStartDay
==
Calendar.SUNDAY)
{
iDay
=
calStartDate.get(Calendar.DAY_OF_WEEK)
-
Calendar.SUNDAY;
if
(iDay
<
0)
iDay
=
6;
}
calStartDate.add(Calendar.DAY_OF_WEEK,-iDay);
}
private
Calendar
getCalendarStartDate()
{
calToday.setTimeInMillis(System.currentTimeMillis());
calToday.setFirstDayOfWeek(iFirstDayOfWeek);
if
(calSelected.getTimeInMillis()
==
0)
{
calStartDate.setTimeInMillis(System.currentTimeMillis());
calStartDate.setFirstDayOfWeek(iFirstDayOfWeek);
}
else
{
calStartDate.setTimeInMillis(calSelected.getTimeInMillis());
calStartDate.setFirstDayOfWeek(iFirstDayOfWeek);
}
return
calStartDate;
}
public
class
TitleGridAdapter
extends
BaseAdapter
{
int[]
titles
=
new
int[]
{
R.string.Sun,R.string.Mon,R.string.Tue,R.string.Wed,R.string.Thu,R.string.Fri,R.string.Sat
};
private
Activity
activity;
//
construct
public
TitleGridAdapter(Activity
a)
{
activity
=
a;
}
@Override
public
int
getCount()
{
return
titles.length;
}
@Override
public
Object
getItem(int
position)
{
return
titles[position];
}
@Override
public
long
getItemId(int
position)
{
return
position;
}
@Override
public
View
getView(int
position,View
convertView,ViewGroup
parent)
{
LinearLayout
iv
=
new
LinearLayout(activity);
TextView
txtDay
=
new
TextView(activity);
txtDay.setFocusable(false);
txtDay.setBackgroundColor(Color.TRANSPARENT);
iv.setOrientation(1);
txtDay.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams
lp
=
new
LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
int
i
=
(Integer)
getItem(position);
txtDay.setTextColor(Color.WHITE);
Resources
res
=
getResources();
if
(i
==
R.string.Sat)
{
//
周六
txtDay.setBackgroundColor(res.getColor(R.color.title_text_6));
}
else
if
(i
==
R.string.Sun)
{
//
周日
txtDay.setBackgroundColor(res.getColor(R.color.title_text_7));
}
else
{
}
txtDay.setText((Integer)
getItem(position));
iv.addView(txtDay,lp);
return
iv;
}
}
}
3.4
启动和运行
当你点击运行程序是的加载代码
TextView
txtDay
=
new
TextView(activity);//
日期
txtDay.setGravity(Gravity.CENTER_HORIZONTAL);
//
判断是否是当前月
if
(iMonth
==
iMonthViewCurrentMonth)
{
txtToDay.setTextColor(resources.getColor(R.color.ToDayText));
txtDay.setTextColor(resources.getColor(R.color.Text));
}
else
{
txtDay.setTextColor(resources.getColor(R.color.noMonth));
txtToDay.setTextColor(resources.getColor(R.color.noMonth));
}
int
day
=
myDate.getDate();
//
日期
txtDay.setText(String.valueOf(day));
txtDay.setId(position
+
500);
iv.setTag(myDate);
LinearLayout.LayoutParams
lp
=
new
LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
iv.addView(txtDay,lp);
LinearLayout.LayoutParams
lp1
=
new
LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
iv.addView(txtToDay,lp1);
//
日期结束
4
运行结果
4.1
系统启动
进入系统后,系统加载如图4.1。
图4.1
系统初始化
4.2
进入日历
进入日历主界面(可滑动进行翻页查看其他日期点击添加备注等功能),如图4.2
图4.2
主界面
4.4
退出应用
单击MENU键,退出应用。如图4.3。
图4.3
退出App
5
结论
日历是一款经典的小应用它既有简单易学的特性,而且界面美观;2007年11月5日,互联网巨头Google宣布依靠android系统进军手机操作系统领域后,几年来android一路高歌,拥有越来越多的用户群体,为顺应时代潮流,本次创新实践周的题目是一款能够在android手机上运行的小应用。
通过这次课程设计,我学到了很多新的知识,同时也锻炼了我的综合运用所学的知识,解决问题的能力,也提高我查阅文献资料、对程序整体的把握等其他能力与水平。在课程设计过程中,在小组成员的讨论中,不断地对源程序进行改进与完善,修改了以往扫雷程序的界面,界面更加漂亮。并且在编写的过程中,各种组件的运用,各种算法的应用,各种控件的利用我都是随着课程设计的不断深入而不断熟悉并逐步掌握的。
总而言之,在创新实践周中,我对android平台和游戏开发等领域都有了一定的了解。其中所学到的知识,将成为我今后学习工作当中的监视基础。希望以后还会有这种锻炼自己的实践机会。
参考文献
[1]
景保玉.2010中国移动应用开发现状与趋势大调查.2011年01月12日:10~23
[2]
Michael
J.Young.
轻松搞定XML.林嘉胜译.
清华大学出版社,2001年01月08日:12~58
[3](英)Herbert
Schildt
Java参考大全(J2SE
5
Edition).清华大学出版社.2010年:1~58
[4]
Mark
L.Murphy.Android开发入门教程.人民邮电出版社,2010年12月:1~20
[5]
郭宏志.Android
应用开发详解[M].北京:电子工业出版社.2010-10-2
[6]
余志龙.Google
Android
SDK
开发范例大全[M].北京:人民邮电出版社.2009-7-1
[7]
靳岩,姚尚朗.Google
Android
开发入门与实战[M].北京:人民邮电出版社.2009-7-1
篇3:超详细图文教你制作安卓手机主介绍题
超详细图文教你制作安卓手机主介绍题 本文关键词:机主,教你,图文,制作,介绍
超详细图文教你制作安卓手机主介绍题 本文简介:www.jsfw8.com超详细图文教你制作手机主题要制作个性专属的主题在你的爱机上应用,你手机必须要有ROOT权限,取权限方法。教程正文:①准备好7张你喜欢的图片或照片,电脑端安装有Photoshop或美图秀秀等图片修改美化软件,电脑互联网搜索下即可有惊喜的,就不再上传了。----------②教
超详细图文教你制作安卓手机主介绍题 本文内容:
www.jsfw8.com
超详细图文教你制作手机主题
要制作个性专属的主题在你的爱机上应用,你手机必须要有ROOT权限,取权限方法。
教程正文:
①准备好7张你喜欢的图片或照片,电脑端安装有Photoshop或美图秀秀等图片修改美化软件,电脑互联网搜索下即可有惊喜的,就不再上传了。
----------
②教程用美图秀秀做参考,Photoshop软件应用也如是相同。
……
1,将准备好的图片或照片,用软件打开,如图所示:
------------------------------
------------------------------
2,将图片的分辨率用软件修改为:960x854的规格尺寸。如图所示:
------------------------------
------------------------------
修改好图片(照片)的尺寸后,记得保存图片选择:png格式保存,如图所示:
------------------------------
------------------------------
3,使用裁剪工具把图片裁剪一张854x480的图片,这张图片是作为背景的~短信背景,计算器背景,TrackID的背景等等…
如图所示:
------------------------------
------------------------------
图片裁剪好后依然保存为:png格式放置备用。
再次打开上张图片,还需要裁剪修改2张尺寸小些的图片,尺寸规格不要太大,如图所示:
------------------------------
-----------------------------
要2张,就保存2次,格式依然是:png,再将其中1张用软件调暗些图片的亮度,这样在制作好的主题使用时,比如打开信息啊之类的就不会太亮,导致看不清文字。
每张要的图片都如上修改保存好
-------------------------------
保存好的图片要重新命名:
1,960x854的是壁纸,名字修改为black_wallpaper.png
2,854x480的是背景,名字修改为black_application_background.png
3,320x180的是主题选择页面的预览图名字修改为black_preview_focused.png和black_preview_normal.png两张,总共就四张图片。
(还有绿色,橘色,红色,粉色,蓝色照原主题包的名字修改好即可)
-------------------------------
还有横屏的图片…横屏是不需要壁纸图片的~只需要三张就好。
===============
用RE管理器进系统(system/app)里提取主题文件:DefaultThemes.apk,提取出来复制在电脑任意位置,用winrar解压打开软件,如图:
------------------------------
-----------------------------
进入res,如图所示:
-----------------------------
----------------------------
drawable-hdpi代表是竖屏的,drawable-land-hdpi代表是横屏的.如图所示:
--------------------------
--------------------------
进入drawable-hdpi文件夹里面,把那些图片的名字修改成里面一样就可以了,然后替换文件夹里面的图
片。竖屏和横屏都要换,不然你竖屏是一张图片,横屏是另外一张图片。替换好之后重新打开DefaultThemes.apk,打开方式还是Winrar,然后把res整个文件夹拖回压缩包,这时会跳出一个选项,存储方式要选择
为存储。如图所示:
----------------------------
转自:
www.jsfw8.com
贡献者:
康康
www.jsfw8.com