精华内容
下载资源
问答
  • 在面试的过程中我深深的感受到,对于一个优秀的安卓开发来说,首先摆在第一位的还是他/她作为一个软件工程师的基本素养。无论你是做前端还是后端,最后定义你的优秀程度的还是作为软件工程师的基本素养,学习能力和...

    导语

    2020年是转折的一年,2021年算是收获的一年,趁着金三银四开始找工作。先分享一下offer的情况
    • 阿里高德(offer)
    • 爱奇艺(offer)
    • 腾讯视频(offer)
    • 小米(被拒)
    • 今日头条(被拒)
    在面试的过程中我深深的感受到,对于一个优秀的安卓开发来说,首先摆在第一位的还是他/她作为一个软件工程师的基本素养。无论你是做前端还是后端,最后定义你的优秀程度的还是作为软件工程师的基本素养,学习能力和编程能力,还有设计能力。

    JetPack里的组件

    上图就是JetPack中包含的组件列表,每个组件都是相对独立的,可以被单独使用和构建。其中像被介绍的最多,也是最常被使用的LiveData, ViewModel, Room, Navigation, WorkManager之类的都发布了正式版,而CameraX, Compose之类的还处在Alpha版本,未正式发布,官方并不建议在生产环境中使用。

    然后说下,JetPack所有的组件都是基于AndroidX构建的,如果想在项目中使用JetPack需要先将项目中对Support Lib的依赖全部换成AndroidX

    Android目前已经发展了11年,可以说是比较成熟的技术了,一开始时框架很少,也没有什么规范,所有的代码都是要自己写,比如网络请求,数据库请求,数据解析等等。后来出现了一些框架来帮助开发者快速进行开发,比如XUtils、Volley、OKHttp、EventBus等,随着框架越来越多,一个应用可以有多种技术选型,直接导致应用开发越来越不规范,导致做出来的应用质量参差不齐,这显然不是谷歌想看到的。谷歌随后推出了MVP和MVVM相关的官方例子,效果很一般,而且覆盖面只是在架构上,Goole I/O 2018大会上推出的Android Jetpack有望解决以上的问题。

    三、Android Jetpack简介

    Jetpack并不是一个框架或者组件,它是一套库、工具和指南的集合,可帮助开发者更轻松地编写优质应用。这些组件可帮助开发者遵循最佳做法、摆脱编写样板代码的工作并简化复杂任务,以便将精力集中放在所需的代码上。
    Android Jetpack中的很多组件并不都是新开发的,而是很早就有了,比如在Goole I/O 2017大会时推出了 Android Architecture Component(AAC),它包括了LifeCycle、LiveData、ViewModel、Room。在Goole I/O 2018大会上,
    用AndroidX替代了Android Support Library,并在Android Architecture Component的基础上发布了Android Jetpack,AndroidX也是属于Android Jetpack。

    Jetpack主要特性有以下三点:

    1.加速开发
    组件可单独使用,也可以协同工作,当使用kotlin语言特性时,可以提高效率。

    2.消除样板代码
    Android Jetpack可管理繁琐的Activity(如后台任务、导航和生命周期管理)。

    3.构建高质量的强大应用
    Android Jetpack组件围绕现代化设计实践构建而成,具有向后兼容性,可以减少崩溃和内存泄漏。

    四、Android Jetpack分类

    下图是Jetpack的分类。

    谷歌仍旧不断的完善Android Jetpack,截至到2019年8月已经有很多新加的组件并没有显示在上图中,比如CameraX等。Android Jetpack分类有4种,分别是Architecture、Foundationy、Behavior、UI,下面分别介绍下。

    1. Architecture(架构组件)

    Architecture指的是架构组件,帮助开发者设计稳健、可测试且易维护的应用。架构组件可以说是对应用开发帮助最大的组件,本系列也是围绕着架构组件进行讲解。

    DataBinding:以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用。

    Lifecycle:用于管理Activity和Fragment的生命周期,可帮助开发者生成更易于维护的轻量级代码。

    LiveData: 在底层数据库更改时通知视图。它是一个可观察的数据持有者,与常规observable不同,LiveData是生命周期感知的。
    Navigation:处理应用内导航。

    Paging:可以帮助开发者一次加载和显示小块数据,按需加载部分数据可减少网络带宽和系统资源的使用。

    Room:友好、流畅的访问SQLite数据库。它在SQLite的基础上提供了一个抽象层,允许更强大的数据库访问。

    ViewModel: 以生命周期的方式管理界面相关的数据,通常和DataBinding配合使用,为开发者实现MVVM架构提供了强有力的支持。

    WorkManager: 管理Android的后台的作业,即使应用程序退出或设备重新启动也可以运行可延迟的异步任务。

    官方推荐的Android应用架构如下图所示。

    这些架构组件既可以配合使用,也可以单独使用,这里建议还是尽量按照官方推荐的来。

    2. Foundationy(基础组件)

    基础组件提供横向功能,例如向后兼容性、测试、安全、Kotlin 语言支持,并包括多个多个平台开发的组件。

    Android KTX:优化了供Kotlin使用的Jetpack和Android平台API。帮助开发者以更简洁、更愉悦、更惯用的方式使用Kotlin进行Android开发。
    AppCompat:帮助较低版本的Android系统进行兼容。
    Auto: 开发Android Auto应用的组件,提供了适用于所有车辆的标准化界面和用户交互。
    检测:从AndroidStudio中快速检测基于Kotlin或Java的代码。
    多Dex处理:为具有多个Dex文件应用提供支持。
    安全:安全的读写加密文件和共享偏好设置。
    测试:用于单元和运行时界面测试的Android 测试框架。
    TV: 构建可让用户在大屏幕上体验沉浸式内容的应用。
    Wear OS:开发Wear应用的组件。

    3. Behavior(行为组件)

    行为组件可帮助开发者的应用与标准Android服务(如通知、权限、分享)相集成。

    CameraX:帮助开发简化相机应用的开发工作。它提供一致且易于使用的界面,适用于大多数Android。 设备,并可向后兼容至Android 5.0(API 21)。
    DownloadManager:处理长时间运行的HTTP下载的系统服务。
    媒体和播放:用于媒体播放和路由(包括Google Cast)的向后兼容API。
    通知:提供向后兼容的通知API,支持Wear和Auto。
    权限:用于检查和请求应用权限的兼容性API。
    设置:创建交互式设置,建议使用AndroidX Preference Library库将用户可配置设置集成到应用中。
    分享操作:可以更轻松地实现友好的用户分享操作。
    切片:切片是一种UI模板,创建可在应用外部显示应用数据的灵活界面元素。

    4. UI(界面组件)

    Animation and Transition:该框架包含用于常见效果的内置动画,并允许开发者创建自定义动画和生命周期回调。
    Emoji Compatibility:即便用户没有更新Android系统也可以获取最新的表情符号。
    Fragment:组件化界面的基本单位。
    布局:用XML中声明UI元素或者在代码中实例化UI元素。
    调色板:从调色板中提取出有用的信息。

    五、在应用中引入Jetpack相关组件

    在项目build.gradle中添加google() 库,如下所示。

      allprojects {
            repositories {
                google()
                jcenter()
            }
        }
    
    

    如果想引入Room,可以在模块build.gradle中这么写:

        implementation   "android.arch.persistence.room:runtime:1.1.1"
        annotationProcessor   "android.arch.persistence.room:compiler:1.1.1 "
        androidTestImplementation  "android.arch.persistence.room:testing:1.1.1"
    
    

    总结

    这篇文章内部不多,旨在让大家了解Android Jetpack是什么,包括什么,如何引用,从下一篇开始,就开始学习Android Jetpack的架构组件。

    最后对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

    写在最后

    在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。

    如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧

    加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

    35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

    我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

    35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

    展开全文
  • Android软件开发用什么语言

    千次阅读 2014-06-20 11:29:25
    C++没学过,Java懂一些,Javascript精通(不过肯定是不可能这个的) 想学Android软件开发,Java可以吗?...其实就是做一些简单的应用,什么底层那些,目前没那兴趣和精力。就是想做一些玩玩。。。
    C++没学过,Java懂一些,Javascript精通(不过肯定是不可能用这个的)
    想学Android软件开发,用Java可以吗?相对C++会不会有功能上的限制?
    如果是Java,那我当当上搜索了一下书怎么好像都是C++的?
    其实就是做一些简单的应用,什么底层那些,目前没那兴趣和精力。就是想做一些玩玩。。。
    展开全文
  • android app 用什么语言开发的

    千次阅读 2018-12-06 11:31:26
    首先我们需要选用一个语言来开发本地App。 那么,我们第一步干啥了。在现有的语言中挑选语言。 那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。---因为没人,那么库就会少。因为库少就不会好用。...

    首先我们需要选用一个语言来开发本地App。

    那么,我们第一步干啥了。
    在现有的语言中挑选语言。

    那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。
    ---因为没人用,那么库就会少。因为库少就不会好用。因为不好用。所以用的人更少。生态圈的核心思想。
    --那这个世界是不是只有C++/Java了。肯定不是。因为有些语言是有前途的。最大的特点是。简化了程序员的负担。或者效率更高。未来肯定是主流。

    那么我们常用的语言和有前景的语言是哪些
    C/C++/Java/C#/Python/Ruby/Go/JavaScript+Html

    好。这些是我们常用的语言。我们看待的是怎么把这些语言一步步的踢掉。然后只剩下Java的。

    首先踢掉的是C。至今大型的超过10万行代码的图形化界面程序没有几个是用C的。因为复杂的错误处理和没有纠错机制。使得程序非常容易崩溃。同时。因为C没有面向对象。那么工程化开发显得非常麻烦。
    相信没有人现在主动说。用C开发App这种多界面程序吧。

    继续踢掉的是C#。我干嘛要用一个一出生就为了对付Java的。还是微软的私货的语言。对。Android是开源界的。而C#注定不是适合开源界的语言。

    那我们继续踢语言:

    我们该要一门重语言还是轻语言?

    Java/C++/C#/Go/C是重语言。
    Python/Ruby/JavaScript+Html/是轻语言。

    对。我心目中划分语言的标准基本上是属于这样的,只要在代码中体现我们需要讲效率的。那就是重语言。
    重语言首先讲究的是运行效率。然后讲究工程化。
    轻语言讲究开发效率,讲究敏捷性开发。

    回到我们选语言的原则。
    我们想开发一款本地App。还在性能不高的手机上。
    那么除了C之外的开发语言中。运行效率最高的是C++,然后是Java。

    那么轻型语言就要被一个个踢掉了。
    Ruby在网页端有作为。但是库太少。图形库更少,开发者都是网页端的人。被踢。
    JavaScript+Html - ----> 这是未来大一统的趋势。但是我们现在是找一门开发本地App的语言。
    外加真心html+JavaScript有着先天的劣势。(效率+Offline)
    Python有着完善的库。有着极高的人气社区。在手机上开发也有过尝试。(Nokia就干过这事。Ubuntu Phone的UML也是一种类python的语言。)Google也是python的大用户。效率是问题。但是不是绝对的。先对Python实现保留意见。

    那么我们看这一轮入围的四门语言
    Java/C++/Python/Go

    再说Go。Go语言还不成熟。库也不多。开发者少。但是作为Google主打的语言。很有可能。Google会提供基于Go的Android sdk。至少现在Android的主打语言不会是Go。

    剩下三门
    C++/Python/Java
    C++重运行效率。但是跨平台性较弱。开发难度较高。库多,用的人多。
    Python,重开发效率。跨平台性高。开发难度低,库多,用的人多。
    Java。重开发效率。不及python,重运行效率,不及C++。开发难度低。库多。用的人多。

    那再回到需求:
    Google是想要一门开发本地App的语言。Google想屏蔽掉底层硬件的差异。实现对于开发者来说是一个统一的平台。
    同时。对于手机这个现阶段的平台来说。耗电,以及性能。是无法回避的问题。

    那么这门语言的跨平台性要求很高。同时效率又很高。

    说Python:效率实在无法达到其普遍的手机要求。尤其是对于图像处理这种高计算操作。且。社区无法与C++/Java相比。意味着库没有Java和C++多,开发者不是跟Java和C++一个等级的。

    说C++:用过JNI的人都知道本地的C/C++库,至少要编译多次。不同的框架就代表者不同的编译环境。而且直接用C++编译运行的话。C++并不能很好的屏蔽掉硬件差异。所以对于开发来说调试来说,都是一个比较艰巨的任务。
    C++也不是一个非常好的工程化开发语言。
    那有没有破解法。Qt。可以用框架屏蔽掉大部分的细节操作。Qt5.0支持Android。
    为什么没用。估摸着是跟Qt不是Google家的产品加不开源的问题吧。

    说Java:虚拟机是核心。因为虚拟机真正能屏蔽掉开发的很多差异。而且通过虚拟机。开发者只要在打包的时候翻译成运行码而不需要翻译成机器码。通过虚拟机完成很多差异的解决。而效率并不是丢的非常严重。
    且Java比C++更受开源界和工业界的共同欢迎。即使Java也有版权问题。。。

    我们屏蔽掉最基础的硬件差异。通过Linux,在屏蔽掉手机的一些基本功能差异。然后提供纯粹的利于开发者开发和测试的方法。只有通过虚拟机了。而这个虚拟机是需要讲性能的。
    Google搞了一个Davlik虚拟机。对。这就是Android的核心。就是因为性能要求高。不得不重新开发虚拟机。Davlik就是一个非常讲效率的虚拟机。而其他的常用库都有的,现成的。根本就不需要自己去写的。只要打包就好。
    那么还有些必须考效率的库和应用。怎么办。
    用JNI技术调用C++
    对就这么坑爹。

    为什么Object-C这门语言无视我说的大部分要求了。因为Apple有能力创造一门更好的语言。Google对于Android,只是在开源社区挑一门语言。
    且。ObjectC生在Apple,死在Apple。兼容性。人家才不需要考虑。所以人家敢用Object-C,而Android为了实现真正的跨平台。只能选Java。


    作者:Tom哥哥
    来源:CSDN
    原文:https://blog.csdn.net/m0_37412958/article/details/61414203
    版权声明:本文为博主原创文章,转载请附上博文链接!

    转载于:https://blog.51cto.com/luoyi/2326897

    展开全文
  • android app 用什么语言开发的?

    万次阅读 多人点赞 2017-03-11 10:52:05
    那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。 ---因为没人,那么库就会少。因为库少就不会好用。因为不好用。所以的人更少。生态圈的核心思想。 --那这个世界是不是只有C++/Java了。肯定...

     

    作者     Tom     2017/3/11


    首先我们需要选用一个语言来开发本地App。


    那么,我们第一步干啥了。
    在现有的语言中挑选语言。

    那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。
    ---因为没人用,那么库就会少。因为库少就不会好用。因为不好用。所以用的人更少。生态圈的核心思想。
    --那这个世界是不是只有C++/Java了。肯定不是。因为有些语言是有前途的。最大的特点是。简化了程序员的负担。或者效率更高。未来肯定是主流。

    那么我们常用的语言和有前景的语言是哪些
    C/C++/Java/C#/Python/Ruby/Go/JavaScript+Html

    好。这些是我们常用的语言。我们看待的是怎么把这些语言一步步的踢掉。然后只剩下Java的。

    首先踢掉的是C。至今大型的超过10万行代码的图形化界面程序没有几个是用C的。因为复杂的错误处理和没有纠错机制。使得程序非常容易崩溃。同时。因为C没有面向对象。那么工程化开发显得非常麻烦。
    相信没有人现在主动说。用C开发App这种多界面程序吧。

    继续踢掉的是C#。我干嘛要用一个一出生就为了对付Java的。还是微软的私货的语言。对。Android是开源界的。而C#注定不是适合开源界的语言。

    那我们继续踢语言:

    我们该要一门重语言还是轻语言?

    Java/C++/C#/Go/C是重语言。
    Python/Ruby/JavaScript+Html/是轻语言。

    对。我心目中划分语言的标准基本上是属于这样的,只要在代码中体现我们需要讲效率的。那就是重语言。
    重语言首先讲究的是运行效率。然后讲究工程化。
    轻语言讲究开发效率,讲究敏捷性开发。

    回到我们选语言的原则。
    我们想开发一款本地App。还在性能不高的手机上。
    那么除了C之外的开发语言中。运行效率最高的是C++,然后是Java。

    那么轻型语言就要被一个个踢掉了。
    Ruby在网页端有作为。但是库太少。图形库更少,开发者都是网页端的人。被踢。
    JavaScript+Html - ----> 这是未来大一统的趋势。但是我们现在是找一门开发本地App的语言。
    外加真心html+JavaScript有着先天的劣势。(效率+Offline)
    Python有着完善的库。有着极高的人气社区。在手机上开发也有过尝试。(Nokia就干过这事。Ubuntu Phone的UML也是一种类python的语言。)Google也是python的大用户。效率是问题。但是不是绝对的。先对Python实现保留意见

    那么我们看这一轮入围的四门语言
    Java/C++/Python/Go

    再说Go。Go语言还不成熟。库也不多。开发者少。但是作为Google主打的语言。很有可能。Google会提供基于Go的Android sdk。至少现在Android的主打语言不会是Go。

    剩下三门
    C++/Python/Java
    C++重运行效率。但是跨平台性较弱。开发难度较高。库多,用的人多。
    Python,重开发效率。跨平台性高。开发难度低,库多,用的人多。
    Java。重开发效率。不及python,重运行效率,不及C++。开发难度低。库多。用的人多。

    那再回到需求:
    Google是想要一门开发本地App的语言。Google想屏蔽掉底层硬件的差异。实现对于开发者来说是一个统一的平台。
    同时。对于手机这个现阶段的平台来说。耗电,以及性能。是无法回避的问题。

    那么这门语言的跨平台性要求很高。同时效率又很高。

    说Python:效率实在无法达到其普遍的手机要求。尤其是对于图像处理这种高计算操作。且。社区无法与C++/Java相比。意味着库没有Java和C++多,开发者不是跟Java和C++一个等级的。

    说C++:用过JNI的人都知道本地的C/C++库,至少要编译多次。不同的框架就代表者不同的编译环境。而且直接用C++编译运行的话。C++并不能很好的屏蔽掉硬件差异。所以对于开发来说调试来说,都是一个比较艰巨的任务。
    C++也不是一个非常好的工程化开发语言。
    那有没有破解法。Qt。可以用框架屏蔽掉大部分的细节操作。Qt5.0支持Android。
    为什么没用。估摸着是跟Qt不是Google家的产品加不开源的问题吧。

    说Java:虚拟机是核心。因为虚拟机真正能屏蔽掉开发的很多差异。而且通过虚拟机。开发者只要在打包的时候翻译成运行码而不需要翻译成机器码。通过虚拟机完成很多差异的解决。而效率并不是丢的非常严重。
    且Java比C++更受开源界和工业界的共同欢迎。即使Java也有版权问题。。。

    我们屏蔽掉最基础的硬件差异。通过Linux,在屏蔽掉手机的一些基本功能差异。然后提供纯粹的利于开发者开发和测试的方法。只有通过虚拟机了。而这个虚拟机是需要讲性能的。
    Google搞了一个Davlik虚拟机。对。这就是Android的核心。就是因为性能要求高。不得不重新开发虚拟机。Davlik就是一个非常讲效率的虚拟机。而其他的常用库都有的,现成的。根本就不需要自己去写的。只要打包就好。
    那么还有些必须考效率的库和应用。怎么办。
    用JNI技术调用C++
    对就这么坑爹。

    为什么Object-C这门语言无视我说的大部分要求了。因为Apple有能力创造一门更好的语言。Google对于Android,只是在开源社区挑一门语言。
    且。ObjectC生在Apple,死在Apple。兼容性。人家才不需要考虑。所以人家敢用Object-C,而Android为了实现真正的跨平台。只能选Java。
    展开全文
  • 安卓开发为什么选择Java语言

    万次阅读 2019-03-22 22:07:40
    最近几年,安卓应用开发一直处于长期增长的状态,安卓手机平台也是异军突起,甚至挑战了苹果在手机及平板系统的霸主地位,而今天安卓之所以能够有今天的成就,与之前选择java语言开发有着莫大的关系。毕竟事实已经...
  • android底层开发

    千次阅读 2013-12-24 21:20:41
    因为是专攻C语言的,今天看到了一个关于ANDROID底层开发的帖子,还不错,今后或许有勇武之地,所以先收藏先.   ·Android开发:如何实现TCP和UDP传输 http://bbs.starandroid.com/showtopic-10667.html ·Android...
  • 安卓 安卓的编译过程,最开始是编译成.class,虚拟机执行 之后经历了JIT AOT 等阶段,但是都有对应的不足 目前使用了一种折中的方法 安卓最开始是一种解释型语言,边解释边执行,目前使用折中方式 IOS比较纯粹,...
  • Android底层调用C代码(JNI实现)

    万次阅读 2017-08-05 12:51:09
    Android底层调用C代码(JNI实现) 一、基础知识 二、从Android框架角度简单分析JNI 三、标准JNI实现步骤 四、实现JNI过程实例 一、基础知识 1、JNI:百度百科中解释:JNI是Java Native Interface的缩写,它...
  • 王者荣耀-是用什么编程语言开发的

    万次阅读 多人点赞 2017-07-05 09:40:21
    作为一名王者小白,不明白为啥这款游戏这么火,所以就挖挖底层看看用什么语言开发的。 首先下载王者荣耀,400多兆,我特么还开的热点,没办法公司没外网; 安卓版后缀名默认是.apk,手动给apk文件加上.zip后缀名,...
  • Android底层技术:HAL驱动开发

    万人学习 2015-09-22 16:12:26
    本课程提供开发者学习Android底层的HAL(硬件抽象层)的开发方法和技术。HAL所在的位置是介于Android系统服务与Linux内核之间,HAL Driver是以library形式出现,给HAL Stub调用,供Android System架构者调用。而HAL ...
  • 关于android底层的认识

    2016-07-08 22:33:06
    Android底层的认识: 关于android底层刚开始确实有给很多迷茫,这方面的android的数据存储机制和java以及一些C语言的使用紧密的结合会让初学者倍感不适,下面是学习android从应用层到底层的一些自己的看法。 ...
  • 问题如题,原因是lz只会C++,跟别人合作做东西,所以需要C++实现底层代码然后供给移动端,pc端调用,有什么好的办法吗? 第二个问题:推荐一下好的免费服务器,就是托管数据库的。 谢谢!
  • 摘要: 本设计是实现Android底层驱动开发并裁剪定制Android操作系统。其大概流程是在linux系统上借助于gcc编译器编写调试驱动代码,在Android源码中编写APP应用程序、中间件的共享库代码、Android.mk文件、利用javah...
  • 一个c语言设计的开源矢量图形支持库,代码相当成熟 精炼。目前也是android平台graphic部分的系统级别接口。 您猜对了,不错,它就是大名鼎鼎的 cario.喜欢钻研底层技术的程序员,快下了研究吧!
  • Android什么选择Java作为开发语言

    万次阅读 多人点赞 2017-01-16 17:40:55
    Android系统基于Linux,内核和驱动都是使用C/C++语言做开发,为什么又设计一个 Dalvik JVM,然后在SDK 层面选择Java作为开发语言? 首先我们需要选用一个语言来开发本地App。 那么,我们第一步干啥了。 在现有...
  • android底层的学习

    2012-11-22 10:44:56
    Android基本架构 熟悉Android开发环境,仿真器,及如何快速建立程序 Android的开发工作 Android的开发环境 使用Android SDK和仿真器 建立第一个Android应用程序   Android平台四项基本组件:Activity,...
  • 一、前言 众所周知,android系统不能直接控制底层硬件,像单片机那样简单的点个LED灯对于安卓系统来说可没那么简单,那么它是用什么方式来操作底层接口呢?本文对此一一进行探讨。二、JNI是Android操作底层的利器 ...
  • Android 底层知识拾零

    万次阅读 2014-11-30 16:36:36
    打开Android源码路径: ...这些文件都是做什么用的呢?查了些资料整理下: 字库文件 用途 ======================================================= AndroidClock.ttf 用于显示不同样式时间 AndroidCl
  • 最近无意间在脉脉上看到了某度某位员工的言论,他说 Android什么技术,没什么难度,插件化、热修复都是业界自己加戏? 点赞最高的这位网友的说法我很赞同,当我们的项目业务越来越多,性能产生问题时,我们就...
  • android底层HAL层深入了解

    万次阅读 2018-09-06 11:48:22
    需要了解android底层开发,尤其是针对厂商接口对接,我们就需要针对android的HAL层做深入理解,在android的六层架构中,其中HAL层架构在linux驱动层之上,下面我们就来以相机为列做初步了解(官方输出),福利:基础应用...
  • 原标题:坚果 Pro 3迎来基于安卓10底层的Smartisan OS更新2019年10月31日,锤子科技就正式在北京工业大学奥林匹克体育馆发布了最新的旗下新品手机——见过 Pro 3。这款坚果 Pro 3在性能方面搭载了骁龙855 Plus处理器...
  • 今天来写下安卓接口定义语言,也就是大家听了都头疼的AIDL,今天有幸看到慕课网的AIDL视频学习了一下,在此感谢慕课网,是个很不错的网站。 进入正题,Android中跨进程是如何传递数据的?如果是Service方面的当然是...
  • js是用什么语言编写实现的

    千次阅读 2020-03-02 18:26:23
    而不是说.java文件和.py文件是用什么语言实现的。以python为例,.py文件只是开发人员编写的代码合集,这些只是python解释器的执形输入,离开了python解析器,他什么都不是,只有python解释器才认识.py里面的代码、执...
  • 提到《王者荣耀》,大家肯定不陌生,相信大多数人都玩过,说不定此时你刚开黑了一把,但今天我们从技术层面分析一下这款游戏,王者荣耀是用什么编程语言开发的呢? 大公司技术二三事 微软的核心技术栈是C/C++/C#,...
  • Android底层库libutils

    千次阅读 2016-06-21 17:13:47
     libutils 是 Android 的底层库,这个库以 C++ 实现,它提供的 API 也是 C++ 的。 Android 的层次的 C 语言 程序和库,大都基于 libutils 开发。   libutils中的 头文件如下所示:  ...
  • 0 目录1 前言2 驱动开发认识2.1 驱动...已经有段时间没好好地写博客了,最近在研究安卓底层,所以想写写我对安卓底层的认识和总结。本篇是安卓底层学习总结系列的第一篇,驱动开发基础。 2 驱动开发认识 安卓系统,
  • android嵌入式底层开发大纲

    千次阅读 2013-05-21 09:22:02
    android嵌入式底层开发 大大小小会有接近100个练手的小Demo,比如编译内核,修改内核,完成自己的管道通信程序,定制Bootloader等 ...同时最后也会有两个完整的商业标准项目 第一阶段:Linux基础和语言基础 ...
  • 本文来自:安卓航班网 android系统架构图 android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。...
  • Android底层架构:四层 Application (APP) (应用层) Application Framework (AF):例如:继承官方activity (java写的框架) C/C++ Libraries(库) :包括SQLite,Dalvik(虚拟机) (写好的库) Linux 内核+硬件驱动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,818
精华内容 21,527
关键字:

安卓底层用的是什么语言