loading请求处理中...

如何实现android移动应用开发从入门到精通_安卓移动应用开发重点知识提取

2021-12-01 06:23:21 阅读 12459次 标签: android游戏开发安卓rom制作教程 作者: chenliwen666
    我们知道学习就应该抓住重点,所谓重点就是那些比较经常用到的知识点,曾经有一个图示就说过人们需要学习的知识,掌握的知识和实际用到的知识的比例,这就说明,学习安卓手机应用开发也一样,必须抓住重点来掌握,这样才能更好更快地实现android移动应用开发从入门到精通的学习旅途,安卓手机应用开发涵盖的知识非常多且杂,那么哪些才是需要重点把握的知识点呢?

如何实现android移动应用开发从入门到精通_安卓移动应用开发重点知识提取

    一、安卓移动应用开发学习者该把握的重点
    1、关于内存回收的说明
    首先,你可能对JAVA的垃圾回收机制不了解,那么请看JAVA垃圾回收机制的特点:
    a. 自动性。Java技术提供了一个系统级的线程,即垃圾收集器线程,来跟踪每一块分配出去的内存空间,当Java 虚拟机处于空闲循环时,垃圾收集器线程会自动检查每一块分配出去的内存空间,然后自动回收每一块可以回收的无用的内存块。
    b. 不可预期性。一个对象成为了垃圾,但是你不能断言,该对象在这行以后就立刻被清除,甚至有可能当程序结束后,该对象仍然占用内存。像Windows这样的软件常常会出现内存不足的情况,JAVA程序很少出现就是因为可以自动回收内存。然而,因为JAVA也不能保证及时地清除无用的对象,所以JAVA程序也会出现内存不足的情况,只是这种情况很少出现。垃圾收集线程在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。程序员唯一能做的就是通过调用System.gc 方法来"建议"执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。
    a、走完这个方法,这个对象确实变成了垃圾,但是不会立即被收回。只有当垃圾堆积到一定的程度时,虚拟机才会自动回收垃圾。
    b、是每次都实例,但不是每次都回收。
    c、在JAVA中,不需要特意去管这个垃圾回收机制,因为垃圾回收的自动性。即使安卓开发工程师调用System.gc()方法,也只是建议虚拟机回收内存,但虚拟机是否立即进行回收是不一定的。
    2、关于Runtime Exception
    a、RuntimeException,也就是运行时异常,表示你的代码本身存在BUG,比如你提到的ArrayIndexOutOfBoundsException,数组下标越界,这个属于代码有问题,数组定义的长度不够实际使用,不处理肯定会报错,如果你操作某个模块发现能正常运行,那只是因为代码还没跑到这个错误的地方而已。。控制台一旦报RuntimeException,就必须要处理。。没有例外的。而且,处理RuntimeException,不是try-catch能解决的。。try-catch在这里使用毫无意义。
    b.不是RuntimeException,就是编译时异常,异常只有这两种了。比如你在处理文件流时的I/O问题,就属于编译时异常。这个时候用thr{}catch 来捕获或者 throws即可。
    3、关于Intent传递数据
    a、首先是Activity的简单跳转
    Activity的切换一般是通过Intent来实现的,Intent是一个Activity到达另一个Activity的引路者,它描述了起点(当前Activity)和终点(目标Activity)。
    通常,我们在Activity的切换中,希望把前一个Activity的某些数据传递给下一个Activity。这时,我们可以借助Bundle来实现。Bundle,相当于数据存储包,用于存放我们想要转达的数据。打个比方,Intent就像一封邮件,里面有送信人地址(原始Activity),也有收信人地址(目标Activity),而Bundle就是附件也可看做是信件内容。
    解决了如何传递数据问题,那么下一个问题是如何接受从目标Activity返回的处理结果。这里有两种方式,一是在onRestart方法(onRestrart表示重启Activity时激发的事件,具体看上一篇的生命周期)里面接受处理结果,方法实现和Activity2接受从Activity1发来的数据处理一样。另一种方式,是采用应答模式切换。这里,主要下第二种方式。应答模式切换和普通的切换不同在于,普通的是有去没回,应答则是有来有往。代码实现也不一样:1、从Activity1切换到Activity2:startActivityForResult(intent,0);2、从Activity2返回到Activity1:setResult(RESULT_OK, intent)。3、接受返回结果:protected void onActivityResult()。
    4、Intent的作用
    一个Intent对象包含了一组信息:Component name组件名称:intent会根据component name要启动哪一个组件(activity,service,contentProvider)
   Action://ACTION_CALL、ACTION_EDIT。。。指定另外一个Activity要做些什么
   Data:从一个Activity向另一个Activity传送怎样的数据
   Extras额外的:事先向一个activity的intent中存入的键值对
   注意:Activity之间通过intent传递数据不一定要求是在同一个应用中
    5、SAX解析xml文件的优点
    SAX解析XML文件采用事件驱动的方式进行,也就是说,SAX是逐行扫描文件,遇到符合条件的设定条件后就会触发特定的事件,回调你写好的事件处理程序。使用SAX的优势在于其解析速度较快,占用内存较少(相对于DOM而言)。而且SAX在解析文件的过程中得到自己需要的信息后可以随时终止解析,并不一定要等文件全部解析完毕。凡事有利必有弊,其劣势在于SAX采用的是流式处理方式,当遇到某个标签的时候,它并不会记录下以前所遇到的标签,也就是说,在处理某个标签的时候,比如在 startElement方法中,所能够得到的信息就是标签的名字和属性,至于标签内部的嵌套结构,上层标签、下层标签以及其兄弟节点的名称等等与其结构相关的信息都是不得而知的。实际上就是把XML文件的结构信息丢掉了,如果需要得到这些信息的话,只能你自己在程序里进行处理了。所以相对DOM而言,SAX处理XML文档没有DOM方便,SAX处理的过程相对DOM而言也比较复杂。
    6、 关于service生命周期
    Android Service生命周期与Activity生命周期是相似的,但是也存在一些细节上也存在着重要的不同:
    onCreate和onStart是不同的
    通过从客户端调用Context.startService(Intent)方法我们可以启动一个服务。如果这个服务还没有运行,Android将启动它并且在onCreate方法之后调用它的onStart方法。如果这个服务已经在运行,那么它的onStart方法将被新的Intent再次调用。所以对于单个运行的Service它的onStart方法被反复调用是完全可能的并且是很正常的。
    onResume、onPause以及onStop是不需要的
    回调一个服务通常是没有用户界面的,所以我们也就不需要onPause、onResume或者onStop方法了。无论何时一个运行中的Service它总是在后台运行。
    onBind
    如果一个客户端需要持久的连接到一个服务,那么他可以调用Context.bindService方法。如果这个服务没有运行方法将通过调用onCreate方法去创建这个服务但并不调用onStart方法来启动它。相反,onBind方法将被客户端的Intent调用,并且它返回一个IBind对象以便客户端稍后可以调用这个服务。同一服务被客户端同时启动和绑定是很正常的。
    二、Android开发者应该深入学习的开源应用项目
    1、Remote Droid 。RemoteDroid是一个Android应用,能够让用户使用自己的无线网络使用无线键盘、触摸屏操作手机。这个项目为开发者提供了如网络连接、触 摸屏手指运动等很好的样例。 
    2、Android SMSPopup 。SMSPopup可以截获短信内容显示在一个泡泡形状的窗口中。从这个项目中可以掌握到如何使用内置的短信SMS接口。
    3、TorProxy和Shadow 。TorProxy应用实现了安卓应用设计无线电电传通讯(TOR),和Shadow应用一起使用,可以使用手机匿名上网。从该项目源代码中,可以 掌握socket连接、管理cookie等方法。 
    4、Pedometer 。Pedometer应用用于记录你每天走路步[]数的。尽管记录不一定精准,但是从这个项目中,可以学习几个不同的技术:加速器交互、语音更新、后台运行服 务等。
    5、Standup Timer 。Standup Timer应用用于控制站立会议时间,类似秒表倒计时,可以提醒每个人的讲话时间已到,从而保证每个与会者使用时间一样。从该项目的代码中,可以学会如何 使用时间函数。另外,这个项目的代码是采用视图view、模型model严格分离的设计思路。
 一品威客网汇聚众多优秀的专业设计师和服务商团队,随时为您提供IOS应用 Android应用 IPAD应用 微信公众平台开发 手机游戏开发 应用软件开发 Windowsphone Symbian应用 应用汉化等服务,欢迎上一品威客网。

推荐更多与“如何实现android移动应用开发从入门到精通_安卓移动应用开发重点知识提取”相关推荐:

 安卓应用开发论文  | 企业级ios应用开发 | ios应用开发攻略  | 安卓软件开发实战  | ios软件开发入门

 手机软件开发价格  | html5移动应用开发 | ios应用开发详解  | 移动应用开发流程  | ios应用开发入门 

 移动应用开发学习  | 安卓移动应用开发  | ios应用开发指南  | 安卓软件开发书籍  | ios应用开发技术



   

APP开发公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
APP开发相关任务
DESIGN TASK 更多
H5小游戏开发

¥10000 已有3人投标

安卓软件绕过注册检测

¥3000 已有0人投标

Android APK 二次开发打包

¥10000 已有2人投标

小游戏开发类的软件开发

¥20000 已有4人投标

游戏开发,微信沟通

¥10000 已有0人投标

宠物AI互动游戏开发

¥50000 已有2人投标

公司内部信息备份安卓app升级

¥1000 已有3人投标

微信小游戏开发

¥10000 已有1人投标