第一篇:Android学习心得
Android学习心得
这学期,我们新开了一门课程——android的研发。在老师们的介绍下,我们了解android的开发环境以及控件的功能。刚开始接触Android觉 得 既 陌生 又 亲 切,陌 生 在 于 没 有 学 过 具 体 的 开 发 软 件,亲 切 在于它在界面开发上和web也可以形成了相通的架构,更加方便。
一、Android简介
Android一词的本义指“机器人“,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。Android 早期由原名为“Android”的公司开发,谷歌在2005年收购“Android.Inc”后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(装工具在线安装。单击“android-sdk-windows.zip”链接进行SDK下载,下载该文件后解压该文件到操作系统的任意目录下。打开目录找到SDK Setup.exe可执行文件,双击执行该文件。选择“Available Packages”,选择想安装的版本(我是全选了,省事),然后单击“InstallSelected”->选择“Accept All”,再单击“Install Accepted”就可以在线安装了。提示:如果你的“Available Packages”右侧的地址不能打开,请选择左侧列表的“Setting”选项,在右侧的设置中勾选“Fore https://......” 第二步:安装JDK A、下载JDK。Android SDK需要JDK5 以上的版本。JDK6的下载地址http://java.sun.com/javase/downloads/widget/jdk6.jsp。B、安装JDK。下载完成后进行正常双击、安装,这里就不说了。。C、配置Java环境变量
1、配置Java Home。复制Java的安装路径,右键单击“我的电脑”->“属性”->“高级”—>“环境变量”中新建环境变量java_home,变量值为java安装路径。
2、配置Path。右键单击“我的电脑”->“属性”->“高级”—>“环境变量”,在“系统环境变量”中编辑Path便来了个,添加Java的bin目录到其中。变量与变量中间使用分号“;”分隔。
3、配置classpath。右键单击“我的电脑”->“属性”->“高级”—>“环境变量”,在“系统环境变量”中新建一个系统变量名称为“classpath”,变量值为半角句号“.”第三步:下载Eclipse ADT插件要求Eclipse的版本是3.3以上,Eclipse的下载网址是http://www.xiexiebang.com/downloads/。下载后解压可以直接使用。
(二)下载安装ADT。
这里介绍通过Eclipse在线更新的方式安装。
1、启动Eclipse,选择“Help”->“Install New Software.....”
2、单击“Add.....”添加一个更新站点(注意:站点http后面不要加s)否则可能连接失败(Name:ADT0.9.5;Location:http://dl-ssl.google.com/android/eclipse/)
3、添加好后,勾选“Developer Tools”单击“Next”进行更新安装。
四、应用程序基础
1.Android应用程序框架
第二篇:Android学习心得
Android入门心得
工具使用
1.打开已有工程:
方法1:Eclipse>file>new>Android Project>Next>Create Project existing source>选择你的项目.该方法适合不在工作目录workspace下的文件。
方法2:在屏幕上方的选单列上,选择「File->Import」选项,会跳出「Import」视窗。选择「General->Existing Projects into WorkSpace」项目,然后按下「Next」按钮带到新一个画面。在「Select Root Directory」栏位旁,按下右方的「Browse...」按钮,选择对应的工程。选择好后,按下「Finish」按钮完成从现存在工作环境(WorkSpace)资料夹下的工程汇入到Eclipse 环境的动作。
2.修复工程。如果发现开启后的资料夹图示上有个小小的黄色惊叹号,表示工程导入后还有些问题,我们可以使用ADT 内建的功能来试着修复。
在「Package Explorer」的「ApiDemos」工程档桉夹图示上点选右键,Android Tools->Fix Project Properties
3.新建模拟器
一种方法是在windows的运行>cmd中。
在windows的“运行”->cmd中启动Android emulator。
首先,设置环境变量。在Windows 2000,XP,2003 这些操作系统里,点选「我的电脑右键> 属性> 高级> 环境变数」。在「系统变数(S)」栏中,选取「PATH」变数名称后,再点选「编辑(I)」按钮。加入你的android-sdk-windows的安装路径(因个人电脑而异):在弹出的视窗中将「;D:softwareeclipseAndorid开发套件android-sdk-windowstools」(注意要以分号隔开)这字串添在原本的字串之后,按下确定后重新启动操作系统。其次,开始>运行>cmd:输入如下命令
>android list targets 列出模拟器类型
>android create avd--target 1--name android2.2新建模拟器(「--target 1」参数的意思是这个模拟器使用id 为1的模拟器类型,「--name cupcake」参数的意思是将这个建立的模拟器命名为android2.2)
>android list avd 查看已有的模拟器。
另一种简单的方法是在eclipse集成开发平台上。
Eclipse>windows>android SDK and AVD manager>new >„„
4.换屏。在Windows 操作系统上按下「Ctrl」和「F12」可以切换模拟器屏幕,直屏&横屏。
5.换外观。还可以添加android手机的模拟器外观,如G1的。实现方法:先下载G1外观(http:///),解压后放到即可,执行android create avd--target 2--name devphone –skin G1
6.添加SD Card。
首先创建镜像文件。用cmd中进入到android的SDK的Tools目录下,执行mksdcard创建。
>mksdcard 1024M sdcard.img
(其中第一个参数为要创建的sdcard容量大小(容量大小自己决定),第二个参数为sdcard的名字)
然后,启动带sdcard的Android模拟器
>emulator-sdcard sdcard.img
我使用的时候,发现用上述命令总是提示错误。按照cmd的提示,改为emulator –data sdcard.img。不过貌似启动很慢,而且手机内存和sd卡内存(磁盘虚拟)也会调整,开始以为可以了,结果发现死机了。~~~~(>_<)~~~~
最后根据提示,命令中加入模拟器名,emulator –avd [你的模拟器的名
字]-sdcard sdcard.img,就启动了模拟器。(估计是我电脑有多个模拟器,所以命令就不知道怎么执行了)
7.在模拟器上安装android 程序。
Windows>navigation>next perspective>DDMS>选中file explorer 可以看到Android手机模拟的系统文件。有个SDcard的文件夹即为SD卡内容。点选一个手机图标即可将android程序下载到“手机”(通过这种方法,还可以添加图片,MP3等。也可从手机上传到PC,用即可)然后像操作手机一样安装程序即可。你可以试试安装“愤怒的小鸟”“植物大战僵尸”等游戏。在PC上体验android。
说明:如果你的手机模拟器上没有装文件浏览器。是看不到文件的。解决的办法是:可以你先在在cmd中安装浏览器,adb install ***.apk。安装文件必须在cmd的当前目录下,不然cmd找不到的。
8.屏幕截图。在Windows>navigation>next perspective>DDMS>Device窗口中有个Screen capture 图标。点选即可将手机模拟器的屏幕内容截取下来。9.JAVA语法
10.Package:
当一个大型程序交由数个不同的程序人员开发时,用到相同的类名是很有可能的,那么如果发生了这样的事件我们该怎么办那?,在我们java程序开发中为了避免上述事件,提供了一个包的概念(package),那么既然有了这样一种方法能避免上述事件.11.Native。在JAVA中 native关键字表示一个方法只可以调用,但是不能编写!
12.将C写的动态库变成Java所用:
Native方法,native是一个本地接口。
1、在Java中声明native()方法,然后编译;
2、用javah产生一个.h文件;
3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);
4、将第三步的.cpp文件编译成动态链接库文件;
5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。
13.Java关键字final
final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非
抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法只是用来标识这个引用不能被修改。
14.R.java
R.java是ATD自行产生的,ID号都是唯一的,如果不熟悉,最好是不要动这个里面的东西,这个类里面通常定义的都是project的一些resource信息,attr、drawable、id、raw、layout、string以及xml等
15.在Java中,通过关键字extends继承一个已有的类。New创建对象。
16.创建对象是可直接用button,EditText,TextView,Handler等关键字,17.修改程序图标:把res文件夹的drawable文件夹中的icon.Png替换成自己的icon即可。
最后
Android也可以不用JAVA语言,而采用经典的C&C++开发。基于的原理也就是第12点讲到的,将程序的实现代码用C(C++)写好后,封装成库,再使用native方法调用,即JNI,JAVA native interface。(开发环境为DNK Native Development Kit)。
麻烦!还不如新学JAVA,以后肯定用得到的。
Android应用程序开发入门
1.界面
目前的ADT 版本提供了预览界面的功能,但尚未提供方便地视觉化拖拉界面元件的开发工具。以后也许ADT 会加入完整的GUI 拖拉设计工具。所以当前设计都是在res下的layout下的main.xml修改界面描述语言。
2.
第三篇:学习心得:学习Android开发技巧
学习心得:学习Android开发技巧
曾经有在千锋3G学院学习Android开发的我,现将自己的学习心得分享如下,希望能够给更多有这方面学习的网友提供相关信息。
回想起这几个月的学习,使自己对Android开发系统有了更加系统、更加全面的认识,并且使自己的技术水平有了进一步的提高,能在社会上成为更加有竞争力的人。
在千锋的四个月的学习让我懂得了很多,开始的Java基础讲的很细,讲解的不是很快,这样可以让有基础的更好的复习,也可以让没有基础的更容易接受;之后是Android基础,这个阶段主要是让自己了解Android的各种控件的使用,为以后的项目开发打下基础;第三个阶段是项目开发,这一个阶段是最锻炼人的,可以把学到的东西都联系起来,然后进行更好的应用。最后就是就业阶段,就业部的老师都很认真负责,在我毕业前就让我开始为后面的找工作做准备,简历制作好好后又经过老师的改正,让我的简历更有机会被公司选中,还给我讲了一些面试中遇到的问题该怎么去回答。
经过这四个阶段,我学习到的不仅仅是专业的知识,也让我简单的了解到上班的状态,并深刻的体会到细节决定成功的真谛。
学习可以使我们的人生变得更加美满充实。路是自己走出来的,能否走出属于自己的一片天空,全在于自身的努力与坚持,我相信成功总是会留给那些有准备的人。做出你的选择,尝试走出第一步,成功将不会遥远。
同时还要感谢千锋的老师们,他们在我最迷惘的时候给我一些正确的向导!
第四篇:android面试题
选择题(包括多选)
1.下列哪些语句关于内存回收的说明是正确的?
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
2.下面异常是属于Runtime Exception 的是
A、ArithmeticException
B、IllegalArgumentException
C、NullPointerException
D、BufferUnderflowException
3.Math.round(-11.5)等于多少
A、11 ,-11
B、11 ,-12
C、12 ,-11
D、12 ,-1
24.下列程序段的输出结果是:
void complicatedexpression_r(){
int x=20, y=30;
boolean b;
b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
System.out.println(b);
}
A、true
B、false
C、1
D、011.activity
5.对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行
A、onPause()
B、onCreate()
C、onResume()
D、onStart()
6.Intent传递数据时,下列的数据类型哪些可以被传递
A、Serializable
B、charsequence
C、Parcelable
D、Bundle
7.android 中下列属于Intent的作用的是
A、实现应用程序间的数据共享
B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失
C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D、处理一个应用程序整体性的工作
8.下列属于SAX解析xml文件的优点的是
A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能
B、不用事先调入整个文档,占用资源少
C、整个文档调入内存,浪费时间和空间
D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会
消失
9.在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是()
A、getWriteableDatabase()
B、getReadableDatabase()
C、getDatabase()
D、getAbleDatabase()
10.android 关于service生命周期的onCreate()和onStart()说法正确的是
A、当第一次启动的时候先后调用onCreate()和onStart()方法
B、当第一次启动的时候只会调用onCreate()方法
C、如果service已经启动,将先后调用onCreate()和onStart()方法
D、如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法
11.下面是属于GLSurFaceView特性的是
A、管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图view上。
B、管理一个EGL display,它能让opengl把内容渲染到上述的surface上。
C、让渲染器在独立的线程里运作,和UI线程分离。
D、可以直接从内存或者DMA等硬件接口取得图像数据
12.下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的A、
android:name=“android.provider.action.NewBroad”/> B、 android:name=“android.provider.action.NewBroad”/> C、 android:name=“android.provider.action.NewBroad”/> D、 android:name=“android.provider.action.NewBroad”/> 13.关于ContenValues类说法正确的是 A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型 B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型 C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型 D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型 14.我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是 A、onDestroy() B、onClear() C、onFinish() D、onStop() 15.下面退出Activity错误的方法是 A、finish() B、抛异常强制退出 C、System.exit() D、onStop() 16.下面属于android的动画分类的有 A、Tween B、Frame C、Draw D、Animation 17.下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是 A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念.B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念.C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念.D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念.18.Android项目工程下面的assets目录的作用是什么 A、放置应用到的图片资源。 B、主要放置多媒体等数据文件 C、放置字符串,颜色,数组等常量数据 D、放置一些与UI相应的布局文件,都是xml文件 19.关于res/raw目录说法正确的是 A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B、这里的文件是原封不动的存储到设备上会转换为二进制的格式 C、这里的文件最终以二进制的格式存储到指定的包中 D、这里的文件最终不会以二进制的格式存储到指定的包中 20.下列对android NDK的理解正确的是 A、NDK是一系列工具的集合B、NDK 提供了一份稳定、功能有限的 API 头文件声明。 C、使 “Java+C” 的开发方式终于转正,成为官方支持的开发方式 D、NDK 将是 Android平台支持 C 开发的开端 问答题: 1.系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。 2.Activity和Task的启动模式有哪些? 每种含义是什么? 3.SQLite支持事务吗? 添加删除如何提高性能? 4.对Intent、Activity、广播、Service等的理解 5、handler机制的原理 个人简历 个人信息 姓名:XXX 年龄:XX 学历:本科 联系电话:186XXXXXXX 个人技能 1.熟练掌握JAVA面向对象编程语言,有良好的编码习惯; 2.熟悉jsp、javascript、servlet、javaBean进行web应用开发,了解jQuery,ajax等技术; 3.能使用Struts2、Hibernate、Spring等开源框架技术; 4.熟练操作SQL sever、MySQL数据库,熟悉SQL语句; 5.熟练掌握Android adt编程环境和调试流程; 6.熟练掌握Android的4大组件和5种常用布局; 7.熟练Sqlite、File、SharePreference等存储方式; 8.熟练使用xml、json等解析技术; 9.熟悉编程软件环境配置,熟练运用Eclipse和MyEclipse等编程软件。 教育培训 2009年9月——2013年6月 2012年2月——2012年5月 项目经验 1.Android选课系统 描述:一款基于Android平台的选课软件,通过软件访问WEB短的服务器进行操作,web端采用servlet实现,能进行课程的查询、添加、删除。 2.基于SSH的论坛 描述:实现简单的注册登录功能,用户可创建自己的论坛并有管理权限,会员可发帖,帖子有回复功能,版主可管理自己的帖子。 自我评价 我有一颗积极向上的心,对于软件开发有较大兴趣。喜欢运动,热爱生活,热爱学习。诚实做人,踏实做事是我的做人原则。有较强的团队意识,比较善于团队合作。我坚信,努力不一定会成功,但肯定会有收获。我期待这个收获的过程。我将投入自己全部的激情,努力奋进。 XX大学软件工程 XXXXXAndroid软件开发 性别:X 籍贯: 山东XX 专业: 软件工程 E-mail:XXXXXXX@126.com第五篇:Android简历