自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (12)
  • 收藏
  • 关注

原创 Android组件化架构学习笔记——组件化分发1

一.Activity分发:在Android开发中,Activity是Android的四大组件之一,作为页面呈现容器,起到与用户交互的关键功能。一个Activity可以看作一个独立的容器,可以容纳非常多的业务。Activity的生命周期:onCreate():在创建启动时调用; onStart():处于可见状态时调用; onResume():Activity显示在UI顶层时被调用;...

2019-09-28 11:31:32 410 1

原创 Android组件化架构学习笔记——组件化编译

Gradle本质上是一个Android Studio的自动化编译工具,每个module中的Project对象在编译时会运行内部所有的构建Task。Gradle就如工厂合成的工具一样,很大程度上已经制定了基本流程,但生产时总会有不同的问题,如需要配置不同的原料(Gradle参数),加入特定的工序(加入Task任务)。一.Android基础编译流程:官方提供的构建流程,介绍了编译打包的四个流程...

2019-09-16 21:40:10 589

原创 Android组件化架构学习笔记——Gradle优化

Gradle是Android项目开发环境的一部分,Android Studio每次配置编译时都需要使用Gradle。一.Gradle基础:Gradle本质上时一个自动构建工具,使用基于Groovy的特定领域语言(DSL)来声明项目设置。使用Groovy最大哦的原因就是Groovy基本语法和Java一样,最大程度适应Java开发。当利用Groovy编写自定义插件时,语法并没有太大差异,仅仅是...

2019-09-14 22:05:58 765 1

原创 Android组件化架构学习笔记——组件化编程之静态变量/资源/混淆/多渠道打包

一.组件化的静态变量:R.java的生成:各个module会生成aar文件,并且被引用到Application module中,最终合并为apk文件。当各个次级module在Application module中被解压后,在编译时资源R.java会被重新解压到build/generated/source/r/debug(release)/包名/R.java中。当每个组件中的aar文件汇总...

2019-09-13 10:48:47 710

原创 Android组件化架构学习笔记——组件化编程之权限管理

权限设立的目的是保护安全。一.权限机制:Android底层是基于Linux系统的,而Linux权限访问由进程和文件两个部分组成。系统权限分为三种类型:Android所有者权限,相当于拥有Android Rom开发权限,可以获取所有的权限; Android Root权限,相当于取得Linux系统中的最高用户权限,可以任意对文件进行修改; Android应用程序权限,获取只能通过A...

2019-08-30 22:48:27 516

原创 Android组件化架构学习笔记——组件化编程之数据存储

Android中的五种存储方式:SharePreferences,File I/O,SQLite,ContentPreferences,网络。网络存储:一定固定的路径可以获取到相关信息; File I/O(文件存储):便于携带和分享; SQLite(数据库):通过事前管理的机制,数据处理高效; ContentPreferences(内容提供者):跨app传输数据,速度取决于存储数据的获取...

2019-08-25 19:49:09 780

原创 Android组件化架构学习笔记——组件化编程之动态创建

组件化中使用动态创建的作用是解耦一.反射基础:反射机制是在运行状态中,对于任意一个类,能够知道这个类的所有属性和方法。反射是可以在一个类运行的时候获取类的信息的机制,可以获取在编译期不可能获取类的信息。对于任何一个对象,能够调用它的任意一个方法和属性。因为类的信息是保存在Class对象中的,而这个Class对象是在程序运行时被类加载(ClassLoader)动态加载的。当类加载器装载运行了...

2019-08-25 12:46:24 343

原创 Android组件化架构学习笔记——组件化编程之组件间跳转

一.隐式跳转:

2019-08-17 14:19:40 565

原创 Android组件化架构学习笔记——组件化编程之通信机制

一个项目的开启时,需要深入评估工具在编程中的代价和实现成效。工具直接影响着工作效率,首先要知道有什么工具(工具类及库)?怎么选择这些工具?怎么使用这些工具?使用这些工具有什么好处?怎么做才能做到更加高效,以减少工具消耗和人力消耗的计量?时间维度:沟通时间,决策时间,编码时间,维护时间;空间维度:产生工程包大小,运行内存,方法量。一.本地广播:LocalBroadcastManage...

2019-08-11 12:10:57 334

原创 Android关于虚拟控件、全面屏及悬浮球机型适配时遇到的问题

现在市面上全面屏的手机,有些机型存在悬浮球的设置。在界面设计的时候就要考虑如全面屏/虚拟键/悬浮球三种情形的关于控件适配的问题。当遇到一些视频显示及图片显示时,全面屏/虚拟控件/悬浮球状态时会对控件进行缩放。这样就使得原本按比例显示的视频和图片出现拉伸的情况出现。这时我们要设定比例的控件不受全面屏/虚拟控件的显示及隐藏/悬浮球显示与否的影响。1、全面屏:2、虚拟控件隐藏:3、悬浮球...

2019-07-18 21:49:44 760

原创 Android组件化架构学习——组件化基础

一.组件化/模块化及插件化概念:多module划分业务和基础功能,这概念作为组件化的基础。组件:指的是单一的功能组件,如视频组件(VideoSDK)/支付组件(PaySDK)/路由组件(Router)等,每个组件都能单独抽出来制作成SDK。 模块:指的是独立的业务模块,如直播模块(LiveModule)/首页模块(HomeModule)/即时通讯模块(IMModule)等,模块相对于组件...

2019-07-09 22:20:39 358

原创 iOS基础界面编程———UIView和UIWindow

首要的第一步是了解iPhone应用程序的声明周期和它的界面分布情况,UIApplication和UIView相关知识是iPhone应用程序开发基础。 1.UIWindow和UIView:在iOS平台上运行的程序都有一个UIApplication类的对象,UIApplication类继承于UIResponder类,它是iOS应用程序的起点,负责初始化和显示UIWindow,还接...

2019-07-01 22:07:12 331

原创 iOS开发常用设计模式

在开发中很好的利用某种特定的开发模式,则能对编写的程序起到画龙点睛的作用。 1.协议代理设计模式: 协议(protocol)类似于Java中的接口,但与接口不同的是,协议没有父类,也不能定义实例变量,在协议中定义相应的方法,在其他的类中进行实现。因此,协议也是iOS开发中比较特殊的一种设计结构。 协议有两种方法,一种是必须实现的方法,也就是require方法;...

2019-06-25 20:50:46 1015

原创 Android开发对于iOS基础的对比学习

Android开发使用的是Java语言进行编写,当然最近Google的kotlin逐渐变成Android的官方认可的语言。虽然kotlin的语法模式跟Java有些区别但对于一个多年Android开发经验的开发者来说上手比较快,Java和kotlin在Android开发中很多相关的知识点多能套用。出于对移动端开发的热爱,要了解两大移动系统的开发,iOS开发还是挺吸引人的。 大学时的C基础基...

2019-06-14 21:39:14 683

原创 Android开发中优化分析及总结笔记

一、奔溃的原因及优化: 1、Android的奔溃分为Java奔溃和Native奔溃。 Java奔溃就是在Java代码中,出现了未捕获异常,导致程序异常退出。Native奔溃是因为Native代码中访问非法地址,也可能是地址对齐出现了问题,或者发生了程序主动abort,这些都会产生响应的signal信号,导致程序异常退出。 2、Native奔...

2019-02-28 18:10:38 767 2

原创 数据结构与算法之“串”学习笔记

         在较早的程序设计语言中,字符串是作为输入和输出的常量出现的。随着语言加工程序的发展,产生了字符串处理。这样,字符串也就作为一种变量类型出现在越来越多的程序设计语言中,同事也产生了一系列字符串的操作。字符串一般称为串,在汇编和语言的编译程序中,源程序和目标程序都是字符串数据。在事务处理程序中,顾客的姓名和地址以及货物的名称、产地和规格等一般也是作为字符串处理的。又如信息检索...

2018-12-31 15:45:15 600

原创 数据结构与算法之“线性结构”学习笔记

 线性结构的特点是:        在数据元素的非空有限集中,1).存在唯一的一个被称做“第一个”的数据元素;2).存在唯一的一个被称做“最后一个”的数据元素;3).除了第一个之外,集合中的每个数据元素均只有一个前驱;4).除了最后一个之外,集合中每个数据元素均只有一个后继。 线性表中的数据元素可以是各种各样的,但统一线性表中的元素必定具有相同的特征,即属同一数据对象,相邻数据元素之间...

2018-12-07 17:32:54 314

原创 数据结构与算法之“概念及复杂度分析”学习笔记

一、数据结构与算法的概述:     什么数据结构:       一般说来,计算机解决一个具体的问题时,大致需要经过下列几个步骤:          首先,从具体的问题抽象出一个适当的数学模型;          然后,设计一个解此数学模型的算法;          最后。编出程序,进行测试调整直至得到最终解答。      寻求数据模型的实质是分析问题,从中提取操作的对象。并...

2018-12-06 15:14:09 286

原创 Android下自动连接指定SSID的WIFI的简单实现

一、关于WiFi模块的概述:  1.在Android developer的文档中WiFi模块的信息:      首先,登记广播的监听;其次,请求扫描wifi信号;最后获取扫描到的wifi信息。  2.在广播监听到结果后,创建出WifiManager的对象之后通过getScanResults()方法获取到扫描wifi的对象信息。     二、指定SSID和密码进行wifi的自动连接:...

2018-10-31 16:01:05 10915 1

原创 亚马逊Alexa Auto SDK示例SampleApp的集成开发

      从这个月十号起亚马逊关于车载语音的开源项目Alexa Auto SDK正式在Github推出,其中Alexa Auto SDK引擎、 核心模块、Alexa模块、导航模块、手机控制模块五大模块几近涵盖了车载导航方面的所有功能示例。一、整体模块的功能:            Alexa Auto SDK包含将Alexa集成到汽车中所需的基本客户端软件。Alexa Auto SDK提...

2018-08-21 18:46:58 5207 5

原创 android Gradle例如:“style attribute 'android:attr/keyboardNavigationCluster' not found.”报错的处理

1、在Github中clone下来到本地编译时一般出现Gradle配置与本地Gradle不同的问题,这样的话就需要去修改Gradle里面的配置项。例如:C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\design-26.1.0.aar\5ba96bfecef770e540dd547a1303d7a1\res\val...

2018-08-16 11:04:05 6837 1

原创 GamepadView、JostickView仿创客工场中的遥感的自定义View

一、游戏操纵杆的展示:       小时候必定玩过小霸王类的手柄游戏,很怀念小时候。无意间看见创客工场里控制机器人的View中有一个类似操纵杆的控件。所以很感兴趣的仿造做了一个玩玩,效果如下:二、实现的思想步骤:  1、首先自定义View的三大步骤 onMeasure()、onDraw()、onLayout(),在此控件中放置对应的图片即可实现。onLayout的放置似乎没有什...

2018-08-04 11:29:29 985

原创 亚马逊Alexa技能的创建流程

1.Alexa技能的开发首先需要一个亚马逊的开发者账号https://developer.amazon.com 如下进入Amazon Alexa: 2.在账号的控制台上“Your Alexa Consoles” --> Skills3.进入Alexa技能的创建界面 --> "Craete Skills"创建自己的技能:4.Alexa技能中的Bulid: ...

2018-05-22 19:12:38 5515

原创 亚马逊语言识别Alexa之AlexaAndroid的接入及AlexaAndroid的源码解析(二)

上一篇文章介绍了验证api_key.txt的流程,这首先是开发AlexaAndroid的第一步。在基于AlexaAndroid项目的基础上要分析项目的源码之后,根据的需求去进行下一步的开发。这样就要看懂AlexaAndroid关于语音识别的整个流程。 其实语音识别是亚马逊后台Alexa Service后台在做的,我们只要接入:    1、登录亚马逊的模块;    2、语音收集的模块;...

2018-05-12 16:50:26 1868

原创 亚马逊语言识别Alexa之AlexaAndroid的接入及AlexaAndroid的源码解析(一)

一、用于国外关于语音识别的产品,现在亚马逊开发了Alexa给开发者使用。国内的话语言识别当然就科大讯飞莫属了,最近在接入亚马逊Alexa语音识别遇到很多在Stack Overflow中都没人解答的坑坑。在此以博客的形式记录自己深陷的坑和相应的解决办法。整个接入的流程如图:二、先把https://developer.amazon.com/zh/docs/login-with-amazon/insta...

2018-05-05 15:38:24 7506 21

原创 Java设计模式学习笔记之操作型模式

    一、操作型模式介绍:        在编写一个Java方法时,你完成的是整个工作中级别高于单行代码的一个基本单元。这些牵方法涉到整体设计、架构以及测试以及测试计划。编写方法时面向对象编程的中心环节。但反过来说,尽管方法时软件设计的核心,我们还是难以解释方法到底是什么,方法又是如歌工作的,追本溯源,还是因为许多开发人员常常混淆了方法与操作的含义。进一步讲,算法和多态的概念比方法更加抽象,但最...

2018-02-09 15:55:52 308

原创 Java设计模式学习笔记之构造型模式

一、构造型模式概念介绍: 1、构造函数:    若要创建一个Java类,通常会提供多个构造函数。构造函数是有用的,尽管只有客户类知道该使用哪个构造函数以及传递什么参数来创建类。  初始化对象的常见方法是调用new操作符,也可以使用反射。反射提供了能将类型与类型成员像对象一样操作的能力。 一般情况下,你需要为自己开发的类提供构造函数使其能够被初始化。这些构造函数可能相互调用协作,并且类中的每个构造函...

2018-02-09 15:51:32 837

原创 Java设计模式学习笔记之职责型模式

一、职责型模式介绍: 1.普通的对象需要一些独立操作的信息和方法。然而,有时却需要将对象从一般的独立性操作中分离出来,以便集中职责。很多设计模式都能满足这一需求。有的模式则通过引入对象来封装这些请求,并将该对象从依赖于它的其他对象中分离出来。面向职责的模式提供了用于集中、加强以及限制普通对象责任的技术。 2.常规的职责型模式: 一个易于使用的类的特征在于,它的方法名是有意义的,并能准确地表述方法要...

2018-02-08 17:30:57 278

原创 Java设计模式学习笔记之接口型模式

一.接口型模式的介绍:类的接口是类允许其他类对象访问的方法与字段集,接口代表一种承诺,即方法需要实现接口方法名表示的操作,类的实现就是位于方法体中的代码。接口与抽象类的关键区别:虽然类只能声明扩展一个类,却可以声明实现多个接口。接口在不同场景下的使用模式: 适配器模式:适配类的接口以匹配客户端期待的接口;外观模式:为一组类提供一个简单接口;合成模式:为单个对

2018-02-06 17:09:55 333

原创 Android关于Blockly对Workspace中的block数据保存及读取的流程,及改造原生代码实现Trash垃圾桶中的block保存及读取

一.Blockly对Workspace中的block数据保存及读取的流程源码分析: 1.Workspace的自动保存:在AbstractBlocklyActivity中有onAutosave()的方法用于对Workspace的block数据进行保存。保存的流程如下  1).在AbstractBlocklyActivity的onAutosave(),获取自动保存的路径:/**

2018-01-31 18:23:45 1602 2

原创 Android在RecyclerView中嵌套ScrollView,解决两者间的滑动冲突

在RecyclerView中的item中嵌套一些布局如TextView,在这种情况下如TextView的字数很多超过所设定的布局大小。这样就需要在item中加一个ScrollView可以用于用户的滑动。1.RecyclerView的item布局如:xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android

2018-01-11 16:26:16 4081

原创 Android中画布连线的连线动画的实现

一.实现在画布中连线的动画的效果,如图所示:

2017-12-11 11:14:13 3533 7

原创 Blockly之工具Block模块的加入流程

一.Block小模块的加入过程:在Blockly中侧边栏中的ToolBox是的加入经过assets目录下的json文件数据进行转化成Block的小模块。json中的数据标签通过BlockDefinition类解析一个个的具有属性Block模块,之后把Block模块加入到BlockFactory的工厂中。在需要的地方绘制到Fragment中去。二.添加自定义的模块的流程:

2017-11-04 17:58:17 5560 3

原创 关于"app:transformClassesWithDexForDebug"报错的问题解决

在项目开发中出现:Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.con

2017-10-14 14:12:43 6000

原创 Android中的IPC机制

一.IPC是Inter-Process Communication的缩写,含义为进程间通信。是指两个进程之间进行数据交换的过程。Android中会为每一个应用分配一个独立的虚拟机,或者说为每个进程都分配一个独立的虚拟机,不同的虚拟机在内存分配上有不同的地址空间,这就导致在不同的虚拟机中访问同一个类的对象会产生多分副本。使用多线程会造成的问题:1.静态成员和单例模式完全失效;2.线程

2017-09-30 08:59:41 354

原创 Android中的Window和WindowManger

Window是一个抽象类,具体实现是PhoneWindon。创建Window是通过WindowManger完成的。WindowManger是外界访问Window的入口,Window的具体实现位于WindowMangerService中,WindowManger和WindowMangerService的交互是一个IPC过程。Android中的所有视图都是通过Window来呈现的,不管是Actvivt

2017-09-17 16:35:56 318

原创 Android中获取view的宽高的几种方法

很多自定义的view中需要在某个方法中获取一个View的宽高之后再进行相应的操作,但activity中的onCreate、onStart、onResume的方法中是无法正确的获取到某个想要获取View的宽高信息的。这是因为View的measure过程和activity的生命周期方法不是同步执行的,因此无法保证activity执行了onCreate、onStart、onResume时View已经测量

2017-09-17 09:13:32 441

原创 Android中类似于IOS的CoverFlow效果实现源码分析

一、Android中的coverflow1.在onLayout()方法中对item的放置从中间位置开始对adapter设置进来的item数量进行放置。之后在方法refillRight()和refillLeft()左右填充之后实现了item的循环显示。2.在dispathDraw()方法进行item的绘制算出了中间位置信息。3.事件的处理得dispathTouchEvent()对触摸的处理的分发,重要的是获取item的绘制顺序之后每个item算出了滑动的范围。在滑动时可对每个item进行平移的滑动的设置

2017-09-02 15:53:38 1899

原创 android跟App相关的辅助类

代码:public class AppUtils { private static BluetoothManager bluetoothManger; private AppUtils() { /* cannot be instantiated */ throw new UnsupportedOperationException("cannot

2017-08-29 15:49:09 328

原创 Android中的view的体系总结

一.View基础知识:1.View的位置参数:View的位置主要是由四个顶点来决定的,分别是top、left、right、bottom。top是左上角从坐标、left是右下角横坐标、right是右下角横坐标、bottom是右下角纵坐标。这里的坐标都是相对于View的父容器来说的。获取方式:getLeft()、getRight()、getTop()、getBottom()。2.Mot

2017-08-27 23:15:04 318

Android下自动连接指定SSID的WIFI的简单实现的demo

Android下自动连接指定SSID的WIFI的简单实现的demo,  需求分析:在很多的智能设备上并没有可用于交互的界面。这种情形在智能设备就可以提供指定SSID和密码的wifi自动连接。

2018-10-31

GamepadView、JostickView仿创客工场中的遥感的自定义View

仿创客工场中GamepadView、JostickView的操纵杆的自定义View!!!!!!!!!!!!!!!!1

2018-08-04

Android Blockly积木编程源码对Workspace中的block数据保存及读取的流程,及改造原生代码实现Trash垃圾桶中的block保存及读取

Android Blockly积木编程源码对Workspace中的block数据保存及读取的流程,及改造原生代码实现Trash垃圾桶中的block保存及读取。

2018-01-31

Android 画布Canvas之连线动画Demo

实现在画布中连线的动画的效果,可以控制连线动画的速度,连线的颜色及线宽!!!!!!!!!!!11!!!!!

2017-12-11

Coverflow源码改造之后的代码

Coverflow源码改造之后的代码,实现在控件左右两边限制了卡片的数量,并在下一个卡片出现之后要消失的卡片随之隐藏需求的的要求。

2017-09-18

Android 画布Canvas之控件连线操作Demo

1.在画布中的控件A长按能进行控件的连接,只有在控件B范围内抬起控件之间的连线才能连接成功; 2.当控件连线成功后,拖动控件AB之间的连线随着控件的拖动随之变化; 3.控件连线在屏幕上随着手势滑动触碰到连接则断开连线; 4.控件拖动时如拖动到其他控件的范围位置之内则弹回原来的位置且控件的连线也恢复原来的位置(控件在屏幕上不能重叠); 5.控件放置时如有控件之间的连线相交则也恢复原来的位置(在屏幕上控件间的连线不能相交); 6.控件拖动到连线上也会弹回; 7.进行控件的连续连接。

2017-07-24

Android自定义万能Canvas画布Demo

1.在自定义的画布中实现可缩放手势,摇一摇可对控件进行整理排序; 2.画布中可以添加位置设定的控件,控件可以响应点击、长按、拖动事件; 3.控件A长按事件会隐藏画布中的控件除了A之外,显示另一个控件B;当A在在底层画布中拖动,拖动结束之后回到原画布;当A移动B的位置范围响应操作(可以添加另方面功能)。

2017-07-17

kotlin基础

kotlin语言文档

2017-07-09

Android自定义画布及环形菜单

1.画布绘制控件的方法,控件应该是一个可以自定义的; 2.画布是可以缩放,且提供一个缩放的方法供外使用; 3.控件之间连线的方法; 4.画布缩放之后手势滑动的识别实现; 5.环形菜单的实现。

2017-07-02

StickyLayoutDemo

StickyLayoutDemo

2017-04-08

Android中RecyclerView的item运用覆盖view的方法实现item的动画效果1

item实现item的动画效果,item实现item的动画效果item实现item的动画效果item实现item的动画效果item实现item的动画效果item实现item的动画效果item实现item的动画效果item实现item的动画效果item实现item的动画效果

2017-04-04

Android中RecyclerView的item运用覆盖view的方法实现item的动画效果

Android中RecyclerView的item运用覆盖view的方法实现item的动画效果,Android中RecyclerView的item运用覆盖view的方法实现item的动画效果

2017-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除