关于Android那些事儿

    xiaoxiao2021-04-11  34

    ☆ 一些闲话

    Android自从4.1版本后,系统性能和体验能跟ios有一拼 4.0以下转的Java的程序员, 他如果写点比较次的代码,然后跟着这个比较次的系统,一起获得更加次的体验。 4.1之后,系统性能开始争气了, 他如果写点比较次的代码,然后系统也会能起到点遮羞的作用。


    ☆ Java转Android优势

    1.语言相通,特性相似,入门门槛低 2.编程相关基础比较扎实 3.自学能力比较好(包括搜索能力,阅读,动手,自我管理)等


    ☆ Android开发前提

    1.熟悉ide 2.熟悉安卓提供的开发框架 3.熟悉java及其他编程知识


    ☆ Android的学习内容

    ◇ 四大组件

    Activity 中文翻译叫活动,用来表现功能,负责跟用户交互 Service 中文翻译叫服务,是后台运行服务,不提供界面呈现 BroadcastReceiver 中文翻译叫广播接收器,用于接收广播.一种广泛运用的在应用程序之间传输信息的机制. ContentProvider 中文翻译叫内容提供器 支持在多个应用中存储和读取数据,相当于数据库. 是一个第三方应用数据的访问方案.

    ◇ 其他内容

    Intent 中文翻译叫意图, 它的功能是 传话人 它的使用的场景是,比方说在一个应用程序当中用户有了操作 然后Intent就操作动作,涉及到的数据都进行一个描述记录,然后它就告诉了Android系统,Android就根据它的描述就去找组件去干活,就是调用组件。Android系统要是司令指挥部,Intent就是通信兵之类的角色呀。 每个应用程序是作战兵团呀,应用程序之间可以让Intent传递消息,应用程序内部的Activity/Service之间也可以用Intent传递消息。 Handler Handler是Android操作系统中的线程通信工具,它主要由两个作用: (1)安排消息或Runnable在某个主线程中某个地方执行 (2)安排一个动作在另外的线程中执行。 每个Handler对象维护两个队列(FIFO),消息队列和Runnable队列, 都是有Android操作系统提供的。 Handler可以通过这两个队列来分别: 发送、接受、处理消息–消息队列; 启动、结束、休眠线程–Runnable队列; Handler的使用方法大体分为3个步骤: 1.创建Handler对象。 2.创建Runnable和消息。 3.调用post以及sendMessage方法将Runnable和消息添加到队列。

    Handler就也是通信兵吧,但是感觉上是个兵团内部的通信兵。打个比方要弄个下载功能,这个功能比较耗时,写在主线程当中,就容易把主线程堵死了,然后5秒钟没有完成,Android司令部就说强制关闭吧。这个时候,可以让Handler去做个安排,把这个弄到子线程当中去。然后主线程干其他的事,这就是异步处理。

    Adapter 中文翻译叫适配器, 后台就是数据,前台就是UI显示(view)。Adapter就是在前台和后台中间的一个东西。是个接口。实现它来适配显示的。 事件的传递方式 onClick,onTouch JNI 洋文是Java Native Interface,中文翻译是Java本地接口,它提供了很多接口跟其他语言进行通信(C或者C++) AIDL 1.洋文是Android Interface Definition Language, 中文翻译是安卓接口定义语言。Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。 2.比方说我的安卓系统中有很多应用程序,我的A应用程序提供了一些服务,我的其他应用程序就想用A的这些服务。那么应该怎么办? Android就指定了一个制度,也可以叫一个解决方案 远程过程调用(Remote Procedure Call,RPC),这个方法其实特别简单,就是用一种接口定义语言(Interface Definition Language,IDL)来公开公开服务的接口. 3.我们知道4个Android应用程序组件中的3个(Activity、BroadcastReceiver和ContentProvider)都可以进行跨进程访问,另外一个Android应用程序组件Service同样可以。因此,可以将这种可以跨进程访问的服务称为AIDL(Android Interface Definition Language)服务。 4.建立AIDL服务的步骤 建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下: (1)在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件。该文件的语法类似于Java代码,但会稍有不同。 (2)如果aidl文件的内容是正确的, ADT(抽象数据类型,abstract data type)会自动生成一个Java接口文件(*.java)。 (3)建立一个服务类(Service的子类)。 (4)实现由aidl文件生成的Java接口。AIDL接口只支持方法,不能声明静态成员;不会有返回给调用方法的异常。 (5)在AndroidManifest.xml文件中配置AIDL服务, 尤其要注意的是, 标签中android:name的属性值就是客户端要引用该服务的ID, 也就是Intent类的参数值。

    ☆ Android重点

    主要是在UI效果上需要花大量时间NDK的开发SDK的开发 font color=red>SDK广告 就是植入程序里面的广告需要依赖的第3方API。 比如你想在别人使用你开发的程序时展示广告为你带来收入, 你就可以选择下载别人的广告SDK(比如哇棒,admob), 调用它们提供的API, API会取得和展示广告, 这样你的程序就能在适当的位置显示它们的广告, 当有用户点击广告时, 你就会从广告提供商哪里获得一定比例的推广提成。 所以SDK广告就是内置于程序内的广告开发工具包, 由广告提供商提供。

    ☆ Android工作经验

    常见的问题和难点都可以在StackOverflow上找到常用功能/控件的实现也可以在GitHub上找到控制内存开销,优化onTouch事件是永恒的主题手机上非常常用的『下拉刷新』功能,不同App之间还是很有差异的Android的UI线程可无法获得如iOS下那么高的优先级当前国内都是以iOS做设计,Android照搬的做法,并且由此产生很多雷同脑残但坚定不移的设计抛弃『UI元素像素位置』这个概念,Android本身是允许通过设定元素像素位置来制作UI,但是这样做导致的结果就是大批量机器不适配,而且不要妄想通过获取屏幕大小来调整UILinearLayout,这个在swing或者swt上可有可无的东西,在Android上是必须要精通Android SDK的一个恶心的地方,其内置的apache相关库不是最新的。 是的,当你想着使用
    转载请注明原文地址: https://ju.6miu.com/read-666582.html

    最新回复(0)