- 博客(31)
- 收藏
- 关注
原创 Flutter在真机上运行记录
本篇记录下Flutter使用真机运行过程中遇到的一些问题。Android真机运行我是使用Android studio进行Flutter开发的,所以在Android真机上运行,没有什么困难,难点主要是Flutter插件的安装。特别的是资源的更新,主要还是国内访问国外地址下载卡住的问题。另外,如果Android studio插件装好了,但是flutter doctor还是检测失败了,flu...
2020-04-27 16:15:12
755
1
转载 Flutter中解决AndroidX包与Support包冲突问题
本文转载来至https://www.jianshu.com/p/034254874ca9最近在项目开发中遇到AndroidX兼容性问题,如下图BUILD FAILED in 15s*******************************************************************************************The Gradle f...
2020-04-27 11:28:27
1234
原创 Flutter学习记录
前言最近因工作需要,重温Flutter。2018年初次尝试Flutter后写过从入门到放弃,今年重新学习过后,觉得FlutterFlutter已经可以创作想要的App了。目前对于Flutter出现的问题,Google上基本都可以找到答案了,整体生态链也趋向成熟,唯一不太肯定的是对于Flutter的三方架包的支持,但实在不行也可以使用混合开发解决。今天就记录下零零碎碎的知识点,针对大些的...
2020-04-23 11:01:09
1056
3
原创 android实现远程控制
前言最近在搞一个Android端,类似TeamViewer的东西。目前已经实现:在微信中打开一个网址,远程控制Android端页面操作(点击、滑动、回到首页、打开指定APP(比如说钉钉)、熄屏和亮屏)。设备要求一台Android手机(Android7.0以上,模拟点击需要api>=24)、任意可以打开网页的设备(我用的是iphone的微信打开的网页)和JavaWeb服务器...
2019-11-19 18:02:26
13759
7
转载 WindowManager对于窗口的管理以及悬浮窗的实现
前言:本篇摘自https://blog.youkuaiyun.com/qq_33275597/article/details/78429818。对于Window相关总结的非常好,在这里收藏下。WindowManagerWindowManager是窗口管理器, 所有显示窗口都可以通过它来控制// 添加一个View到窗口中WindowManager.addView(view, layout...
2019-11-13 11:15:22
3280
原创 RTMP语音通讯
前言最近在搞即时语音聊天的功能,经过几个月的努力,目前基本稳定,达到了可以上线的标准,在此写篇博客记录下。客户端采用rtmp协议做推流和拉流,在网络稳定的情况下,实测延迟在200ms~500ms。RTMP/RTSP协议说明RTMP仅支持TCP协议、RTSP支持TCP和UDP两种协议。针对推流端,不管使用RTMP还是RTSP都需要使用TCP协议,以保证源头数据的正确性。拉流端如...
2019-09-17 13:57:16
4249
1
原创 JNI调用方法概览
两种调用方式一、使用so库1. 在app下创建jni包,再创建一个.c/.cpp文件#include <jni.h>jstring// Java_包名_方法名Java_com_ikould_testnative_NdkJniUtils_getTestNdkJni(JNIEnv *env, jobject thiz) { return (*env)->N...
2019-09-11 16:46:35
1747
原创 网络技术之协议篇
前言开发中经常被各种协议搞混淆,今天就理一下,将各协议及其对应的层次都总结一次。OSI模型简介OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有...
2019-08-26 18:38:28
1966
原创 Google protocol buffers使用
前言最近在搞消息通道,发现使用Gson数据量太大,所以找了几种序列化方案进行比较下。这里记录下针对Google protocol buffers的使用。Google potocol buffers主要作用于序列化能够更省空间和时间,主要在空间上体现比较明显。而本次在项目上使用它也是因为其节省空间这个特性。环境配置说明:如果是Java后端,需要在本地安装Protocol编译器,用于生成P...
2019-07-23 16:12:53
2490
原创 开源Android Github知识库
说明一直觉得博客篇幅太多不好分类管理,很多想记的东西也不知道以什么样的形式记录才能更好的阅读。看到很多大牛都建立了自己的github知识库,而且能很好的管理知识点。刚好自己也有这方面的打算,所以就建立了一个Github仓库,记录下以前,以后所有的技术点。以后博客也会发,但更详细的欢迎查看本人的github仓库:Android-Technical-Arrangementhttps:...
2019-06-26 19:35:58
2347
原创 Android那些好用的API — CountDownLatch
前言最近有点忙,上月也没有更新,以后补上。平常资源搜索和看一些代码中,总是会发现一些好用却不常用的API,这里就当一个博客系列来分享一下,可能会断断续续,但会一直持续。正题简介今天要分享的是CountDownLatch。在使用这个API之前,我们经常使用synchronized,wait和Lock之类来保证线程同步,synchronized使用起来没啥问题。但在同一个区域块...
2019-04-24 16:04:30
2916
原创 ActivityThread相关源码分析
前言先看ActivityThread相关类图 分析核心的类:ActivityThread各个关键类简介: 1、ActivityThread(进程内唯一):负责进程下Application、所有Activity 2、Instrumentation(进程内唯一):作为ActivityThread组合部分,负责统一创建Application,创建Activ...
2019-02-26 16:08:20
2541
原创 ActivityManagerService相关源码
前言最近看代码发现了一个小技巧:看源码的时候,我们可以一边画UML图,一边看代码,需要注意的是,画UML图的时候,也将对应的包名标注上,相同包名的放在一起,这样可以给我们自己在心里做个标记。Android/Java分包和我们平时一样,都是按照模块或者相似功能放在一起处理,而且为了方便初学者理解,并没有将类进行很细致的多次分包(当然这里也可能是我一厢情愿的理解,但多少帮我解释了同一个包下上百个类...
2019-01-16 11:04:04
2414
原创 Android系统启动源码分析
前言本篇参考老罗的《Android系统源代码情景分析》,有想了解深入的朋友可以去看原书籍,比较详细和权威。不记录没收获,这里记录下结合Android-8.0.0_r17源码走过的流程。 高焕堂老师的教学文件截图分析1)内核加载完毕...
2018-12-29 13:57:19
2182
原创 Android的Logger系统
前言一直对Android的Logger系统了解有些模糊。从Java的System.out.println(),到Android的logcat,控制台输出和Android系统输出又有什么区别?最近看到老罗的《Android系统源码情景分析》的Logger篇,觉得有必要详细了解下。以下概念摘至《Android系统源码情景分析》的Logger篇 Android提供的Logger...
2018-12-27 11:03:18
2091
原创 Android源码查看下载
前言关于查看Android源代码,我们可以通过两种手段查看,一个是本地,一个是在线。在线查看Android源代码,请看http://androidxref.com/。本地查看根据级别可以下载不同的源码:1、如果仅仅是看一下Java端的Android源代码可以直接在Android Studio中查看(SDK里面有)2、如果还想了解Android源码C++部分的源码可以去githu...
2018-11-30 17:28:54
2029
原创 OkHttp源码解析
先看OkHttp内部相关类图通常请求:OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(60, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .writeTimeout(30, ...
2018-11-02 11:02:31
1508
原创 Animator相关源码分析
本篇分析与Animator相关的源码开始以下为Animator相关类图Animator是抽象类,ValueAnimator实现了Animator,ObjectAnimator和TimeAnimator继承了ValueAnimator。通常开发直接使用ValueAnimator也就可以实现所有动画了。由此,ValueAnimator算是Android动画的核心Class了,所以解析动...
2018-09-03 18:18:52
2338
原创 Flutter从入门到放弃
本篇主要记录下Flutter的学习路线。一、认识Flutter可以查看这些文章:https://www.jianshu.com/p/8baa8ed2414dhttp://www.sohu.com/a/192998605_635110二、Dart语言1)认识Dart语言:https://blog.youkuaiyun.com/duwen90/article/details/8019175...
2018-08-15 18:18:37
11540
原创 Set、Map源码分析
本篇分析Set、Map。先看下Map常见的Map,有HashMap、Hashtable、ConcurrentHashMap、TreeMap。本篇重点了解HashMap,其它的Map,重点比较下其与HashMap的异同。HashMap:java.util.HashMap构造器: public HashMap(int initialCapacity, float...
2018-07-12 17:59:14
1578
原创 List相关源码分析
最近刚好有时间,整理了下List集合相关。在平常开发中,但凡看到一组数据,我们都习惯尝试用List,似乎List已经无所不能。今天研究List下子类的源码,让我们了解平常使用List时应该注意的地方,提高一定的效率。开始首先是关于ArrayList、LinkedList和Vector的继承关系,如下:在源码中Vector、LinkedList、ArrayList同时继承了...
2018-07-10 14:53:59
1526
原创 算法相关
本篇讲解算法相关相关概念算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。 主要对象是时间复杂度和空间复杂度1、时间复杂度:需要注意的是,时间复杂度比较的并不是时间,而是程序执行的次数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。2、空间复杂度:空间复杂度(Space Complexity)...
2018-07-05 15:05:15
1687
原创 数据结构相关
本篇先写数据结构相关,后续再补充算法相关。定义:数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。数据结构可按照逻辑结构和物理结构进行分析。逻辑结构:是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。物理结构:指的就是数据元素在计算机存储空间的存放形式。常见有顺序、链接、索引、散列等针对于我们程序开发,通常数据结构就研究其逻辑结构,物理结构不需...
2018-07-03 14:04:25
2296
转载 Git常用命令
一直使用Git来代码提交,之前有使用过smartGit,再后来直接使用Studio的git。总的来说,对于Git的使用仅限于pull add commit push等基本操作,分支操作每次都要网上看资料。本来想整理一些Git命令,再写一篇博文,但是有人已经写的够好了,直接转载过来,也供自己后续查找方便。 原文地址:http://www.ruanyifeng.com/blog/2015/12/git...
2018-07-02 15:32:15
1355
原创 Java中泛型的使用
本篇讲解泛型,虽然之前也一直使用泛型,但理解的不够透彻。今天详细归纳下泛型的表示和使用场景,同时将平时一些没注意的地方,使用泛型来转变。概念篇:有三种使用方式,分别为:泛型类、泛型接口、泛型方法泛型类 1、定义方式:public class Test<T>{ private T value; public Test(){ } ...
2018-06-26 18:09:44
1967
原创 UML九图之四(序列图)
一、序列图介绍: 序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时。生命线是一个双道线。消息用从一个对象的生命线到还有一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。...
2018-05-10 15:48:23
3448
原创 UML九图之三(状态图)
继续之前博文,本篇讨论状态图一、状态图介绍: 1、先了解状态机和状态图的概念: 1)状态机:状态机是一种记录下给定时刻状态的设备,它可以根据各种不同的输入对每个给定的变化而改变其状态或引发一个动作,如计算机、各种客户端软件、Web上的各种交互页面都是状态机。 其构造: ① 状态:指对象在其生命周期中的一种...
2018-05-10 14:26:14
5693
原创 UML九图之二(用例图)
继续上篇博客,本篇讨论用例图一、用例图介绍: 网络上说用例图是由角色、用例和关系三部分构成的。但实际呢,还有包(Package)、用例范围(Use Case Subject)。 角色:角色一般比较好确定,在系统还比较模糊前,角色一般都可以确定。在用例图种,角色使用人形图案表示。 用例:除了角色之外的对象,一般用椭圆形来表示。 包:不是很清楚怎么用,...
2018-05-04 16:35:37
1715
原创 UML九图之一(类图)
看到网上也有不少UML相关的介绍,但学习起来不够方便。在此就尽可能的总结下UML图,如果有不对的地方,欢迎指正,博客也会不断改正。 UML的重要性和实用性暂且不讨论,需要提一下的是当前选的UML开发工具是startUML2.0。 下面进入今天的重点:UML类图介绍一、类图介绍: 类图是描述系统中的类,以及各个类之间的关系的静态视图。 ...
2018-04-24 16:57:22
1193
原创 软件工程之过程与设计
从实践中来,方觉软件工程的重要性。上篇讲的代码设计有些不够详尽,本篇再次从软件工程的角度阐述下代码设计。 软件工程是一门涵盖量很广的学科,本文只记录软件工程中重要的两个部分:软件过程与系统设计。内容大多摘至软件工程课本,有想深入了解的朋友,可以直接查阅软件工程相关书籍。一、软件开发原则: 1)抽象:以归纳的方式对现实问题进行描述,或者抽离出包括又不局限与现实问题结果的一...
2018-04-17 10:49:29
5254
原创 代码设计
今天谈谈开发中比较重要的东西:代码设计进入正题: 先了解敏捷开发、业务、功能、模块、组件的概念: 敏捷开发:软件开发过程的本身的不可预见性,很多用户在项目开始时不可能对于这个项目有着一个完整而明确的预期。很多对软件的预期都在后期的修改和完善过程中产生。 特点: 1)计划赶不上变化,开发人员在开发初期无需做出很多文档 2)沟通多、简明、需要多反...
2018-03-15 21:12:32
2903
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人