android框架

GitHub上优秀的开源资源

落爺英雄遲暮 提交于 2020-01-25 03:36:20
(1)整理了所有跟编程相关的免费书籍 https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md (2)几乎包括了国内各种学习 Android 的资料 https://github.com/Freelander/Android_Data (3)一些常用编程书籍 https://github.com/Geek-Organization/geek-programming-books (4)处于萌芽阶段的 Java 核心知识库。 https://github.com/crossoverJie/JCSprout 2. Android 开源框架合集,工具类,UI (1)基本囊括了所有 Github 上的 Android 优秀开源项目 https://github.com/Trinea/android-open-project (2)整理了所有跟 Android UI 相关的优秀开源项目 https://github.com/wasabeef/awesome-android-ui (3)android各种工具类 https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-CN

安卓开发笔记——打造属于自己的博客园APP(四)

北城以北 提交于 2020-01-24 21:23:40
  在上一篇文章《 安卓开发笔记——打造属于自己的博客园APP(二) 》中,我们基本上实现了主界面的搭建,网络框架的搭建,各博客列表页面的展示包括更新效果,对图片做了三级缓存处理(后面会把文章,新闻做成离线闪存,实现无网络也能照常浏览)。   今天来讲讲博客详情页和评论页面的实现,国际惯例,先上效果图:(动态图片比较大,加载需要点时间)     这里说下,关于上篇文章XML的解析,我后来查了下确实有一些方便解析的工具,例如:FastXML,Xstram等且效率更高,这里是在它的官方找到的一张数据图: 文章里我就还是先采用原生的pull解析了,等重构代码时候再换上工具类吧,先把项目做完。    好了,废话不多说了,直接进入主题: 1、关于RecyclerView的点击事件   首先先来说下关于RecyclerView的点击监听事件,在上篇文章提到,RecyclerView是ListView升级版,顾名思义它是为效率而生的,它不关心多余的任何事情,比如Item项的动作监听,Item项的分割线,Item项的添加动画效果,只专注于数据的展示实现,相比ListView它更符合软件设计原则,更加解耦。   上面提到它不关心Item项的动作监听,很自然,它没有和ListView控件一样提供类似setOnItemClickListener这种监听方法,需要我们自己来实现,那么很自然的

Android包文件

荒凉一梦 提交于 2020-01-24 03:41:23
Android包文件 android.media :提供一些类管理多种音频、视频的媒体接口 android.net :提供帮助网络访问的类,超过通常的java.net.* 接口 android.os :提供了系统服务、消息传输、IPC 机制 android.opengl :提供OpenGL 的工具 android.provider :提供类访问Android 的内容提供者 android.telephony :提供与拨打电话相关的API 交互 android.view :提供基础的用户界面接口框架 android.util :涉及工具性的方法,例如时间日期的操作 android.webkit :默认浏览器操作接口 android.widget :包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用 android.app :提供高层的程序模型、提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容提供者浏览和操作数据库 android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上. android.location :定位和相关服务的类 来源: https://www.cnblogs.com/smallgo/p/3163333.html

Android体系结构及activity生命周期

巧了我就是萌 提交于 2020-01-24 03:38:57
Android 的系统 架构 采用了分层架构的思想,如图1所示。从上层到底层共包括四层,分别是应用程序程序层、应用框架层、系统库和Android运行时和 Linux 内核 Android 的系统 架构 图 每层功能简要介绍如下: 一 应用程序层 该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用 Java 语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。    home:首页     contacts:联系人应用     phone:电话     browser:浏览器应用   二 应用程序框架层 该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。 三 系统库和Android运行时 系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit

Android的系统架构

£可爱£侵袭症+ 提交于 2020-01-24 03:20:31
Android的系统架构采用了分层架构的思想,如图1所示。从上层到底层共包括四层,分别是应用程序程序层、应用框架层、系统库和Android运行时和Linux内核。 图1:Android系统架构图 每层功能简要介绍如下: 一 应用程序层 该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。 二 应用程序框架层 该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。 三 系统库和Android运行时 系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数

android项目的的目录结构

六月ゝ 毕业季﹏ 提交于 2020-01-24 03:01:30
然 后我们 看一下Helloword的程序目录: 我们可以看到 大致有的文件 : 1. MainHelloWorld.java文件 2. R.java文件 3. android.jar文件 4. RES、Layout、main.xml文件 5. androidmainfest.xml文件 还有目录大致有 1. src 2. gen 3. assets 4. res res 下边有 drawable 放一些图片资源 , layout 放一些布局文件,values 放一些文字资源 , 另外有时候会有 raw 文件 raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。 raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。 2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1.读取res/raw下的文件资源,通过以下方式获取输入流来进行写操作 InputStream is = getResources().openRawResource(R.id.filename); 2

Android单元测试

隐身守侯 提交于 2020-01-24 01:14:49
Android单元测试 单元测试 单元测试理解 Java的单元测试 Android客户端的单元测试 单元测试 说到测试,主要分为,冒烟测试,集成测试,单元测试。单元测试是保证基础模块、单元工作正常的一种保证手段。在互联网短平快的敏捷开发的开发模式中,常常因为业务繁多,而忽视了单元测试,造成积重难返的局面。编程好比造房子,砖块好比每一个单元,只有保证每一块砖的坚实耐用,才能保证整个房子的坚固可靠。而在业务繁多的互联网公司,尤其是2C企业的业务部门,往往只是做一个活动,能跑起来就上线,几天后就下线,对性能,可靠性不是那么考量。但是,个人觉得SDK和支撑上层业务的基础能力是一定需要单元测试的。 单元测试理解 单元测试是保障单元可用性的途径,主要通过验证单元的逻辑,需要注意以下几点: 多条分支的逻辑必须覆盖 预期结果与实际结果必须一致才算测试通过 Java的单元测试 java的单元测试,主要通过jUnit框架来实现,通过注解来标注每个测试用例。通过断言来判断是否测试通过。 主要的注解有: @Before @After @Test @BeforeClass @AfterClass Android客户端的单元测试 Android开发是Java开发衍生,测试也大致相同,有多种测试框架。这里推荐UI单元测试 robolectric 配置如下: build.gradle 中添加配置 android

2019 零收入的一年

会有一股神秘感。 提交于 2020-01-23 16:10:57
今年的收入和代码量成反比。😂 今年学习了flutter,是个不错的玩具,运行很流畅,ui也很漂亮。👍 优点就是能够快速开发漂亮的App(但维护起来却不容易🥺)。 我也专门用Flutter开发了一个 看动漫的App ,用来每天敲完代码躺在床上补番。😃 期间也开发了5-6个flutter的插件: flutter_android_pip 在Android设置画中画模式 flutter_screen 在Android上防止屏幕进入睡眠模式 flutter_github_releases_service 使用github的releases更新apk flutter_video_box 一款播放视频的ui小部件 flutter_ajanuw_router 一款路由管理器 flutter_breakpoints 用于获取页面断点xs,sm,md,lg,xl flutter_imagenetwork 这个小部件友好的处理了获取网络图片时出现错误的情况 在下半年也开始尝试编写自己的前端框架 aja ,自己编写一个玩具,就能添加一些稀奇古怪的功能,同时能够学习其它框架。 今年基本就在编码中度过,希望明年多找点零用钱,买台MAC,用于编写IOS应用程序。🎉🎉🎉 最后向大家推荐一位程序员 shiffman ,他的编码能带来快乐😊 来源: https://www.cnblogs.com/ajanuw/p

浅析-探究Android世界 APP启动的奥秘一

拟墨画扇 提交于 2020-01-23 03:58:17
走进Android世界,指尖轻轻的触碰即可打开一个个缤纷多彩的应用,即可享受极致的交互体验。到底是谁在背后操纵这一切,默默维护着秩序? 角色登场: 系统服务: ActivityManagerService (AMS管理组件生命周期等); WindowManagerService(WMS管理窗口展示); PackageManagerService (PKMS记录并管理所有包体相关信息): 应用概念:Application (实际作用域:更加贴合进程; 若APP中有多个进程,则会创建多个Application) 主线程:ActivityThread (应用的主线程,承接了与AMS服务交互(AMS通过ApplicationThread与应用进程交互),于此同时调度当前进程中的组件周期变化) 组件:Activity,Service,ContentProvider, BroadCast 关系分解: (1) 系统服务与四大组件 : Android系统中设计不同服务的管理,如AMS,WMS,PKMS等,其目的是统筹对所有运行在系统上的应用进行管控。于此同时,系统服务框架的构建屏蔽了开发者开发应用需向底层交互的细节。系统服务搭建了一套快速构建应用的模板(就是我们常用的四大组件) 而每个组件都是职责明确的: Activity主要维系用户交互, Service主要用于长时间驻留后端处理事务,

Android自定义View/ViewGroup

折月煮酒 提交于 2020-01-22 00:14:04
一、基本步骤 自定义属性; 重写onMeasure()方法; 重写onDraw()方法; 重写onLayout()方法; 选择和设置构造方法; 重写其他事件的方法(滑动监听等) 二、常用到的View方法 View方法 实现一个自定义视图,通常要提供框架在所有视图上都会调用的标准方法的重写,这些标准方法有: 分类 方法 描述 创建 构造器 有一种构造器形式是当视图是从代码创建时调用的;还有另一种构造器形式是当视图是通过布局文件来创建时调用的。第二种形式要解析和应用定义在布局文件中的属性。 创建 onFinishInflate() 当一个视图及其所有孩子都从XML文件创建完成时调用。可以做些初始化子控件的操作 布局 onMeasure(int, int) 调用这个方法决定视图及其所有孩子的大小要求,当覆盖这个方法时,我们应该调用setMeasuredDimension(int,int)存储测量好的视图的宽度和高度。如果这个方法被重写,那么这个子类要确保测量的高度和宽度至少是视图的最小高度和宽度。 布局 onLayout(boolean, int, int, int, int) 当这个视图要给它的孩子分配大小和位置时调用 布局 onSizeChanged(int, int, int, int) 当视图的大小发生改变时调用 绘图 onDraw(android.graphics.Canvas