android学习心得Word文档格式.docx
《android学习心得Word文档格式.docx》由会员分享,可在线阅读,更多相关《android学习心得Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
选择「general->
existingprojectsintoworkspace」项目,然后按下「next」按钮带到新一个画面。
在「selectrootdirectory」栏位旁,按下右方的「browse...」按钮,选择对应的工程。
选择好后,按下「finish」按钮完成从现存在工作环境(workspace)资料夹下的工程汇入到eclipse环境的动作。
2.修复工程。
如果发现开启后的资料夹图示上有个小小的黄色惊叹号,表示工程导入后还有些问题,我们可以使用adt内建的功能来试着修复。
在「packageexplorer」的「apidemos」工程档桉夹图示上点选右键,androidtools->
fixprojectproperties
3.新建模拟器
一种方法是在windows的运行>
cmd中。
在windows的“运行”->
cmd中启动androidemulator。
首先,设置环境变量。
在windowsXX,xp,XX这些操作系统里,点选「我的电脑右键>
属性>
高级>
环境变数」。
在「系统变数(s)」栏中,选取「path」变数名称后,再点选「编辑(i)」按钮。
加入你的android-sdk-windows的安装路径(因个人电脑而异):
在弹出的视窗中将「;
d:
softwareeclipseandorid开发套件android-sdk-windowstools」(注意要以分号隔开)这字串添在原本的字串之后,按下确定后重新启动操作系统。
其次,开始>
运行>
cmd:
输入如下命令
>
androidlisttargets列出模拟器类型
androidcreateavd--target1--nameandroid2.2新建模拟器(「--target1」参数的意思是这个模拟器使用id为1的模拟器类型,「--namecupcake」参数的意思是将这个建立的模拟器命名为android2.2)
androidlistavd查看已有的模拟器。
另一种简单的方法是在eclipse集成开发平台上。
windows>
androidsdkandavdmanager>
new>
?
4.换屏。
在windows操作系统上按下「ctrl」和「f12」可以切换模拟器屏幕,直屏&
横屏。
5.换外观。
还可以添加android手机的模拟器外观,如g1的。
实现方法:
先下载g1外观(http:
///),解压后放到即可,执行androidcreateavd--target2--namedevphone–sking1
6.添加sdcard。
首先创建镜像文件。
用cmd中进入到android的sdk的tools目录下,执行mksdcard创建。
mksdcard1024msdcard.img
(其中第一个参数为要创建的sdcard容量大小(容量大小自己决定),
第二个参数为sdcard的名字)
然后,启动带sdcard的android模拟器
emulator-sdcardsdcard.img
我使用的时候,发现用上述命令总是提示错误。
按照cmd的提示,
改为emulator–datasdcard.img。
不过貌似启动很慢,而且手机内存和sd卡内存(磁盘虚拟)也会调整,开始以为可以了,结果发现死机了。
~~~~(>
_<
)~~~~
最后根据提示,命令中加入模拟器名,emulator–avd[你的模拟器的名
字]-sdcardsdcard.img,就启动了模拟器。
(估计是我电脑有多个模拟器,所以命令就不知道怎么执行了)
7.在模拟器上安装android程序。
navigation>
nextperspective>
ddms>
选中fileexplorer可以看到android手机模拟的系统文件。
有个sdcard的文件夹即为sd卡内容。
点选一个手机图标即可将android程序下载到“手机”(通过这种方法,还可以添加图片,mp3等。
也可从手机上传到pc,用即可)然后像操作手机一样安装程序即可。
你可以试试安装“愤怒的小鸟”“植物大战僵尸”等游戏。
在pc上体验android。
说明:
如果你的手机模拟器上没有装文件浏览器。
是看不到文件的。
解决的办法是:
可以你先在在cmd中安装浏览器,adbinstall***.apk。
安装文件必须在cmd的当前目录下,不然cmd找不到的。
8.屏幕截图。
在windows>
device窗口中有个screencapture图标。
点选即可将手机模拟器的屏幕内容截取下来。
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,javanativeinterface。
(开发环境为dnknativedevelopmentkit)。
麻烦!
还不如新学java,以后肯定用得到的。
android应用程序开发入门
1.界面
目前的adt版本提供了预览界面的功能,但尚未提供方便地视觉化拖拉界面元件的开发工具。
以后也许adt会加入完整的gui拖拉设计工具。
所以当前设计都是在res下的layout下的main.xml修改界面描述语言。
2.
曾经有在千锋3g学院学习android开发的我,现将自己的学习心得分享如下,希望能够给更多有这方面学习的网友提供相关信息。
回想起这几个月的学习,使自己对android开发系统有了更加系统、更加全面的认识,并且使自己的技术水平有了进一步的提高,能在社会上成为更加有竞争力的人。
在千锋的四个月的学习让我懂得了很多,开始的java基础讲的很细,讲解的不是很快,这样可以让有基础的更好的复习,也可以让没有基础的更容易接受;
之后是android基础,这个阶段主要是让自己了解android的各种控件的使用,为以后的项目开发打下基础;
第三个阶段是项目开发,这一个阶段是最锻炼人的,可以把学到的东西都联系起来,然后进行更好的应用。
最后就是就业阶段,就业部的老师都很认真负责,在我毕业前就让我开始为后面的找工作做准备,简历制作好好后又经过老师的改正,让我的简历更有机会被公司选中,还给我讲了一些面试中遇到的问题该怎么去回答。
经过这四个阶段,我学习到的不仅仅是专业的知识,也让我简单的了解到上班的状态,并深刻的体会到细节决定成功的真谛。
学习可以使我们的人生变得更加美满充实。
路是自己走出来的,能否走出属于自己的一片天空,全在于自身的努力与坚持,我相信成功总是会留给那些有准备的人。
做出你的选择,尝试走出第一步,成功将不会遥远。
同时还要感谢千锋的老师们,他们在我最迷惘的时候给我一些正确的向导!
popupwindow学习总结
经过一段时间的学习,了解了popupwindow的基本用法,如下:
1、为popupwindow的view布局,通过layoutinflator获取布局的view.如:
layoutinflaterinflater=(layoutinflater)
this.anchor.getcontext().getsystemservice(context.layout_inflater_service);
viewtextentryview=
inflater.inflate(r.layout.paopao_alert_dialog,null);
2、显示位置,可以有很多方式设置显示方式
pop.showatlocation(findviewbyid(r.id.ll2),gravity.left,0,-90);
3、进出场动画
pop.setanimationstyle(r.style.popupanimation);
4、点击popupwindow区域外部,popupwindow消失this.window=newpopupwindow(anchor.getcontext());
this.window.settouchinterceptor(newontouchlistener(){
@override
publicbooleanontouch(viewv,motioneventevent){
if(event.getaction()==motionevent.action_outside){betterpopupwindow.this.window.dismiss();
returntrue;
returnfalse;
教训:
1、popuwindow的大小由下面代码控制;
newpopupwindow(view,viewgroup.layoutparams.fill_parent,
viewgroup.layoutparams.wrap_content);
2、popuwindow.showasdropdown(v);
方法是将popuwindow显示在viewv的左下方;
3、需要顺利让popupwindowdimiss(即点击popuwindow之外的地方此或者back键popuwindow会消失);
popupwindow的背景不能为空。
必须在
popuwindow.showasdropdown(v);
或者其它的显示popuwindow方法之前设置它的背景不为空:
如下面两行代码:
colordrawablecd=newcolordrawable(-0000);
popuwindow.setbackgrounddrawable(cd);
注意这里设置背景并不会覆盖xml文件定义的背景。
4、当有popuwindow.setfocusable(false);
的时候,说明popuwindow不能获得焦点,即使设置设置了背景不为空也不能点击外面消失,只能由dismiss()消失,但是外面的view的事件还是可以触发,back键也可以顺利dismiss掉。
当设置为popuwindow.setfocusable(true);
的时候,加上下面两行设置背景代码,点击外面和back键才会消失。
5、//这里设置显示popuwindow之后在外面点击是否有效。
如果为false的话,那么点击popuwindow外面并不会关闭popuwindow。
当然这里很明显只能在touchable下才能使用。
popuwindow.setoutsidetouchable(true);
零零碎碎的总结:
1.客户端的功能逻辑不难,ui界面也不难,但写ui花的时间是写功能逻辑的两倍.
2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该功能的运行过程写出来.
3.要有自己的知识库,可以是一个工具类,把写过的,看过的好的代码放进去,也可以是一个笔记本软件.因为只有放在知识库里的东西,才是你最重要的财富.
4.如果你想做自由职业者,你需要学英语,因为在国外的盈利比国内多很多.如果你想进大公司,好公司,你需要学英语.你想深入学习android,但中文的android文章太少了,你查查XX,到处都是copy来copy去的hell,所以,你需要学英语.如果你想出国,你需要学英语.
5.http协议要研究透彻.http的信息头有什么信息,分别代表什么,信息体有什么信息,代表什么,都要搞的明明白白.scoket也是一样.
6.在eclipse里的layout文件都有graphicallayout.通过这个好好的把ui调整好.
7.android里的junit每次运行都会打包新的apk到设备上跑.效率非常慢.如果是跟android无关的测试,最好自己建立一个单纯的java项目做测试.
8.面试的时候不要觉得自己提的薪水太高,物以稀为贵明白吗?
不管你的期望薪资多少,都有可能实现,这只是时间问题.
9.如果一家小公司通过猎头找到你,即使公司在小,也比外面那些40,50人的公司还要好.不要觉得公司不行,担心会倒闭.放心吧,至少活1年是没问题的.
10.不要把自己绑在android上,有空也研究下ios(最近小弟就准备研究ios,刚买了6本书...).
11.移动互联网最少还有10年的快速增长.android最少还有两年的快速增长.走android这条路是不会错的.
12.有空多学点开放平台的sdk.比如新浪微博,腾讯微博,淘宝平台,支付宝移动支付平台,快钱移动支付平台等等..这些都是不愁没市场的.
13.即使技术再差,也要发布一个应用到market上去.因为这样你才了解做一个应用的逻辑.
14.每个月拿到薪水省500-1000元出来.这些钱投在买学习资料,去培训班上课...在培训班,花再多的钱也是值得的.
15.你真正的价值在项目经验和对底层的认识上.不要忽略基础知识.
16.如果有空把android的源代码看一下.底层的东西很枯燥,但这些很值得学.
17..程序员其实是艺术家.代码重构和设计模式,是非常非常重要的东西,必须要学
18.不要去维护一个项目,要去做一个项目.
19.一开始不要轻易去大公司,虽然大公司是可以让你呆一辈子的.但你的起点低,以后成就也低.
20:
每天早上提前20分钟上班,5分钟把今天的工作计划写好.15分钟用来看各大it论坛的新闻.
21:
如果以前没做过java,那就把ssh看下,自己搭建一个小服务器.这是为了接私活用.
22:
ps一定要学,接私活用.
23:
多下载市面上好的应用,每天都用,只有这样你才能了解市场.现在所有的apk都可以反编译,看源代码麻烦,但看layout和图片很容易,所以....你懂的.
24.要有羞耻心.
25.老板仅仅要求你把东西做完,需求完成.但你必须对自己要更严格一点.写一段代码,从网上复制一份代码,并不是可以用就行了,你还必须明白他的原理,为什么这样就可以?
这才是对你最有用的地方,这也是你今后薪资增长的保证.
26.要懂得舍得.移动领域发展太快,必要时必须要用钱换时间.不然你会远远落后别人(我之前花了4000大洋去培训班学ios三天).
27.要明白自己想要什么,什么才能最大性价比提高你的能力.对我来说,能让我提高最大的,就是android和ios同时会,并且自己可以做架构设计.
28.看android技术书籍最快的学习方法,先通读一次.然后把书本上的demo一个一个写出来.不要觉得太容易不去写.很多东西都是这样,看起来简单,但做起来难.最后再对照自己写出来的程序代码去理解书本的意思.
29.应用和游戏是2个方向,没有一个公司会同时做游戏又做应用,即使是外包公司,大多也只做一块.专精一个就可以了.
30.每次做完一个项目,要强迫自己做总结,通过这个项目,我学到了什么新技术?
犯了哪些
sb错误?
31.一家小公司,如果有正式财务部,那肯定是正规的,不要担心欠薪问题.如果没有,就说不准了.
bbs.12580life.
现在对于android的学习已有斗个学期了,但它对我来说其实还是一个大大的谜,还有待我去对它一一揭晓。
在还没有学习android这门课之前,当听到别人谈到它时,知道它离我们很近,但是它给我的感觉却是那么的神奇,一直就是在听说着关于android系统怎么怎么的新闻,知道它就在我的生活中,离我很近,我也在用它,但还是总有一种很遥不可及的感觉,觉得它不在我的思想里,所以呢,对于这门课《android系统开发与实践》的学习很是期待的。
在上一个学期快要结束的时候,就听到老师说了一下,说下一个学期我们可能会学习android系统的开发,他还说这个android系统的开发很值得学习,很值得我们去探索,说这个android还一直在开发中,是一项很好玩的系统,当时就很是兴奋了,总是会在想android系统到底是怎样的,它是如何的深入我们的生活,又是如何的到我们所用的这些设备当中的,这一切都让我感到很好奇。
就这样带着一系列的问题走进了这个学期,终于就要与它见面了,这门课也就在这样的背景下,这样的一种环境下走进了我的课堂,它给了我一种兴奋感,对于它的出现,我很是期待的,一开始老师就给我们讲解了一些关于android的知识,也给我们展示了android系统开发的平台,真的给了我一种奇妙的感觉,它不仅有编译,它还有一个模拟器,就和我们用的手机一模一样,上面也有简单的几个图标:
电话、短信等等,真的感觉到了不可思议,感觉到一种神秘,android系统的开发就是在这样的一个平台上完成的,你可以对它进行你想要的修改,只要是你想到的,你都可以支尽情的尝试,这让人兴奋。
这门课的学习从这里就这样开始了,《android系统开发与实践》这本课本它是以讨论android系统平台为基础,并结合实例讲解教程和实践指导类教材。
本书中全方位的讲解了google开放移动应用平台android的各种特性,深入探讨了应用程序的基本组件、界面布局的基础,结合internet实现通讯录的设计和发送短信实例详细介绍了android系统平台开发1
的步骤和方法,从而实现对android系统的平台开发的深入了解。
基于嵌入式技术的android是目前增长速度最快的智能3g手机操作系统,其底层系统是以linux内核为基础,用c语言开发;
中间层包括函数库library和虚拟机dalvik,用c++语言开发;
上层应用软件,包括通话程序,短信程序等,用java语言开发。
所以,要想好好的学习android系统的开发,那就必须掌握c++和java语言,它们都是基础。
android学习并不是那么的容易,你得很努力很认真的去学习,但如果只是浅浅的了解,那就简单得多,但并不是这样的,你得更加深入的去学习,你才算是懂一点。
linux是android开发的基础,linux是一套免费使用和自由传授的类unix操作系统,它速度快,运行稳定,对硬件的配置要求低,兼具了其他系统的优点,最关键是可以免费使用,所以linux得到了迅猛的发展,我们学习android的开发就得了解linux,它常用的一些操作命令是我们必须要理解和掌握的,比如说:
su命令,它是最基本的命令之一,常用于不同用户间切换。
例如,如果登录用户为user1,要切换为user2,则用如下命令——$suuser2就行了;
pwd命令,用于显示用户当前所在的目录;
cd命令,不仅显示当前状态,还改变当前状态,它的用法跟dos下的cd命令基本一致;
ls命令,它跟dos下的dir命令一样,用于建立磁带备份系统,目前广泛用于建立文件发布档案;
gzip命令,用于压缩文件;
mkdir命令,用于建立目录,跟dos下的md命令用法几乎一样的;
cp命令,用于复制文件或目录;
rm命令,用于删除文件或目录;
mv命令,用于移动文件和更多文件;
reboot命令,重启命令;
halt命令,关闭命令。
这些都是我们学习android系统所必须掌握的。
android系统的开发更离不开java,java是一种简单的,面向对象的,分布式的,解释执行的,健壮的,安全的,结构中立的,可移植的,高效率的,多线程的和动态的语言,java在android平台开发中的应用起到了很关键的作用,android的开发需要java的上引动开发工具,eclipse开发工具就是目前最主流的java开发工具,eclipse本身只是一个框架平台,
但是众多插件的支持使得eclipse拥有其他功能相对固定的ide软件很难具有的灵活性,许多软件开发商以eclipse为框架开发自己的ide。
android的学习真的不是那么容易的,就一个平台的搭建就已经难到了我,就这样一个开发平台它得有一个java的环境,还要有ide等等,花了一大半的时间终于搭建了一个框架,它的一些插件必须要在线的升级,就是说必须要有网才行,这是一件很难熬的事,但等到搭建好后,那是一种成就感,通过学习让我知道了android系统也有它的不足之处:
安全和隐私,由于手机与互联网的紧密联系,个人隐私很难得到保护,互联网的深入发展也将会带来新一轮的隐私危机;
运营商仍然能够影响到android手机;
同类机型用户减少:
在不少手机论坛都会有针对某一型号的资源,而