第一篇:Android 个人总结
Android 个人总结
通过本学期的的学习,我知道了android是由google开发的一款手机平台,android的基本架构是基于linux内核,由内核向外的反别为库和应用架构,然后就是我们手机上的可视化应用了,android是一个系统,但是并非是操作系统。
在开发之前,我们首先要搭建一个开发环境,用的是java编程的eclipse,我们从网上下载sdk包,里面包含了android开发常用的工具,android既是手机操作系统,也是跨平台(windows,mac,linux)的开发工具,虽然是使用linux为核心的平台,但是你可以在很多地方感觉到类似做网页开发的感觉。具有本身独特的进程管理方式,完整的上网功能,搭配了google地图,Gmail等服务,即使像我们这些尚未入门的开发者也能开发出自己理想的应用程序来。
刚开始的时候,得知android开发需要使用java语言心里了小小的畏惧,但随着学习的渐渐深入就会发现android平台只是使用了java的语法而已,所以,即使我们不具备java语言开发的基础,也可以放心地加入到android开发当中来。
第一节课,老师向我们详细介绍了开发界面右边窗口的内容,首先是src目录,里面包含了我们开发界面的java文件以及各种我们创建的类组成的开发包。然后是gen目录,里面涵盖的是系统的类文件(如R.java,Buidconfig.java)与android系统的依赖文件(Android Dependencies)。再下来是assets(用户资源文件),里面文件的访问是通过文件路径的形式调用。Bin文件里面包括了res资源文件,android项目配置文件androidmanifest以及我们开发之后产生的后缀为.apk的应用程序文件。Res是系统资源目录,我们要用到得图片资源,颜色资源,字符串资源都在里面。一般的开发都要用到界面文件也包含在里面。
Eclipse具有史上超豪华的手机控件,包括常用的文本文件,文本框,按钮,进度条等,还有特殊形式的email,gmail文本框,在开发过程当中,很多控件都是以拖拉的形式拖拽到开发界面上,大大地减少了我们开发时候的工作量,在配置文件中,我们可以添加各种各样的系统动作,以及系统服务,还可以建立用户自己的文件库。
当我们开发完成的时候,就可以运行手机模拟器,在上面,我们可以像操作当今市场上最流行的android手机一样操作我们的模拟器,可视化的界面可以我们随心所欲地下载我们开发的应用程序到模拟器上,就可以实现步步跟进,想要修改哪里就一目了然了,模拟器上人性化的设计界面大大方便了用户与机器之间的交流。如果我们拥有一部android系统的手机的话,就可以把自己开发的应用程序下到手机上,看到自己的成果,顿生成就感,真的很有乐趣。也加大了我对学习android的信心。
总体来说,学习android就要不怕困难,迎难而上。Android不久可以满足自己的成就感,还可以在未来的生活中找到自己理想的工作。用别人准备好的各种类,包来开发出自己独特风格的应用程序,既省时又省力,何乐而不为呢。在这里,要感谢曾老师对我的栽培和关怀,他教给了我知识,使我在学习的时候少走了很多的弯路,也增加了我对未来工作的信心。
第二篇:Android实习个人总结
个人实习总结
专 业: 软件工程
班 级: 软件4班
学 号: 20122712
姓 名: 魏仁斌
组 别: 第4小组
2015年8月
时间过得真快,在华迪的实习一转眼间实习时间就过了。在这十几天时间里,我学到了很多在学校了学不到的东西,也认识到了自己很多的不足,感觉收益非浅,以下是我在实习期间对工作的总结以及一些自己的心得体会。
作为一名刚刚接触专业知识的大学生来说,如果在学习专业课之前直接就接触深奥的专业知识是不科学的,为此,学校带领我们进行了这次实习活动,让我们从实践中对这门自己即将从事的专业获得一个感性认识,为今后专业课的学习打下坚实的基础。实践是大学生活的第二课堂,是知识常新和发展的源泉,是检验真理的试金石,也是大学生锻炼成长的有效途径。一个人的知识和能力只有在实践中才能发挥作用,才能得到丰富、完善和发展。大学生成长,就要勤于实践,将所学的理论知识与实践相结合一起,在实践中继续学习,不断总结,逐步完善,有所创新,并在实践中提高自己由知识、能力、智慧等因素融合成的综合素质和能力,为自己事业的成功打下良好的基础。
通过此次实习,我仿佛自己一下子成熟了,懂得了做人做事的道理,也懂得了学习的意义,时间的宝贵,人生的真谛。明白人世间一生不可能都是一帆风顺的,只要勇敢去面对人生中的每个驿站!这让我清楚地感到了自己肩上的重任,看清了自己的人生方向,也让我认识到了工作应支持仔细认真的工作态度,要有一种平和的心态和不耻下问的精神,不管遇到什么事都要总代表地去思考,多听别人的建议,不要太过急燥,要对自己所做事去负责,不要轻易的去承诺,承诺了就要努力去兑现。
我知道工作是一项热情的事业,并且要持之以恒的品质精神和吃苦耐劳的品质。我觉得重要的是在这段实习期间里,我第一次真正的融入了社会,在实践中了解社会掌握了一些与人交往的技能,并且在次期间,我注意观察了前辈是怎样与上级交往,怎样处理之间的关系。利用这次难得的机会,也打开了视野,增长了见识,为我们以后进一步走向社会打下坚实的基础。
在实习中,我们项目小组的工作任务是开发一个婚恋信息管理系统。此次我在项目小组中担任的是PM即项目经理的职务,担任这个职务对我来说是一个不小的挑战。我们小组在确定任务之后进行了明确的项目分工然后开始了我们各自的任务。
在这过程中我在专业知识上得到了很多的进步。
我学到了很多关于软件行业的知识,重新了解了很多知识,对Java编程语言有了跟加深刻的了解,同时学到了Android编程技术,并且对数据库有了新的认识。
我了解了在软件开发之中编写代码有一个良好的习惯是多么的重要。因此规范的编码在软件开发之中是必不可少的。良好的编码习惯会增强代码的可读性,是的开发的软件具有很高的维护性,会使得我们的工作事半功倍。
我还体会到了要开发一个项目进行正确的计划与管理是多么的重要。软件开发过程是一个十分严谨的过程,每个阶段都拥有分厂明确的任务,而我作为项目经理,因此需要我对我们的项目有一个足够的了解。然后对小组成员进行正确的任务分工,明确每个人的任务,大家共同努力完成我们的计划。
在公司实习不同于在学校学习,在学校我可以很自由,很散漫,可以根据自己的喜好做自己想做的事。然而在公司实习我就不再只是一个学生,而是一个公司员工,我必须要都对自己的一言一行负责。实习期间,我从末出现无故缺勤。我勤奋好学.谦虚谨慎,认真听取老师的指导,对于别人提出的工作建议虚心听取。并能够仔细观察、切身体验、独立思考、综合分析,并努力学到把学样学到的知道应用到实际工作中,尽力做到理论和实际相结合的最佳状态,培养了我执着的敬业精神和勤奋踏实的工作作风。也培养了我的耐心和素质。
在实习工作中,我了解到了与人沟通合作是多么的主要。我作为项目经理这方面尤为明显。我每天都需要与组员沟通了解组员的工作完成进度,分配各自的任务并且对工作中出现的问题进行处理。此次的实习任务比较艰巨由于小组成员较少,我们的工作量比较大,所以团队合作非常的重要。软件开发不是有一个厉害的人就可以很好地完成,同时也并不是人多就可以做好。必须是作为一个团队大家一起努力,按照进度有计划地进行。只要团队之中有任何一个人没有完成任务,那就会导致整个项目无法正常进行。
我想,通过这次实习让我认清了自己的很多不足和缺点。第一个就是缺乏工作经验。因为自己缺乏经验,很多问题而不能分清主次,还有些培训或是学习不能找到重点,随着实习工作的进行,我想我会逐渐积累经验的。第二是工作态度仍不够积极。在工作中仅仅能够完成布置的工作,在没有工作任务时不能主动要求布置工作,若没有工作做时就会松懈,不能做到主动学习,这主要还是因为懒惰在作怪,在今后我要努力克服惰性,没有工作任务时主动要求布置工作,没有布置工作时作到自主学习。
扎实的专业知识是提高工作水平的坚实基础.在学校学习专业知识时,可能感觉枯燥无味,但当工作以后,才会发现专业知识是多么的重要,因为在日常工作中要处处用到。要想提高我的工作效率,工作质量,很多知识只是知道是远远不行的,而是要精通。作为一个IT人员必须要有过硬的专业知识,要拥有较强的学习能力。时代在不断的发展,不断地进步。而信息行业的变化更是无比迅速。所以我们每时每刻都不能停下学习的脚步,我们只有通过不断的学习来充实自己,完善自己,才能在工作中更好地发挥自己的水平。
通过这一段时间的实习,从中获得的实践经验使我终身受益,我相信我在这次实习中的收获会在我以后的实际工作中不断地得到印证,我会持续地理解和体会实习中所学到的知识,期望在未来的工作中把学到的理论知识和实践经验不断的应用到实际工作中来,充分展示我的个人价值和人生价值,为实现自我的理想和光明的前程而努力。在这十几天时间里,我受益非浅,收获良多。我不仅学到了许多关于专业的知识,最重要的是进一步体会到了做人的原则。作为一个公司员工,我们需要规规矩矩做人、踏踏实实做事。在公司工作,就是进入了社会,在公司之中我们做人一定要正直、要实事求是,诚以待人,人品对一个人来说非常重要的。我充分的体验到了你如何待人,他人也会如是回报。总之,在实习的十几天时间里,我们脱离了学校的庇护,开始接触社会、了解我们今后工作的性质。不但增长了专业知识,还学习到了不少为人处事的方法。
回想自己在这期间的工作情况,不尽如意。对此我思考过,学习经验自然是一个因素,然而更重要的是心态的转变没有做到位。现在发现了这个不足之处,应该还算是及时吧,因为我明白了何谓工作。在接下来的日子里,我会朝这个方向努力,我相信自己能够把那些不该再存在的“特点”抹掉。感谢老师们在这段时间里对我的指导和教诲,我从中受益非浅。
本次实习使我第一次亲身感受了所学知识与实际的应用,理论与实际的相结合,让我们大开 眼界,也算是对以前所学知识的一个初审吧!这次生产实习对于我们以后学习、找工作也真是受益菲浅。在短短的十多天时间里,我初步让理性回到感性的重新认识,也初步的认识了这个社会,对于以后做人所应把握的方向也有所启发。
这十几天不仅仅是去工作,更重要的是学到了一种工作方法,一种工作态度,一种应对不同问题的经验,一种面临难题的解决思路,当然也注意到了一些自身的问题,意志不够坚定,中途有退出的想法,遇到问题有畏难情绪,但我最终还是坚持下来了,总的来说实习还是收获不少。
我很感谢学校以及实习单位给我们安排这次实习,让我学到了很多在学校所学不到的东西.让我学会了如何与人相处,学会了面对困难,学会了独立思考问题,从中收获了毅力,收获了一份坚持。
我会把这此实习作为我人生的起点,在以后的工作学习中不断要求自己,完善自己,让自己做的更好。
第三篇:Android总结
Android四大组件:
Activity—表现屏幕界面
Service—后台服务
BroadcastReceiver—实现广播机制
ContentProvider—实现数据存储
Intent类:用来启动程序并传递信息的类
用于Activity、Receiver、Service之间进行交互的类,通过无参构造方法创建对象,增加其action、category、data、extra等属性进行信息传递,并通过Activity中的startActivity(Intent intent)进行界面的跳转;通过Context中的StartService(Intent intent)进行服务跳转;通过Context中的registerReceive(Intent intent)对广播进行注册,并通过sendBroadcast()进行无序消息发送,或可以通过SendOrderedBroadcast()进行有序的消息发送。Handler类:
用来发送和处理消息,并配合主线程完成UI的更新;消息Message/Runnable传递通过MessageQueue(消息队列,先进先出)进行传递,并通过Lopper进行接收,传递的消息可以为Message对象,也可以是Runnable对象;接收方法通过HandleMessage(Message msg)进行获取。SharedPreferences类:
一般用于第一次登录时的设置,或者是各个界面的一些小型格式设置,如字体等。是本地的小型共享数据库,可以通过Context的静态方法getSharedPreferences获得其对象,对象内的值均为键值对进行储存。通过SharedPreferences对象调用editor()获取SharedPreferences.Editor对象,向共享数据库中增加数据,putString(),并提交数据,commit();通过SharedPreferences对象获取共享数据库中的数据,getString()。
ViewPager:实现界面滑动的类;
通过设置OnPagerChangedListener设置ViewPager的监听事件;
实现流程:
①布局文件中设置ViewPager控件;
②代码中进行绑定控件;
③通过继承PagerAdapter抽象类进行设置适配器,并传递数据源;
④适配器中实现两个抽象方法,两个重写方法:getCount()—获取滑动界面的数量,isViewFromObject()—判断视图是否是来自于Object文件中;重写两个方法,分别为destoryItem—销毁指定位置的视图;InstantiateItem(),设置指定位置的视图;
Timer与TimerTask类:
Timer为计时器的类,通过无参构造方法可以获取对象,通过Timer.schedule(TimerTask task,long time)进行设置多久后执行某任务,当任务执行完后,取消计时的功能,Timer.cancle();TimerTask类为抽象类,实例化时,必须重写run方法;执行的内容,均在run方法中进行设置,并且执行时,已在子线程中进行执行。自定义View:用到的类有Paint、Canvas、Spec、SpecF、Path、View.MeasureSpec、Timer、TimerTask;
抽象类,通过子类继承,获取对象;在布局文件中绑定后,通过代码,设置自定义View的属性;自定义View中,通过重写OnMeasure方法,对布局文件中的尺寸进行测量,并由View中的setMeasureDimenson()方法,进行数据的保存;通过重写Ondraw方法,进行绘图;当需要绘制动态图形时,使用计时器Timer的schedule(TimerTask,long time,delay time2)方法,在time时间后,每隔time2时间,重写执行run方法中的内容;将耗时的操作设置在run方法中,并通过View中的invalidate()方法刷新主线程中的绘的图形,通过postInvalidate()刷新子线程中的图形。数据库:
常用的数据库有Oracle,需要安装和配置的大型收费数据库;MySQL是中型数据库,同样需要安装配置,但不需要收费;Sqlite是小型免费的嵌入式数据库,占用内存低,最新版本为3.0。Sqlite数据库需要通过SqliteDatabaseOpenHelper进行创建数据库,并通过SqliteDatabase进行数据库的操作。辅助类是抽象类,通过继承,重写两个方法,并在子类的构造方法中通过OpenHelper的构造方法(Context context,String SqlName,SqliteDatabase.CursorFactory factory,int version)进行数据库的创建,在onCreate方法中,进行数据库表的创建,在onUpdate中进行数据库的版本更新。在数据库的操作类中,执行exect方法,通过sql语句对数据库进行操作。Create table student(_id integer primary key auto increament ,name text);insert into student(_id,name)values(1,zx);delete from student where _id=1;update student set _id=2 where name=zx;select *from student;ListView、GridView适配器的优化:
将布局文件中的控件进行封装,当视图加载时,判断可变视图是否存在,当不存在时,通过布局文件获取视图,并新建封装类,将地址通过setTag()进行发送;当视图存在时,重复利用地址—getTag()。反射:
存储数据的方式:
共享数据库、数据库、文件、网络、内容提供者
广播:
广播传播时,需要接收者、发送者、广播频道;根据发送者的发送方式不同,分为有序广播、无序广播;有序广播为接收者有接收顺序,根据设置的优先级不同,确定先后顺序,接收者同时也是发送者,向后面的广播发送消息,发送过程中,可以添加信息,也可以停止广播的传输;无序广播,接收者之间无联系,均从发送者处接收信息;广播在传输过程中,不能被添加信息,也不可能被停止。广播在发送前,需要对接收者进行注册,注册方式有两种,动态注册、静态注册。动态注册,是在代码中进行,通过Context对象调用静态方法进行注册,所有的广播均可以用动态注册,其生命周期依赖于应用,相对于静态注册,比较节省内存;静态方法在清单文件中进行注册,部分系统广播不能通过静态注册进行,其生命周期依赖于系统,当系统启动,即运行接收广播,较耗内存。广播接收者需要继承BroadcastReceiver,并实现抽象方法onReceive(),通过回调接口,进行数据的传输。注意:广播发送前,必须进行接收者的注册,并且,当显示跳转时,不需要意图过滤器。安卓布局:九种布局
线性布局,水平或垂直方向两种格式,主要特点为权重,即规定各控件在视图中的占有的比例;
相对布局,相对于父控件或兄弟控件的布局,各控件需指定相对位置; 绝对布局,指定各控件在视图中的绝对位置,几乎不再使用; 表格布局,子布局放在行中,列由控件表示(TableRow); 帧布局:覆盖前面布局的布局,一般用于暂停按钮等; 风格布局:可以跨行、跨列的布局,占满换行;
左右侧滑:可以实现左右侧滑,通过设置主菜单和二级菜单设置左右两个菜单; 下拉刷新:设置下拉刷新、上拉加载的功能; 抽屉布局;
安卓版本及对应的API:
1.6—4;2—7;3—11;4—15;4.3—18;5—20;5.1—21;6—23;7—25; 安卓四层架构:
应用层:Java语言开发,主要从事App开发;
运行库层:Java语言与C语言,View视图、管理类等的开发; 架构层:C语言与Linux语言,各种框架、浏览器等; 内核层:Linux、C语言,开发各种驱动; 安卓四大组件:
Activity:界面,实现程序与用户之间的交换,有自己的生命周期,七个生命周期;4种启动模式 Service:
BroadcastReceive:三要素,发送者、接收者、发送频道(Intent);类型:有序(接收有序,有数据传送,可以拦截数据)、无序广播(相对);注册方式:静态注册,持久监听,占用内存比较高生命周期跟随系统,动态注册(代码中),所有广播都可以动态注册,部分系统广播不能动态注册,临时监听,占用内存较少,生命周期随应用进行;
ContentProvide:不能存放数据,五种存放数据方式之一,特点为:①为数据的获取等操作添加一个统一的接口②可以实现跨应用访问数据;③可以实现Android中通讯录、消息、音频、视频等的访问或操作;通过ContentReceive进行数据的访问,可以对数据进行增删改查操作。
动画: IO流: 序列化: AlertDialog:
Set实现类: 手机电量检测:
自定义SurfaceView:
自定义View:三个构造方法的区别
Message:Handler.obtain/new/Message.obtain
HttpUriConnection访问网络
gride 异步任务 动画
抽象类和接口 反射 克隆 序列化 侧滑的实现 数据库 Socket:
Gson解析
异步任务和子线程区别 WebView 版本更新 照片的圆角化
Collection与Collections Sql语句
MVP框架与MVC: TCP与UDP的区别: 一键分享的流程: Http协议的理解: 不使用框架访问网络: List集合与set集合: 自定义View的流程: 线性布局的特点: ViewPager的原理: 服务的启动方式:
Activity的启动方式: Xml数据解析:
第四篇:个人面试android面试总结.
本人面试过程部分有价值的题目摘录如下:仔细想想答案都很简单
不全但是有一定的代表性
去的几家公司都是外包,项目紧急不会去看你项目上的那些小应用,能干活就行。
外包IBM:考得很基础,但是没真正的经验平时不会去记
1>dip设备独立像素
这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素
480*320(160dpi):10*10dip = 10*10px 840*480(240dpi): 10*10dip = 15*15px Pixs = dips *(density / 160)2> WVGA、HVGA和QVGA 屏幕标准
3>屏幕适配.(实际项目中不会提供三套drawable图片资源)Android对于屏幕适配的解决方案分析 图片适配:9.png 其他适配: 1.Android将UI设计部分和代码逻辑部分分离开来,独立成一个XML文件,方便开发人员修改。
2.使用的长度单位是密度而不是像素。像素是自适应的大敌,固定了绝对坐标的像素值,就别想再好好安心地让它自个儿适应屏幕了。Android推荐使用dp作为长度单位。dp会根据手机的分辨率而自动调整大小。3.布局器功能强大。Android的布局器分为五种:LinearLayout,提供水平/垂直平铺的布局器;TableLayout,提供行和 列的的布局;FrameLayout,帧布局器,提供分层的布局;AbsoluteLayout,使用绝对坐标来定义控件的位 置;RelativeLayout,布局器中的控件用相对位置来布局。布局器的大小有自适应内容和与父控件相同两种。这些布局器完全可以承担起程序中基本 的布局要求。
4.Android中有一个密度的概念,表示每英寸有多少个显示点。当没有与手机分辨率相匹配的屏幕适配方案时,会根据手机的屏幕密度选取一个最接近的屏幕密度的适配方案,这样会让图片的失真达到最低。
5> Include使用与传参 组件复用
6>横屏竖屏切换处理
主要是切换时生命周期方法(结合你在项目中的应用)
7>应用程序放在真机什么目录下 以及常见的目录有哪些 系统应用程序 system/app 自己安装的应用 data/app
8> 你们项目需求怎么做的,请描述下
奥信面试:(主要是他们公司项目中的东西,演示功能问怎么实现)ImageView点击后更改背景色
Xml:selector + item
下载后回到刚刚的页面更新页面ListView对应Item的图标
1.startActivityForResult
2.下载完成发送广播
从网络上下载大图片
(可以作为项目难点陈述)ListView异步加载图片 +缓存()
Handler + 线程池 + 开启内存缓存(SoftReference)
Handler + 线程池 + 保存文件到SD卡上
书架的实现
平时多线程用到哪些(区分两种方法的特点)Handler
AsyncTask
Canvas画图用法
自定义控件使用(很经常问到)
Android应用程序生命周期(区分与Android组件的生命周期)被请求时实例化,系统内存不足被清理
Activity的启动模式
Standard singleTop singleTask singleInstance 网络7层模型 Tcp/ip(分别位于那一层)
应用层 表示层 会话层 传输层
网络层 数据链路层 物理层
常用设计模式(非重点 能答更好)简单工厂,抽象工厂方法,代理模式,…
华讯财经: 主要是简历上写的项目
由于项目都从头到尾敲的没啥好讲的属于闲聊吹牛的公司。
支付宝面试过程(电面主要问j2ee):
Activity中onCreate(),onStart()方法都会执行为什么不合并为一个方法
Activity的onCreate()中启动Service,那么onCreate()中的代码与Service中onStart()方法中的代码所在线程关系
耗时操作问题(主要考虑线程关系)
项目中的难点
完成!!
Android中MVC设计模式的理解
UI布局相关
一口气说出有哪几种布局(每种布局特点)对Http协议的理解 post/get特点 TCP/ip 多线程上传下载
第五篇:个人总结 android实训
个人总结
这是进入大学以来的第二次实训。这次实训的主要内容是APP开发,所选择的平台是android平台。老师在第一堂课的时候也就说过我们现在离一个开发人员所要求的水准相差十万八千里,所以通过这一周的实训,我只是了解到了开发APP的一个基本框架。首先要配置java环境变量,人后再进行一些界面上的操作。用Eclipse当作集成开发环境来使用,我感觉在操作过程中,编写代码才是重点,老师在课堂上向我们进行演示,但是抄写代码过后还是出现了很多的错误,但是Eclipse平台上检查错误变得更加便当,更加智能化的检索并更正错误。
由于这次实训的时间很短,当我刚刚开始对android有点入门的时候,实训却就要结束了,这次实训学到了很多,但是难一点却还有些不知道。这次实训比上次要累很多,但是我相信,付出就一定会有回报。
xxx
2015年4月