Android实习的个人总结
作为一名刚刚接触专业知识的大学生来说,如果在学习专业
课之前直接就接触深奥的专业知识是不科学的,为此,学校
带领我们进行了这次实习活动,让我们从实践中对这门自己
即将从事的专业获得一个感性认识,为今后专业课的学习打
下坚实的基础。实践是大学生活的第二课堂,是知识常新和
发展的源泉,是检验真理的试金石,也是大学生锻炼成长的
有效途径。一个人的知识和能力只有在实践中才能发挥作用,才能得到丰富、完善和发展。大学生成长,就要勤于实践,将所学的理论知识与实践相结合一起,在实践中继续学习,不断总结,逐步完善,有所创新,并在实践中提高自己由知识、能力、智慧等因素融合成的综合素质和能力,为自己事
业的成功打下良好的基础。
通过此次实习,我仿佛自己一下子成熟了,懂得了做人做事
的道理,也懂得了学习的意义,时间的宝贵,人生的真谛。明白人世间一生不可能都是一帆风顺的,只要勇敢去面对人
生中的每个驿站!这让我清楚地感到了自己肩上的重任,看
清了自己的人生方向,也让我认识到了工作应支持仔细认真
的工作态度,要有一种平和的心态和不耻下问的精神,不管
遇到什么事都要总代表地去思考,多听别人的建议,不要太
过急燥,要对自己所做事去负责,不要轻易的去承诺,承诺
了就要努力去兑现。
我知道工作是一项热情的事业,并且要持之以恒的品质精神和吃苦耐劳的品质。我觉得重要的是在这段实习期间里,我第一次真正的融入了社会,在实践中了解社会掌握了一些与人交往的技能,并且在次期间,我注意观察了前辈是怎样与上级交往,怎样处理之间的关系。利用这次难得的机会,也打开了视野,增长了见识,为我们以后进一步走向社会打下坚实的基础。
在实习中,我们项目小组的工作任务是开发一个婚恋信息管理系统。此次我在项目小组中担任的是PM即项目经理的职务,担任这个职务对我来说是一个不小的挑战。我们小组在确定任务之后进行了明确的项目分工然后开始了我们各自的任务。
在这过程中我在专业知识上得到了很多的进步。
我学到了很多关于软件行业的知识,重新了解了很多知识,对Java编程语言有了跟加深刻的了解,同时学到了Android 编程技术,并且对数据库有了新的认识。
我了解了在软件开发之中编写代码有一个良好的习惯是多么的重要。因此规范的编码在软件开发之中是必不可少的。良好的编码习惯会增强代码的可读性,是的开发的软件具有很高的维护性,会使得我们的工作事半功倍。
我还体会到了要开发一个项目进行正确的计划与管理是多么的重要。软件开发过程是一个十分严谨的过程,每个阶段
都拥有分厂明确的任务,而我作为项目经理,因此需要我对我们的项目有一个足够的了解。然后对小组成员进行正确的任务分工,明确每个人的任务,大家共同努力完成我们的计划。
在公司实习不同于在学校学习,在学校我可以很自由,很散漫,可以根据自己的喜好做自己想做的事。然而在公司实习我就不再只是一个学生,而是一个公司员工,我必须要都对自己的一言一行负责。实习期间,我从末出现无故缺勤。我勤奋好学。谦虚谨慎,认真听取老师的指导,对于别人提出的工作建议虚心听取。并能够仔细观察、切身体验、独立思考、综合分析,并努力学到把学样学到的知道应用到实际工作中,尽力做到理论和实际相结合的最佳状态,培养了我执着的敬业精神和勤奋踏实的工作作风。也培养了我的耐心和素质。
在实习工作中,我了解到了与人沟通合作是多么的主要。我作为项目经理这方面尤为明显。我每天都需要与组员沟通了解组员的工作完成进度,分配各自的任务并且对工作中出现的问题进行处理。此次的实习任务比较艰巨由于小组成员较少,我们的工作量比较大,所以团队合作非常的重要。软件开发不是有一个厉害的人就可以很好地完成,同时也并不是人多就可以做好。必须是作为一个团队大家一起努力,按照进度有计划地进行。只要团队之中有任何一个人没有完成任
务,那就会导致整个项目无法正常进行。
我想,通过这次实习让我认清了自己的很多不足和缺点。第
一个就是缺乏工作经验。因为自己缺乏经验,很多问题而不
能分清主次,还有些培训或是学习不能找到重点,随着实习
工作的进行,我想我会逐渐积累经验的。第二是工作态度仍
不够积极。在工作中仅仅能够完成布置的工作,在没有工作
任务时不能主动要求布置工作,若没有工作做时就会松懈,不能做到主动学习,这主要还是因为懒惰在作怪,在今后我
要努力克服惰性,没有工作任务时主动要求布置工作,没有
布置工作时作到自主学习。
扎实的专业知识是提高工作水平的坚实基础。在学校学习专
业知识时,可能感觉枯燥无味,但当工作以后,才会发现专
业知识是多么的重要,因为在日常工作中要处处用到。要想
提高我的工作效率,工作质量,很多知识只是知道是远远不
行的,而是要精通。作为一个IT人员必须要有过硬的专业
知识,要拥有较强的学习能力。时代在不断的发展,不断地
进步。而信息行业的变化更是无比迅速。所以我们每时每刻
都不能停下学习的脚步,我们只有通过不断的学习来充实自己,完善自己,才能在工作中更好地发挥自己的水平。
通过这一段时间的实习,从中获得的实践经验使我终身受益,我相信我在这次实习中的收获会在我以后的实际工作中不
断地得到印证,我会持续地理解和体会实习中所学到的知识,
期望在未来的工作中把学到的理论知识和实践经验不断的
应用到实际工作中来,充分展示我的个人价值和人生价值,为实现自我的理想和光明的前程而努力。在这十几天时间里,我受益非浅,收获良多。我不仅学到了许多关于专业的知识,最重要的是进一步体会到了做人的原则。作为一个公司员工,我们需要规规矩矩做人、踏踏实实做事。在公司工作,就是
进入了社会,在公司之中我们做人一定要正直、要实事求是,诚以待人,人品对一个人来说非常重要的。我充分的体验到
了你如何待人,他人也会如是回报。总之,在实习的十几天
时间里,我们脱离了学校的庇护,开始接触社会、了解我们
今后工作的性质。不但增长了专业知识,还学习到了不少为
人处事的方法。
回想自己在这期间的工作情况,不尽如意。对此我思考过,学习经验自然是一个因素,然而更重要的是心态的转变没有
做到位。现在发现了这个不足之处,应该还算是及时吧,因
为我明白了何谓工作。在接下来的日子里,我会朝这个方向
努力,我相信自己能够把那些不该再存在的“特点”抹掉。感谢老师们在这段时间里对我的指导和教诲,我从中受益非浅。
本次实习使我第一次亲身感受了所学知识与实际的应用,理
论与实际的相结合,让我们大开眼界,也算是对以前所学知识的一个初审吧!这次生产实习对于我们以后学习、找工
作也真是受益菲浅。在短短的十多天时间里,我初步让理性
回到感性的重新认识,也初步的认识了这个社会,对于以后
做人所应把握的方向也有所启发。
这十几天不仅仅是去工作,更重要的是学到了一种工作方法,一种工作态度,一种应对不同问题的经验,一种面临难题的
解决思路,当然也注意到了一些自身的问题,意志不够坚定,中途有退出的想法,遇到问题有畏难情绪,但我最终还是坚持下来了,总的来说实习还是收获不少。
我很感谢学校以及实习单位给我们安排这次实习,让我学到
了很多在学校所学不到的东西。让我学会了如何与人相处,学会了面对困难,学会了独立思考问题,从中收获了毅力,收获了一份坚持。
我会把这此实习作为我人生的起点,在以后的工作学习中不
断要求自己,完善自己,让自己做的更好。
想要学习移动应用的开发,除了必备的知识要掌握好之外,更多的是要掌握一些核心的基础知识,并且是能够起到关键性作用的知识点,必须是要了解清楚,如果你也是在学习Android开发,下面的核心基础或者对你有一定的帮助! 1.ListView的引入 为什么要采用listview?其实是在数据量过于庞大时,传统的存储方式它是会占用机器大量内存,最终导致OOM异常(内存溢出),listview的出现将会是有效的解决这个弊端的出现。 重点来了listview如何使用呢? res/layout布局文件中定义listview src的java代码里面关心控件findviewbyid(R.id.listview); 创建适配器对象,适配器继承baseAdapter接口 2.构造方法 getCount();控制listview的条目数 getView();得到当前条目视图 View.inflate();布局填充器 设置适配器:setAdapter(adapter); 设置listview列表项的点击事件:setOnClickLinsstener();
通知listview更新数据:adapter.notifyDataSetChanged(); 3.对话框的使用 *普通对话框 *单选对话框 *多选对话框 *进度对话框 *进度条对话框 *自定义对话框 布局填充器:Viewview=View.inflate(Context,https://www.wendangku.net/doc/7f12177951.html,yout.dialog,null); 核心API:dialog.setView(view); 4.常见的一些适配器的使用 *数组适配器:ArrayAdapter *简单适配器:SimpleAdapter 5.数据库的常见的事务 为什么需要需要定义数据库事务?最主要的还是为了保证多条操作语句同步执行 6.数据库事务执行流程 db.beginTransaction();开启事务 db.setTransactionSuccessful();设置事务执行成功 db.endTransaction();结束事务 7.样式和主题 样式的作用在单独的UI控件上面 主题的作用它是在activity或者application上 以上的这些功能控件、数据库等这些是开发中必备的功能,在开发中只要这些基本的核心知识都掌握了,那么这对你接下里的进一步开发是比较有帮助的。
Android应用开发基本知识点汇总 Activity 一生命周期 4种状态 running / paused / stopped / killed 生命周期 Activity启动 onCreate -> onStart -> onResume 点Home返回主界面 onPause -> onStop 再次回到原Activity onRestart -> onStart -> onResume 退出Activity onPause -> onStop -> onDestroy 进程优先级前台/可见/服务/后台/空 二任务栈 三启动模式 standard singleTop 栈顶复用 singleTask 栈内复用 singeInstance 四scheme跳转协议 服务器可以定制化告诉App跳转哪个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面 Fragment 一第五大组件 为什么是第五大组件 Fragment相对Activity更节省内存,切换更舒适Fragment加载到Activity的两种方式 静态加载xml 动态加载fragmentTransaction.add(id, fragment, “name”); .commit; FragmentPagerAdapter与FragmentStatePagerAdapter
FragmentStatePagerAdapter在切换时回收内存,适合页面较多的情况FragmentPagerAdapter并没有回收内存,只是detach了Activity 二生命周期 onAttach -> onCreate -> onCreateView -> onViewCreated -> onActivityCreated -> onStart -> onResume -> onPause -> onStop -> onDestroyView -> onDestroy -> onDetach 先创建Activity后创建Fragment,先销毁Fragment后销毁Activity 三Fragment之间的通信 Fragment调用Activity getActivity Activity调用Fragment 接口回调 Fragment调用Fragment方法findFragmentById 四FragmentManager replace add remove Service 一应用场景,与Thread区别 Service是什么后台长时间运行,没有用户界面,运行在主线程,不能有耗时操作 Service与Thread区别 Activity难以与Thread交互,尤其当Activity销毁以后 二开启Service的两种方式 StartService onCreate -> onStartCommand -> onBind -> onDestroy onStartCommand return START_STICKY;
1、关于android进程,说法不正确的是( B ) A、组件运行所在的进程,是由androidManifest.xml决定,它可以指定该组件运行于哪个进程。 B、背景进程是不为用户所见的Activity,但是还会有可能被用户看到,所以它不能被杀死 C、当急需内存时,android会决定优先关闭那些空闲的进程 D、可视进程一般不会不被系统所杀死 2、Matrix类的作用( A ) A、可以存储缩小或放大比列 B、存储文件中的图片信息 C、存储资源中的图片信息 D、存储内存中的图片信息 3、关于主题的说法,错误的是( D ) A、它是属性集合 B、它可以在程序中来设置 C、它通常用于一个Activity或所有Activity上 D、它可以用于单个TextView上 4、setOnTouchEvent 设置返回值为true 和 false有何区别?以下说法较准确是( C ) A、没有区别,都能对事件进行监听 B、设置为true时只能在移动时获得一次监听事件,false则可以多次 C、设置为false是,在处理一次监听事件后,系统将抛弃该次事件 D、返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息 二、开发技术设计与应用能力部分 注:以下程序均是相关程序或小项目的实现代码,根据每个程序或项目的特性,完成程序空缺部分的内容,使其实现。具体程序代码注释省略。 图1 图2 图3 图4 1)电话实现[主界面如图1] 程序描述:完成手机打电话功能。 public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.wendangku.net/doc/7f12177951.html,yout.activity_main); Button btn_call = (Button)this.findViewById(R.id.btn_call); btn_call.setOnClickListener(new btnCall()); } private class btnCall implements OnClickListener (1) { public void onClick(View v) { // TODO Auto-generated method stub EditText et_number = (EditText) MainActivity.this.findViewById(R.id.et_number); String s_number = et_number.getText().toString().trim(); (2) Intent i_call = new Intent(); i_call.setAction(Intent.ACTION_CALL(3)); i_call.setData(Uri.parse("tel:"+s_number)); startActivity(i_call); (4) } } } 2)动画实现[主界面如图2] 程序描述:手机屏幕触摸后演示动画,假设XML文件已经设置好,id资源为:R.drawable.panda public class MainActivity extends Activity { ImageView iv_action; AnimationDrawable ad_action; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.wendangku.net/doc/7f12177951.html,yout.activity_main); iv_action = (ImageView)this.findViewById(R.id.iv_action); iv_action.setBackgroundResource(5)(R.drawable.panda); ad_action = (AnimationDrawable) iv_action.getBackground(); } public boolean onTouchEvent(MotionEvent event) { ad_action.start();(6) return super.onTouchEvent(event); } } 3)撕衣服游戏实现 项目描述:划动屏幕时完成撕衣服效果,并产生撕衣服声音(sound.mp3) public class MainActivity extends Activity { ImageView iv_upper; ImageView iv_below;
项目总结 时间过的好快,为期三个月的实训生活即将结束了,每一次的实训我们都受益匪浅,我 们学到的不仅仅是课内还有课外,实训让我们的课内知识得到了巩固,专业知识、编程水平 都有很大的提高,我们非常感谢这次实训。 刚开始二周的高强度的课程安排让我们受益匪浅;接下来的项目实训又让我们可以巩固 了课程。这让我觉得实习生活充实而有意义。 乐淘购物项目和android优化大师,我更好的学习了ui的设计,如何使界面漂亮,美观, 巩固了listview,gridview,的使用,学会了动画进入界面的,和会移动的画廊等等。在这 两个项目中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完 成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获 取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上 真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。 音乐播放器项目,我们是七个人组成小组完成的,由组长带领我们,分配任务,每个人, 都发挥自己的长处,更好地去完成任务。对于团队开发来说,团结一致使我深有体会。团队 的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具 体实践中,不仅加深我对理论的掌握和 运用,还让我拥有了一次又一次难忘的开发经历,这是也是实训最大的收获。 这次实训对于我以后学习、找工作也真是受益菲浅,在这3个月中让我初步从理性回到 感性的重新认识,也让我初步的认识这个社会,对于以后做人所应把握的方向也有所启发! 相信这些宝贵的经验会成为我今后成功的重要的基石。在此,我非常感谢指导老师和 同学对我的帮助。篇二:android实训报告 通信与电子信息专业实训报告 项目名称:基于android的游戏开发 班级 10通信1班 姓名 学号 指导教师 成绩 实训时间:年月日— 目录 一、实训目的及其意义 (3) 1.1、目的及意义 (3) 1.2、研究现状 (3) 二、实训主要任务、重点及难点 (4) 2.1、任务 (4) 2.2、重点内容及实现途径 (4) 三、实训具体内容及完成的主要工作 (5) 3.1、认识基础开发 (6) 3.2、了解数据存储 (6) 3.3、总体实训过程 (7) 四、实际遇到的困难,解决问题的方法和措施 (8) (一)、所遇问题 (8) (二)、解决方法与措施 (9) 五、心得体会 (9)
1、Intent的Component属性的作用是什么,如何定义此属性? component(组件),指定Intent的的目标组件的类名称。通常Android会根据Intent 中 包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹 配的目标组件。但是,如果component这个属性有指定的话,将直接使用它指定的组件, 而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。Component属性的作用是用来指定Intent的目标组件的类名称。如果Component这个属性被指定了的话,Intent的其它属性都是可选项,Android 会直接使用Component指定目标组件,而不再执行其它查找过程。 在使用时,需要先创建一个ComponentName对象,然后将它设置成Intent对 象的Component的属性。通过setComponent()、setClass()和setClassName() 三种方法都可以设置组件的名称,通过getComponent()方法则可获得设置项。 2、发送广播时,可以通过sendCatagoryBroadcast()方法将Intent对象发送出去( ). (错) 3、Android是什么?( ) 一种操作系统 4、下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是( ) DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。 5、Android操作系统最早由哪个公司研发?( ) Android公司 6、下列中不属于手持设备的是( ) 机顶盒 7、下列不是手机操作系统的是()。Windows Vista 8、到目前为止,Android操作系统的最高版本是哪个?( )Android L 9、安装Android SDK时,可以通过( )在线安装或离线安装。Android sdk manager 10、开发Android应用程序时,一般使用的计算机语言是( ) 。JAVA 11、E/AndroidRuntime(1099): https://www.wendangku.net/doc/7f12177951.html,ng.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test.CanvasActivitys}: https://www.wendangku.net/doc/7f12177951.html,ng.ClassNotFoundException: com.test.CanvasActivitys in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk] 这段话是程序报错在LogCat中产生的记录,从中可以分析问题的原因可能在哪里?( ) CanvasActivitys类没有在AndroidManifest中正确申明 12、对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android 需要解析的是那些间接Intent,通过解析,将Intent映射给可以处理此Intent的Activity、IntentReceiver或Service (对) Intent 可以传递View对象(错) Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被 调用者之间的解耦(对) 通过Intent可以删除程序(对) 13、下面退出Activity错误的方法是()。System.exit( ) 14、当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行 的回调函数是( )。startActivityResult() 15、这是一个资源配置文件,下面描述正确的是? ( )这个shape文件是画一条虚线,实 线段5dp,间隔3dp 16、Toast toast = new Toast(this); toast.setText("今天天气不错\n哈哈"); toast.show(); 上面代码的执行结果是什么( )。代码会抛出异常,因为new出的Toast对象不能再使用setText方法来设置提示框文本
合肥工业大学学生自主实习报告 学号: xxx 姓名: xxx 实习单位: 实习时间:2014年6月22-7月5日
一、实习目的: 1、掌握android系统开发的一些常用知识 2、拥有独立解决开发中遇到问题的能力 3、熟悉android软件开发流程并至少做一个android软件项目。 了解现阶段互联网发展主流,了解移动互联网,认识移动互
联网的发展与展望,认识Android,了解基于Android的应用软件开发方法及其商业流程。把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。它不仅是校内教学的延续,而且是校内教学的总结。生产实习一方面巩固了书本上学到的理论知识,另一方面,可获得在书本上不易了解和不易学到的生产现场的实际知识,使我们在实践中得到提高实训环节对于提高学生的综合能力和全面素质具重要意义 二、实习单位:苏州高博培训
Android应用程序开发是以Java语言为基础的,所以需要有扎实的Java基础知识。首先熟悉java基本语法,然后熟悉设计模式等。 a) Java基础语法:看下面的《Java知识点列表》 b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多(设计模式大概有28种,具体请看设计模式系列),一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,理解android容易很多。 有了这些知识,然后再来学习Android开发,一定会事半功倍。 《Java知识点列表》:这些是别人总结,我只是加些说明。 开发环境: 1 Java SDK 下载和安装 2 环境变量的配置(path和classpath) 编程基础: 3. 标识符命名规范 4 Java数据类型 5 运算符 6 分支语句(if,switch) 7 循环语句(for,while) 8 函数的定义方法 只要是个程序员,都懂。语言之间可以融会贯通。 面向对象基础: 向对象的三个基本特征是:封装、继承、多态 9. 面向对象与面向过程语言之间的区别 10 面向对象基本思想(封装) 封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏 11 类的定义方法 12 对象和类的关系 13 对象的创建方法 14 通过对象使用成员变量和成员函数的方法 15 构造函数的作用 16 函数的重载 17 static 的作用 18 this的作用 面向对象高级: 19 面向对象基本思想(继承) 继承:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进
1Activity 1.1Activity的概念 是Android应用层开发的四大组件之一,主要负责和用户交互部分,有自己的生命周期,在其上可以布置按钮,文本框等各种控件,简单来说就是Android 的UI部分。 1.2Activity与View的区别 1)Activity是四大组件中唯一一个用来和用户进行交互的组件。可以说 Activity就是android的视图层。 2)如果再细化,Activity相当于视图层中的控制层,是用来控制和管理View 的,真正用来显示和处理事件的实际上是View。 3)每个Activity内部都有一个Window对象, Window对象包含了一个 DecorView(实际上就是FrameLayout),我们通过setContentView给Activity设置显示的View实际上都是加到了DecorView中。 1.3Activity生命周期 1.3.1生命周期主干
1.3.2其他中转方法
1.4Activity启动模式1.4.1四种启动模式
1.4.2配置样例 1.5Activity启动方法 1)在一个Activity中调用startActivity()方法。 直接启动Activity,不带请求码。 2)在一个Activity中调用startActivityForResult()方法。 带请求码启动Activity。 1.6请求码与响应码
2BroadcastReceiver 2.1概念 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。 2.2应用场景 在Android系统中,广播体现在方方面面: eg: 1.当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动 服务的功能; 2.当锁屏或者点亮屏幕时就会产生一条广播,接收这条广播就可以实现一 些暂停或者开启一些耗电进程的功能。 3.当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做 出提示和保存数据等操作; 4.当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量 低时告知用户及时保存进度; 2.3注册 2.3.1静态注册 2.3.1.1概念 静态注册是在AndroidManifest.xml文件中配置的。 2.3.2动态注册 2.3.2.1概念 动态注册需要在代码中动态的指定广播地址并注册。 2.3.2.2需要注意的事项 RegisterReceiver是android.content.ContextWrapper类中的方法,Activity和Service都继承了ContextWrapper,所以可以直接调用。在实际应
android应用开发技术 一、判断题 1、在同一个资源目录中,可以存在两个文件名相同、扩展名不同的资源文件。(×) 2、Android系统下的文件,可以被本系统里的所有应用程序访问。(×) 3、无论Service是以启动方式还是绑定方式运行,该Service类都要重写onBind方法。(√) 4、一个Intent可以包含多个action。(×) 5、对于有序广播消息,是按照各个BroadcastReceiver注册的顺序先后接收并处理。(×) 6、Android是J2ME的一个实现。(×) 7、Android既是操作系统也是开发平台。(√) 8、Android是通过栈的形式来管理多个Activity的。(√) 9、View是ViewGroup的子类。(×) 10、一个Intent可以包含多个category。(√) 二、单项选择题 1、下面哪个不是Android的界面布局方式?( A ) A、FlowLayout B、LinearLayout C、TableLayout D、RelativeLayout 2、浏览网页使用的Intent的Action是什么?( D ) A、ACTION_CALL B、ACTION_EDIT C、ACTION_SEND D、ACTION_VIEW 3、Android 关于启动方式的service生命周期的onCreate()和onStartCommand()方法,说法正确的是( D ) A、当第一次启动的时候只会调用onCreate()方法 B、当第一次启动的时候只会调用onStartCommand ()方法 C、如果service已经启动,将先后调用onCreate()和onStartCommand ()方法 D、如果service已经启动,只会执行onStartCommand ()方法,不再执行onCreate()方法 4、下列关于ContentProvider的说法错误的是:( B ) A、ContentProvider的作用是实现数据共享和交换 B、要访问ContentProvider,只需调用ContentProvider的增删改查相关方法 C、ContentProvider提供的URI必须以“content://”开头 D、Android对于系统里的音视频、图像、通讯录提供了内置的ContentProvider 5、下列关于继承的哪项叙述是正确的?( D ) A、在Java中类允许多重继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口允许继承自另一个接口 6、以下哪种方式不能退出当前活动状态的Activity?( C ) A、调用finish()方法 B、单击(返回)按钮 C、单击(回到桌面)按钮 D、Activity运行时出现异常 7、对于TextView,使用哪个属性来设置显示的文本?( B ) A、android:textSize B、android:text C、android:textColor D、android:string 8、要处理Button的点击事件,需要注册哪个监听器?( A ) A、OnClickListener() B、OnButtonClickListener() C、OnButtonListener() D、OnItemClickListener() 9、在下述Java语言语句中,错误 ..的创建数组的方法是( D ) A、int intArray [ ]; intArray=new int[5]; B、int intArray [ ]=new int[5]; C、int [ ] intArray ={1,2,3,4,5}; D、int intArray [5]={1,2,3,4, 5}; 10、以下哪种方式不能退出当前活动状态的Activity?( C ) A、调用finish()方法 B、单击(返回)按钮 C、单击(回到桌面)按钮 D、Activity运行时出现异常 11、对于音乐播放器程序中的播放进度控制,使用哪个控件适合?( C ) A、ProgressBar B、RatingBar
考试知识点(Android闭卷考试) 1.理解Android常见的几种布局。 几种布局的高与宽,制定 LinearLayout,线性布局,布局中的控件在线性方向上依次排列。默认控件水平方向排列。 android:orientation=”horizontal” android:orientation=”vertical” 注意: 当就是水平方向排列,控件宽度不能设置为 android:layout_width="match_parent" 否则控件会把水平方向沾满,其她控件无法会控件覆盖(无法放置) 当就是垂直方向,内部控件不能将android:layout_height="match_parent"指定为match_parent android:layout_weight="1",使用比例方式来指定控件的大小 RelativeLayout,相对布局,就是通过相对定位的方式让布局中控件可以出现在布局的任何位置。 内部控件,三种属性, 属性值就是true或false android:layout_centerHrizontal 水平居中, 属性值就是”@id/*“android:layout_below 在某元素的下方 属性值就是数值 android:layout_marginLeft 离某元素左边缘的距离 是通过添加TableRow、其她组件来控制表格的行数与列数 GridLayout就是Android4、0之后新增的布局管理器,因此正常情况下需要在Android 4、0 之后的版本中才能使用,如果希望在更早的版本中使用的话,需要导入相应的支撑库(v7包的gridlayout包)。 Grid Layout 网格布局,与前面所讲的 Table Layout(表格布局) 有点类似,不过她有很多前者没有的东西,因此也更加好用: - 可以自己设置布局中组件的排列方式 - 可以自定义网格布局有多少行、列 - 可以直接设置组件位于某行某列 - 可以设置组件横跨几行或者几列
要做开发,必须要知道的中的知识点。 . 基本数据类型 整形: 个字节 个字节 个字节 个字节 字符: 个字节 浮点数: 个字节 个字节 布尔: 个字节 新增二进制整数 以或者开头 中字符时位的编码方式,格式是'\',其中代表一个十六进制整数 中规定了正无穷大、负无穷大和零 正无穷大一个正数除以 负无穷大一个负数除以零 除以或者对一个负数开方得到一个非数 . 在中布尔类型只能是和 . 在中没有多维数组 看似像语言中的多维数组不是真正的数组,比如 [][] , [] [] [] 是真实存在的,装的是地址,和语言中动态分配为的数组一样 [][] [][] . 中带包的编译方法 . 会在当前目录下生成目录树 运行包名字.类名字 . 多态中的对象的不具有多态性,如父类对象子类(),对象是调用的父类的,即使子类中覆盖了该字段。 . 运算符 格式:引用变量名类名(或者接口)他用于判断前面的对象是否是后面对象的类,子类、实现类的实例,是返回,否者返回 . 中基本数据类型和对应封装类之间的转化 ;
(); (); 其他的类型也是这样的。 .单例()类例子 代码如下: { ; (){} () { ( ) { (); } ; } ([] ) { (); (); ( ); } } 修饰的成员变量初始化问题 类:必须在静态初始块中或声明该时指定初始值 实例:必须在非静态初始块中或声明该时指定初始值或构造器中声明 变量必须显式初始化,系统不会对变量进行隐式初始化 会使用常量池来管理曾经用过的字符串直接常量,例如: ""; ,系统把常量字符串“”存在常量池,当再次执行 ""; 是 方法不可以重写,类不能被继承 如果用方法和是一样的 若果是用修饰的方法在子类中出现,那是子类新定义的,与父类没有关系 .不可变类:创建后该类的是不可改变的。提供了个基本变量的包装类和都是不可改变类。
目录 Android知识点: (3) 一:dom解析,以及写入数据到xml文件: (3) 二:连接socket并获取返回值 (4) 三:创建socket服务器 (4) 四:获取本地设备信息;执行串口命令 (5) 五:获取设备当前时间 (5) 六:对于节省代码 (6) 七:访问网络权限 (6) 八:显示ProgressDialog (6) 九:handle消息机制定义与对信息的处理 (6) 十:显示AlertDialog,以及对其进行按键处理 (7) 十一:判断网络是否连接 (8) 十二:判断是否连接有线网络 (8) 十三:判断是否能够ping通互联网:返回0则通,否则不通 (9) 十四:显示进度圈,防止用户继续其线程start (9) 十五:下载文件 (10) 十六:解析json文件(android中使用,解析本地文件夹) (11) 十七:解析服务器json文件,根据路径获取输入流并解析 (12) 十八:获取所有已经安装的apk的信息 (14) 十九:安装apk,分为静默安装与非静默安装,静默卸载 (15) 二零:发送与接收广播 (17) 二一:java中解析JSON文件 (18) 二二:获取文件列表 (19) 二三:DownloadManager (21) 附件一:android-apkinfo.json (23) 附件二:java_apkinfo_json (24) 二四:复制assets中资源文件到sdcard或data/files目录下 (25) 二五:解析与重写xml文件 (27) 二六:设置Viewpager的Adapter适配器 (29) 二七:设置listView的Adapter适配器 (30) 二八:设置按键监听器 (33) 二九:对于data中图片信息的处理与使用 (34) 三十:OnpageChangeListener页面切换监听器 (34) 三一:Activity之间数据的传递 (35) 三二:通过代码添加button (36) 三三:文件的输入输出 (37) 三四:关于文件路径 (38) 三五:对sd卡的读写权限设置 (38) 三六:file.getCanonicalPath() (39) 三七:命令行运行java文件 (39) 三八:activity无头标题 (40)
Android面试常问基础知识点 1、四大组件是什么 1)Activity:用户可操作的可视化界面,为用户提供一个完成操作指令的窗口。一个Activity 通常是一个单独的屏幕,Activity通过Intent来进行通信。Android中会维持一个Activity Stack,当一个新Activity创建时,它就会放到栈顶,这个Activity就处于运行状态。 2)Service:服务,运行在手机后台,适合执行不需和用户交互且还需长期运行的任务。 3)ContentProvider:内容提供者,使一个应用程序的指定数据集提供给其他应用程序,其他应用可通过ContentResolver类从该内容提供者中获取或存入数据。它提供了一种跨进程数据共享的方式,当数据被修改后,ContentResolver接口的notifyChange函数通知那些注册监控特定URI的ContentObserver对象。 如果ContentProvider和调用者在同一进程中,ContentProvider的方法(query/insert/update/delete等)和调用者在同一线程中;如果ContentProvider和调用者不在同一进程,ContentProvider方法会运行在它自身进程的一个Binder线程中。 4)Broadcast Receiver: 广播接收者,运用在应用程序间传输信息,可以使用广播接收器来让应用对一个外部事件做出响应。 2、四大组件的生命周期和简单用法 1)Activity:onCreate()->onStart()->onResume()->onPause()->onStop()->onDestory() onCreate():为Activity设置布局,此时界面还不可见; onStart(): Activity可见但还不能与用户交互,不能获得焦点 onRestart(): 重新启动Activity时被回调 onResume(): Activity可见且可与用户进行交互 onPause(): 当前Activity暂停,不可与用户交互,但还可见。在新Activity启动前被系统调用保存现有的Activity中的持久数据、停止动画等。 onStop(): 当Activity被新的Activity覆盖不可见时被系统调用 onDestory(): 当Activity被系统销毁杀掉或是由于内存不足时调用 2)Service a) onBind方式绑定的:onCreate->onBind->onUnBind->onDestory(不管调用bindService几次,
第一行代码知识点总结 1、Android四层架构:Linux内核层(提供底层驱动)、系 统运行库层(提供特性支持,一些核心库)、应用框架 层(提供各种API)和应用层 2、Android四大组件:活动(activity)、服务(Service)、 广播接收器(Broadcast Receiver)和内容提供器 (Content Provider) 3、Android应用特色开发:四大组件、丰富的系统控件、 SQL数据库(轻量级,运算速度快的嵌入式关系型数 据库)、强大的多媒体和地理位置定位(LBS)。 4、Android程序设计讲究逻辑和视图分离,通常在布局文件中编写在界面 4.1Android的日志工具Log:Log.d()打印调试信息对应debug。Log.v()打印琐碎、意义最小日志,对应verbose,Log.i()打印比较重要的数据对应info;Log.w()打印警告信息对应error;Log.e()打印错误信息对应error。Log.d(类名,打印内容) 4.2活动:主要用于和用户进行交互、基本用法 4.3活动中的提醒方式Toast 4.4、drawable存放图片,mipmap存放应用图标,values 放字符串、样式,颜色等配置,layout放布局文件
4.5、Android Studio是采用Gradle来构建项目 5、Intent的使用:显式Intent和隐式Intent() 6、活动的生命周期 7、返回栈的定义 8、Android是使用任务来管理活动的 9、活动状态:运行、暂停、停止、销毁状态 10、Activity类中的七个回调方法:onCreate()onStaart()、onResume()、onPause()、onStop()、onDestroy()和onRestart() 11、活动的三种生存期:完整、可见、前台 12、活动的四种启动模式:standard、singleTop、singleTask 和singleInstance 13、常用控件:TextView、Button、EditText、ImageView、ProgressBar(进度条)、AlertDialog(对话框)、ProgressDialog(显示对话框时出现进度条) 14、基本布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)百分比布局、AbsoluteLayout、TableLayout 15、常用和最难用的控件ListView 16、滚动控件:RecyclerView 17、碎片的定义、使用方式、碎片的生命周期、状态和回调 18、广播主要的两种类型:标准广播和有序广播;注册广播
一,android 四大组件 Activity、Service、BroadcastReceiver 、ContentProvider 二,Activity生命周期 三,横竖屏切换时的生命周期 1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 10-23 02:35:54.261: INFO/chenys(4385): onCreate--> 10-23 02:35:54.271: INFO/chenys(4385): onStart--> 10-23 02:35:54.286: INFO/chenys(4385): onResume--> 3、按crtl+f12切换成横屏时 10-23 02:36:58.331: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:36:58.411: INFO/chenys(4385): onPause--> 10-23 02:36:58.462: INFO/chenys(4385): onStop--> 10-23 02:36:58.481: INFO/chenys(4385): onDestroy-->
10-23 02:36:58.622: INFO/chenys(4385): onStart--> 10-23 02:36:58.632: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:36:58.642: INFO/chenys(4385): onResume--> 4、再按crtl+f12切换成竖屏时,发现打印了两次相同的log 10-23 02:38:14.172: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:38:14.172: INFO/chenys(4385): onPause--> 10-23 02:38:14.172: INFO/chenys(4385): onStop--> 10-23 02:38:14.172: INFO/chenys(4385): onDestroy--> 10-23 02:38:14.281: INFO/chenys(4385): onCreate--> 10-23 02:38:14.301: INFO/chenys(4385): onStart--> 10-23 02:38:14.312: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:38:14.331: INFO/chenys(4385): onResume--> 10-23 02:38:14.812: INFO/chenys(4385): onSaveInstanceState--> 10-23 02:38:14.852: INFO/chenys(4385): onPause--> 10-23 02:38:14.861: INFO/chenys(4385): onStop--> 10-23 02:38:14.892: INFO/chenys(4385): onDestroy--> 10-23 02:38:14.921: INFO/chenys(4385): onCreate--> 10-23 02:38:15.021: INFO/chenys(4385): onStart--> 10-23 02:38:15.031: INFO/chenys(4385): onRestoreInstanceState--> 10-23 02:38:15.111: INFO/chenys(4385): onResume--> 5、修改AndroidManifest.xml,把该Activity添加android:configChanges="orientation",执行步骤3 10-23 02:42:32.201: INFO/chenys(4875): onSaveInstanceState--> 10-23 02:42:32.232: INFO/chenys(4875): onPause--> 10-23 02:42:32.301: INFO/chenys(4875): onStop--> 10-23 02:42:32.311: INFO/chenys(4875): onDestroy-->