4 Johnsco

尚未进行身份认证

翻过这座山,就能看到海

等级
TA的排名 27w+

C++学习(五)

C++ 多态    多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。下面的实例中,基类 Shape 被派生为两个类,如下所示:#include <iostream> using namespace std; class Shape { ...

2018-07-29 20:09:52

Android A/B System OTA 升级以及报错处理

介绍    A/B System OTA是Android 7.0引入的新的OTA方式,跟以前的OTA在升级流程上来说已经完全不一样了,我们都知道之前的OTA走的是recovery模式。A/B System 不同之处在于系统中有两个system分区,当然boot分区也是两个,A和B,当我们进行OTA升级的时候实际上只是对b分区进行升级,而我们正在运行的a分区是不受影响的。 OTA包制作...

2018-07-23 10:13:20

Android flag理解

Flag理解    在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志。比如View.java中的/** * This view does not want keystrokes. Use with TAKES_FOCUS_MASK when * calling setFlags. */ private st...

2018-07-15 22:04:36

Android7.0 系统添加默认输入法

需求    将我们自己的输入法加到系统中,并设置成默认输入法。具体实现1、将输入法编入系统,一般可以将应用放到package/app/目录下,mk文件如下:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := MyIMELOCAL_MODULE_CLASS := APPSLOCAL_MODULE_TAGS := o...

2018-07-09 09:37:20

C++学习(四)

C++继承    与java类似,c++也是面向对象的语言,当然也就有继承的概念。当创建一个类时,不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类,新建的类称为派生类。例如,长方形是形状。语法格式class 类名:访问修饰符 基类其中,访问修饰符是 public、protected 或 private 其中的一个,如果未使用访问修饰符,则默认...

2018-07-01 19:04:21

C++学习(三)

C++中的类与面向对象    c++与java类似,也有面向对象的概念,不过语法上个人认为还是有许多差异的。类的定义:class Box{ public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度};上面的例子我们可以看出来c++与java...

2018-06-24 22:10:23

C++学习(二)

C++指针    

2018-06-18 22:58:45

C++学习(一)

前言    最近工作比较忙,代码涉及到的大多是c++,所以决定深入一下c++。基础知识就不写了,这里从数据结构开始写起。C++ 数据结构    C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许你存储不同类型的数据项。结构用于表示一条记录,假设你想要跟踪图书馆中书本的动态,可能需要跟踪每本书的下列属性:Title :标题Author...

2018-06-10 22:09:39

native层实现touch事件转key事件

需求    最近公司来了一个需求,需要将touch事件转成key事件,只针对滑动事件与触摸事件。需求分析    首先这个需求是可以在kernel里面做的,由于我们没有kernel代码,因此这个方案就被pass掉了。第二个想到的是在java层做,想找一个拦截touch事件的方法,类似PhoneWindowMananger中拦截key事件的方法,可是没找到,找到的地方都已经到app层了,这样就可能有点...

2018-06-04 09:36:50

Android项目开发之音乐播放器

前言    新开系列,项目开发。写这个系列的博客只是为了丰富自己对应用层的理解,所以决定用周末的时间来仿一些APP,这篇博客只是初始版本,后面持续更新,附GitHub地址。主要功能    最终目的是实现一个类似网易云音乐的APP代码实现布局文件,目前主要写的是播放界面测试代码,后续会重新替换控件<?xml version="1.0" encoding="utf-8"?><Rel...

2018-05-28 09:33:36

android binder机制简单使用

需求    最近公司需要在native层写一个c++服务,用来与上层通讯,由于自己并不是很精通c++,所以决定从简单的入手,先尝试写一个binder服务。具体实现    实现一个binder通信实例,需要经过以下步骤:        1、获得ServiceManager的对象引用        2、向ServiceManager注册新的Service        3、在Client中通过Serv...

2018-05-21 09:24:16

JavaScript基础2:运算符、数组

运算符

2018-05-13 19:28:19

JavaScript基础1:类型与函数

前言    快应用是基于nodejs开发的,因此我们必须掌握JavaScript这门语言,接下来的博客中,我们就重点学习nodejs必须掌握的JavaScript基础知识。JavaScript基础类型    JavaScript类型可以分为两种:基本类型和复杂类型。    基本类型:number、boolean、string、null、undefined。    复杂类型:array、functi...

2018-05-06 21:53:37

Android7.0实现开机后台安装应用----rc文件的使用及权限问题

需求    每次开机之后,后台自动安装一个apk。(实现方法可能有多种,这里只记录我用的)需求分析    我的思路是写一个脚本放到系统中,然后每次开机的时候在rc文件中启动这个脚本服务。具体实现步骤    第一,将所需要安装的apk文件保存在系统,我这里是放到system/etc/目录下面了,放在system分区下有个好处就是不会被用户删掉,当然不能放太多无意义的东西,否则你的img会变得很大。可...

2018-05-02 00:13:39

Android快应用开发3:生命周期

    本篇主要了解页面的生命周期与app的生命周期。页面的生命周期    页面的声明周期包括:onInit()、onReady()、onShow()、onHide()、onDestroy()。(页面是通过ViewModel渲染,所以生命周期指的也就是ViewModel的生命周期,不过这个小弟还没研究过,这里就不解释了,后面等我研究好了在单独写一篇博客讲ViewModel这个)页面创建的时候会调用...

2018-04-22 18:15:19

距离感应器下的休眠唤醒机制实现

前言    从事Android framework开发已经两年了,今天起决定把工作上遇到的问题、做过的需求都用博客的形式记录一下,特地新开一个系列---Android framework开发工作记录,有需要的朋友可以参考参考,当然,不保证完全正确,有错误的地方欢迎指出,本系列完全是根据工作上的需求来的,看起来肯定是杂乱无章的,请包涵。之前的快应用系列也会接着更新。废话不多说,下面就进入正题。需求提...

2018-04-15 22:55:17

Android快应用开发2:代码编辑器及项目配置信息manifest文件

    上一篇博客我们写到快应用的环境搭建及原始demo编译安装。本篇博客我们主要讲一下项目配置信息manifest文件里面各个配置的含义。1、代码编辑器    工欲善其事必先利其器,我们需要一款合适的编辑器来开发快应用,官方推荐了两款编辑器:Visual Studio Code 和 WebStorm 。下面我们只简单介绍Visual Studio Code ,另外一个有兴趣的自行研究。    下...

2018-04-08 23:09:27

Android快应用开发1:环境搭建及hello world!

前言    小弟从事Android开发已经两年,一直没有写博客的习惯。前些天九大手机厂商一起推出快应用,借此机会也是写一手从零开始快应用系列博客,写的不对的地方欢迎指出(暂时只讲在Windows下开发,后续有机会再写Linux下)。1、安装Node.jsnode.js下载   打开之后直接下载Windows版本即可  双击下载下来的msi文件就可以安装,然后就是下一步,下一步。。。。(环境变量会自...

2018-04-01 18:05:42
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!