欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    android基本知识点总结.doc

    • 资源ID:33443242       资源大小:47.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    android基本知识点总结.doc

    如有侵权,请联系网站删除,仅供学习与交流android基本知识点总结【精品文档】第 7 页一,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.572: INFO/chenys(4385): onCreate->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切换成竖屏时,发现打印了两次相同的log10-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",执行步骤310-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->10-23 02:42:32.402: INFO/chenys(4875): onCreate->10-23 02:42:32.471: INFO/chenys(4875): onStart->10-23 02:42:32.471: INFO/chenys(4875): onRestoreInstanceState->10-23 02:42:32.481: INFO/chenys(4875): onResume->6、再执行步骤4,发现不会再打印相同信息,但多打印了一行onConfigChanged10-23 02:44:41.151: INFO/chenys(4875): onSaveInstanceState->10-23 02:44:41.151: INFO/chenys(4875): onPause->10-23 02:44:41.151: INFO/chenys(4875): onStop->10-23 02:44:41.151: INFO/chenys(4875): onDestroy->10-23 02:44:41.371: INFO/chenys(4875): onCreate->10-23 02:44:41.421: INFO/chenys(4875): onStart->10-23 02:44:41.521: INFO/chenys(4875): onRestoreInstanceState->10-23 02:44:41.541: INFO/chenys(4875): onResume->10-23 02:44:42.002: INFO/chenys(4875): onConfigurationChanged->17、把步骤5的android:configChanges="orientation" 改成 android:configChanges="orientation|keyboardHidden",执行步骤3,就只打印onConfigChanged10-23 02:46:43.762: INFO/chenys(5193): onConfigurationChanged->28、执行步骤410-23 02:47:27.652: INFO/chenys(5193): onConfigurationChanged->210-23 02:47:27.902: INFO/chenys(5193): onConfigurationChanged->1 总结:1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法四 service以及service的生命周期 两种用处:后台运行和跨进程访问 两种模式:startService()/bindService() 模式场合:调用者与服务之间没有关连,即使调用者退出了,服务仍然运行即用 startService(),调用者与服务绑定在了一起,调用者一旦退出,服务也就终止则用bindService() 生命周期:service的生命周期没有像activity里的onstop,主要经历创建、开始、销毁三个阶段,由于有两种模式的存在,其生命周期有两种体现方式 如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。onBind()只有采用Context.bindService()方法启动服务时才会回调该方法。该方法在调用者与服务绑定时被调用,当调用者与服务已经绑定,多次调用Context.bindService()方法并不会导致该方法被多次调用。采用Context.bindService()方法启动服务时只能调用onUnbind()方法解除调用者与服务解除,服务结束时会调用onDestroy()方法。五 Android里的两种动画以及区别两种动画:补间动画 Teen Animation && 逐帧动画Frame Animation区别:Teen :是定义一个开始和结束,中间的部分由程序运算得到 Frame :其实和gif图片差不多,有帧的概念,是一个动画数组六 Aidl的全称以及在android中的作用全称:android interface definition language作用:跨进程访问数据实现方式:其一般与service连用,在service里new 一个其stub的实例,并实现其aidl里面的方法即可七 Android进程与进程,线程与线程之间,应用程序与应用程序之间如何通信 进程与进程:利用aidl 线程与线程:一般体现在ui主线程和子线程之间的通信,用handle机制即可 应用程序与应用程序:Broastcast八 Android里解析xml的几种方式及区别三种方式:dom(Document Object Model),sax(Simple API for XML),pull优缺点:Dom优点:使用DOM操作XML的代码看起来是比较直观,并且在某些方面比基于SAX的实现更加简单 Dom 缺点:DOM需要将XML文件的所有内容以文档树方式存放在内存中,所以内存的消耗比较大 Sax优点:解析速度快,ContentHandler对象可以是多个,内存消耗少 Sax缺点:必须实现事件处理程序,不能修改文档,不能随机访问 pull和sax的原理一样,不一样的地方是pull读取xml文件后调用方法返回的是数字九 Android里的数据存储方式1,SharePreferences 2,利用io流文件存取3,网络存取(httpclient和httpServer)4,sqlite5,属性系统6,使用ContentProvider存储数据,其实这快个人认为不应该纳入存储方式,他只是定义了一种数据共享的标准接口。十 在我们实际的开发过程中需要注意的细节 1. 在进行界面布局的时候,一定要考虑到横竖屏的切换,尽量做到后期不用适配很多的机器。2. 对于Activity的生命周期的控制,一定要严谨,考虑周全,什么时候查询,什么时候移除监听器,activity的三种生命周期的切换,保存界面信息,恢复界面信息,都要在代码编写之前尽量考虑周全,切不可跟着bug走。3. 经常整理代码,类中用不到的属性,方法,一定要删除,不要想着以后可能用到,99%的情况是以后绝对用不到,这样做可以避免以后代码整理的混乱4. 工作台的编码和工程的编码统一使用utf-8,同时将家里的电脑上的工作台与之同步,避免乱码。5. 要做好工作记录,公司小,没有开发文档,这个没办法,自己尽量把自己的工作记录写好,例如某项功能的大体实现思路啊,遇到的难点啊,解决的办法啊等等,以后看的时候也不至于太费劲。6. 方法名,属性名的定义切不可偷一时之懒,随便胡弄一个,多花点时间起个好名字,以后能省很多的事。7. xml进行页面布局的时候,尽量能够做到元素的重用,同时xml的名称很重要,凡是activity的布局文件,后面都要加个_activity的后缀,列表的ItemView的布局,都要加个_item的后缀,一定要做到统一,否则后期会很乱8. res目录中用不到的drawable,styles,等等资源文件及时删除,后期删除会很麻烦,谁知道这个drawable有没有用到。9. 线程,线程,这个必须重视重视再重视,能不开就不开,能少开就少开,能用Handler代替的就用Handler。开启一个线程的时候一定要考虑到什么时候,如何关闭这个线程。十一BroadcastReceiver的使用两种方式:xml、程序里动态注册如果是xml方式,则在androidmaineifest.xml的注册一个receiver ,并在intent-filter标签里加上一个action,这个receiver对应的class得继承BroadcastReceiver,并重写其onReceive方法即可,如果是程序动态注册,得new一个BroadcastReceiver 实例 b和new一个IntentFilter 实例i,并在oncreat方法里通过registerReceiver(b, i)这个方法动态注册即可。十二 Android里常见的设计模式及例子1,单例模式:在framwork层的SysteServer.java类里有很多例子,比如PowerManagerService power = new PowerManagerService(); ServiceManager.addService (Context.POWER_SERVICE, power);将其加入到ServiceManager中。以后,如果其它地方要用到这个实例,只能通过ServiceManager.getService(POWER_SERVICE),从理论上说,PowerManagerService的构造函数并不是private的,而且也没有一个static的PowerManagerService变量存在,但如果我们在使用这个service的时候如果去new一个该service的实例的话,语法上讲行得通,但这就违背了Android平台Framework中service的创建思想。所以用一种模式不是用其定义而是用其举一反三。2.Mvc模式:xml的布局文件对应了mvc中的view部分,负责显示界面;android中的.java文件,即activity文件对应于mvc中的model,负责逻辑处理;而android中的AndroidManifest.xml文件则对应于mvc中的controller,负责协调view于model之间的工作。3.抽象工厂模式,对象的创建型模式。这种设计模式在Android中运用相当广泛。现仅仅以Android平台JVM的DatagramSocket的实现为例来介绍之。DatagramSocket是一个实现了UDP socket的类。a. 相关代码: 1. SocketOptions.java: public interface SocketOptions . 2. DatagramSocketImpl.java: public abstract class DatagramSocketImpl implements SocketOptions . 3. SocketImpl.java: public abstract class SocketImpl implements SocketOptions .4. DatagramSocketImplFactory.java: public interface DatagramSocketImplFactory DatagramSocketImpl createDatagramSocketImpl(); 5. SocketImplFactory.java public interface SocketImplFactory SocketImpl createSocketImpl(); 6. DatagramSocket.javab.简要说明:从名字的命名就可以看出来,这是典型的abstract factory模式. 这里,DatagramSocket就是client. 更加详细的代码实现,请各位自己去看Android源码。

    注意事项

    本文(android基本知识点总结.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开