
Android开发
Time-space
这个作者很懒,什么都没留下…
展开
-
【精华】安卓开发学习路线规划
近一段时间经常被朋友问到如何从零开始学习安卓,成为一名安卓开发工程师。不得不感叹,现在各行各业都有不少人在涌向IT/互联网行业,希望从事程序开发工作,竞争越来越激烈了。借此机会,我梳理了一下自己所学所知的安卓知识,制定了这份安卓开发学习路线规划,希望能帮助到有志于安卓开发的伙伴能尽快找到学习的方向,进入安卓开发的大门!一、安卓开发学习路线 安卓开发可以从深度和广度两个维度进行学习。大方向上看,Android在向诸如Flutter这样的跨平台技术演进,混合式开发、大前端等正成为移动端的发展方向和热门原创 2020-11-19 00:47:07 · 21926 阅读 · 4 评论 -
【精华】Android面试精华总结——Android控件架构与自定义控件
一、Android控件架构 在Android中,控件大致被分为两类,即ViewGroup控件与View控件。ViewGroup控件作为父控件可以包含多个View控件,并管理其包含的View控件。通过ViewGroup,整个界面上的控件形成了一个树形结构,即控件树,上层负责下层子控件的测量与绘制,并传递交互事件。通常在Activity中使用的findViewById()方法,就是在控件树中以树的...原创 2019-11-26 00:07:51 · 521 阅读 · 0 评论 -
【精华】Android面试精华总结——应用架构模式
一、MVC模式1.基本概念 MVC(Model—View—Controller 模型—视图—控制器)模式,用一种业务逻辑、数据、界面显示分离的方式组织代码,在改进和个性化定制界面及用户交互的同时,无需重新编写业务逻辑。所有通信都是单向的。 MVC角色定义: 模型层: 针对业务模型建立的数据结构和相关的类,即为Model。Model是与View无关,而与业务相关的。 视图层: 一...原创 2019-10-07 23:40:00 · 310 阅读 · 0 评论 -
【精华】Android面试精华总结——数据存储与IO
一、File文件存储1.文件的操作模式2.相关操作方法3.读取SD卡上的文件4.读取raw和assets文件夹下的文件 如果我们不想自己的文件被编译成二进制文件的话, 我们可以把文件放到这两个目录下,而两者的区别如下:res/raw:文件会被映射到R.java文件中,访问的时候直接通过资源ID即可访问,而且 他不能有目录结构,就是不能再创建文件夹assets:不会映射到R....原创 2019-10-07 18:33:36 · 453 阅读 · 0 评论 -
【精华】Android面试精华总结——Intent组件
一、Intent简介 Intent是四大组件间的枢纽,Android通信的桥梁。Activity、Service、BroadcastReceiver三种组件之间的通信都以Intent作为载体,只是不同组件使用Intent的机制略有区别而已。Intent封装了程序想要启动或触发目标组件的信息,其还可用于被启动组件交换信息。 二、Intent类型1.显式Intent 通过组件名明...原创 2019-05-12 19:08:42 · 503 阅读 · 0 评论 -
【精华】Android面试精华总结——AsyncTask组件
一、AsyncTask简介 为了避免UI线程失去响应的问题,Android建议将耗时操作放在新线程中完成,但新线程也可能需要动态更新UI组件,但新线程不允许直接更新UI组件。在Android的多线程编程当中,我们有两条非常重要的原则必须要遵守:绝对不能在UI Thread当中进行耗时的操作,不能阻塞我们的UI Thread。不能在UI Thread之外的线程当中操纵我们的UI元素。 ...原创 2019-05-12 14:00:31 · 387 阅读 · 0 评论 -
【精华】Android面试精华总结——Handler消息传递机制
一、消息传递机制 Android应用程序被创建的时候都会创建一个UI主线程,但有时会有一些比较耗时的操作,为了防止阻塞UI主线程,我们会将耗时的操作放到子线程中进行处理,处理完之后操作UI,但是Android不允许子线程操作UI,违背了Android单线程模型的原则(即 Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行)。 消息传递机制主要是为了解决Android应...原创 2019-05-12 11:51:43 · 758 阅读 · 0 评论 -
【精华】Android面试精华总结——Fragment组件
一、Fragment简介 Fragment(片段)表示Activity中的行为或用户界面部分。可以将多个片段组合在一个Activity中来构建多窗格UI,以及在多个Activity中重复使用某个片段。可以将片段视为Activity的模块化组成部分,它具有自己的生命周期,能接受自己的输入事件,并且可以在Activity运行时添加或删除片段。Fragment必须被嵌入一个Activity中,它们的...原创 2019-05-10 00:34:26 · 455 阅读 · 0 评论 -
【精华】Android面试精华总结——Socket网络通信
一、Android网络通信基础1.网络通信简介 Android完全支持JDK本身的TCP、UDP网络通信API,也可使用ServerSocket、Socket来建立基于TCP/IP协议的网络通信,还可使用DatagramSocket、Datagrampacket、MulticastSocket来建立基于UDP协议的网络通信。Android也支持JDK提供的URL、URLConnection等...原创 2019-05-13 22:29:29 · 7379 阅读 · 0 评论 -
【精华】Android面试精华总结——Activity组件
一、Activity简介 Activity是Android应用中负责与用户交互的组件,可以理解成Swing编程中的JFrame控件。多个Activity组成Activity栈,当前活动的Activity位于栈顶。二、Activity生命周期三、Activity的启动方式1.显式启动比较快速,创建Intent后直接指定包名和类名即可。2.隐式启动不显示指定组件,通过动作、类型、数据...原创 2019-04-29 11:51:40 · 357 阅读 · 0 评论 -
【干货】使用GridView组件显示文件列表时应如何优化显示过程
问题: 如果使用GridView组件显示文件里边,有的文件需要显示缩略图(如图像文件、视频文件、apk程序文件),应该如何优化显示过程? 分析: 如果在显示文件缩略图时选择直接装载图像,当图像比较大时,在BaseAdapter.getView方法中直接装载图像会使GridView组件列表上下滑动时出现停顿现象。 最好的方法是使用任务队列技术:在getView方法中要显示某个图像文件的缩...原创 2019-05-04 10:35:27 · 255 阅读 · 0 评论 -
【精华】Android面试精华总结——ContentProvider组件
一、ContentProvider简介 ContentProvider用于不同的应用程序之间实现数据共享的功能,还能保证数据安全性。ContentProvider是使用表的形式来组织数据的,无论数据来源是什么,ContentProvider都认为是一种表。每个ContentProvider都有一个公共的URI,用于表示这个ContentProvider所提供的数据。 常用的方法有quer...原创 2019-05-02 15:44:31 · 332 阅读 · 0 评论 -
【精华】Android面试精华总结——BroadcastReceiver组件
一、BroadcastReceiver简介BroadcastReceiver本质是一个全局监听器,用于监听系统全局的广播消息,方便实现系统中不同组件间的通信。二、BroadcastReceiver类型1.无序广播调用SendBroadcast()方法发送广播。无序广播不可以被拦截,若被拦截则会报错。无序广播与广播接收者之间不能互传数据 。2.有序广播调用SendOrderedBroa...原创 2019-05-02 15:24:19 · 383 阅读 · 0 评论 -
【精华】Android面试精华总结——Service组件
一、Service简介Service通常位于后台运行,一般不需要和用户交互,因此Service组件没有图形用户界面。Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。二、 Service启动方式1.调用startService启动访问者与Service间没有关联,即使访问者退出了,Service也仍然在运行。不能调用Service内部的方法。start() →\...原创 2019-05-02 15:00:32 · 330 阅读 · 0 评论