- 博客(87)
- 资源 (29)
- 问答 (1)
- 收藏
- 关注
原创 C++多态篇基础知识
虚函数://什么是多态:指相同对象收到不同消息或不同对象收到相同消息时产生不同的动作//静态多态(早绑定)/动态多态(晚绑定)#include <iostream>#include <string>using namespace std;class Rectt {public: int calcArea(int width); int calcArea...
2018-10-07 17:44:01
618
原创 C++继承篇基础知识
继承的不同方式:#include <iostream>#include <string>#include "Person.h"using namespace std;/** * public公有继承方式 */class Worker: public Person { // 继承符号"子类 : 继承方式 父类"// class Worker: protec...
2018-10-06 21:45:09
468
原创 C++封装篇基础知识
类的定义方式:// 以下包含的东西会导入到应用这个文件的文件#include <string>#include <iostream>using namespace std;/** * .h文件 实现声明成员变量和成员函数作用 */class Liu {public: Liu(); // 无参构造( 默认) : 不用传参数的构造函数都是默认构造函数,所以...
2018-10-06 18:21:42
601
原创 C++基本语法总结
C++输入输出:#include <stdlib.h>#include <iostream>#include <string>using namespace std;/** * C++输入输出demo */int main() { int x, y; cout << "C++"; cout << "666666&q
2018-10-06 14:51:28
30859
6
转载 布局优化工具Hierarchy Viewer
版权声明:本文为博主原创或汇集文章,欢迎注明来源转载。http://blog.youkuaiyun.com/u012792686 https://blog.youkuaiyun.com/u012792686/article/details/72921379 ...
2018-09-14 12:04:34
6360
原创 windows下安装MinGW及C++的环境配置
方法一——VS: 使用windows开发神器visio studio。这种方法比较简单,直接下载一个最新的vs安装就行。不单单是C++,C、C#、VB等都可以开发。方法二——只安装C++编译器: 最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,为了在 Windows 上安装 GCC,您需要安装 MinGW。1.首先去MinGW主页下载最新版本的MinGW: www...
2018-07-03 14:47:43
145854
26
原创 Android开发IntentService使用--Handler与Service的结合
综述 我们都知道Service是作为后台服务运行再程序中的。但是Service他依然是运行在主线程中的,所以我们依然不能在Service中进行耗时的操作。所以当我们在Service处理时,我们需要在Service中开启一个子线程,并且在子线程中运行。当然为了简化我们的操作,在Android中为我们提供了IntentS...
2018-07-03 10:42:48
3090
原创 Android的消息机制Handler原理分析
综述 在Android系统中,出于对性能优化的考虑,对于Android的UI操作并不是线程安全的。也就是说若是有多个线程来操作UI组件,就会有可能导致线程安全问题。所以在Android中规定只能在UI线程中对UI进行操作。这个UI线程是在应用第一次启动时开启的,也称之为主线程(Main Thread),该线程专门用来...
2018-07-03 10:39:50
257
原创 Android官方MVP架构详解
综述 对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的。而对于Android应用的开发中本身可视为一种MVC架构。通常在开发中将XML文件视为MVC中的View角色,而将Activity则视为MVC中的Controller角色。不...
2018-07-03 10:37:42
3224
2
原创 Android的IPC机制 —— Messenger的使用及源码分析
综述 在前面几篇中我们详细的介绍了AIDL的使用及原理。在这里我们感觉到AIDL的在使用过程中还是比较复杂的,那么有没有一种简单的方法来实现进程间的通信呢?当然是有的,那就是利用Messenger。Messenger翻译为信使,从他的名字就可以看出这个Messenger就是作为传递消息用的。那么我们就来看一下这个...
2018-07-03 10:21:33
271
原创 Android的IPC机制 —— BroadcastReceiver的使用
综述 在Android的四大组件中除了ContentProvider能够用于进程间的通信外,还有一个也能够用于进程间的通信,那就是BroadcastReceiver。BroadcastReceiver翻译成中文为广播接收器,既然作为广播接收器,那么必然就有Broadcast。在Android中,Broadcast...
2018-07-03 10:12:00
413
原创 Android IPC机制进程间通信方式
IPC的几个基础知识:序列化和Binder,本章将详细介绍各种跨进程同行方式。具体的方式有很多,比如可以通过在Intent中附加extras来传递信息,或者通过共享文件的方式来共享数据,还可以采用Binder的方式来跨进程通信,另外ContentProvider天生就是支持跨进程访问的,隐藏我们也可以采用它来进行IPC...
2018-07-03 10:10:14
311
原创 Android IPC机制详解
本文主要从以下几个方面来介绍IPC机制1、什么是IPC2、Binder机制原理3、AIDL实现一、什么是IPCIPC是Inter-Process-Communication的缩写,意思是进程间通信或者跨进程通信;说起进程间通信,我们应该首先来了解一下什么是进程。按照操作系统的描述,线程是CPU调度的最小单元,而进程一般指一个执行单元,在移...
2018-06-29 18:41:42
423
原创 Android开发四大组件与进程启动的关系
一. 概述Android系统将进程做得很友好的封装,对于上层app开发者来说进程几乎是透明的. 了解Android的朋友,一定知道Android四大组件,但对于进程可能会相对较陌生. 一个进程里面可以跑多个app(通过share uid的方式), 一个app也可以跑在多个进程里(通过配置Android:process属性).再进一步...
2018-06-29 18:36:16
1056
转载 Java虚拟机JVM内存结构
主要内容如下:JVM启动流程JVM基本结构内存模型编译和解释运行的概念 一、JVM启动流程:JVM启动时,是由java命令/javaw命令来启动的。二、JVM基本结构:JVM基本结构图:《深入理解Java虚拟机(第二版)》中的描述是下面这个样子的: Java中的内存分配:Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对数据进行了不同空间的划分,因为每一片区域都有特
2018-03-30 17:52:40
238
转载 Android安全机制
本文从Android系统架构着手,分析Android的安全机制以SE Android,最后给出一些Android安全现状和常见的安全解决方案。1、Android系统架构 Android采用分层的系统架构,由下往上分别是linux内核层、硬件抽象层、系统运行时库层、应用程序框架层和应用程序层。 Android以Linux操作系统内核为基础,实现硬件设备驱动、进程和内存管理、网络协议栈、电源管
2018-03-30 17:49:22
493
原创 如何让自己的Android Service永不被系统kill--Android进程永存方法
先说点废话,年前在去佛吉亚好帮手面试当中遇到的其中一个问题就是,如果你的蓝牙或者canbus等等服务被kill掉了怎么处理的,这里涉及到一个service永存的概念,当时面试时脑子比较空白,但是回到工位之后这个问题其实是很简单的可以解决,记得当时是提及了一个用其它服务监控这些服务的做法,但是这其实都是不可靠的!因为监控服务也可能会被kill掉。下面会提及到。那么要想永远不被系统kill掉,那你只能是
2018-03-01 20:36:45
3183
转载 android coreApp=true属性以及android4.2及以下多用户进程启动的说明
1. 关于coreApp=true的说明,在manifest中增加该属性,其实并不是代表该APP具有系统权限,而是把该类app归类为核心APP,核心app其实也是最小android framework系统。那么核心APP的作用是什么呢?在Android3.0之后,Android就增加了加密机制(可以加密机制是可选的,目前R70并没有打开),当系统开机时检测到系统加密,他就把核心APP全部启
2018-03-01 17:09:22
6693
原创 android编译命令及.mk文件浅析
一、引言先看下面几条指令,相信编译过Android源码的人都再熟悉不过的。source setenv.shlunchmake -j12记得最初刚接触Android时,同事告诉我用上面的指令就可以编译Android源码,指令虽短但过几天就记不全或者忘记顺序,每次编译时还需要看看自己的云笔记,冰冷的指令总是难以让我记忆。后来我决定认真研究下这个指令的含义。知其然还需知其所以然,这样能更深层次的理解
2018-02-23 15:24:18
6675
转载 HAL/JNI简明笔记(一)——HAL基本框架
环境:android 4.3HAL(hardware abstract layer)是位于操作系统与硬件之间的接口层,目的在于硬件抽象化。它存在于linux的应用层,它在Android系统中的位置是:向下连接驱动,向上给JNI提供接口。源码的位置:msm8x12\hardware\libhardware_legacy 为过去的HAL目录,采用链接库模块概念的旧架构,audio,power,w
2018-02-07 10:28:01
585
原创 如何在Windows环境下进行jni开发--代码编写
本篇文章是基于上一篇如何在Windows下NDK环境搭建来写的,如果想了解Windows下NDK环境搭的朋友请移步至如何在Windows环境下进行jni开发–NDK环境配置 作个简单的理解。话不多说,下面直接开始编写代码,以最简单的hellojni为例做个流程总结:第一步:新建一个Android应用工程,如下 先看看java端的代码:public class MainActivity exten
2018-02-06 18:14:13
988
原创 如何在Windows环境下进行jni开发--NDK环境配置
ndk编程(native developer kit),关于jni(java native interface)这方面的使用,其实早在2014年的时候,就研究过这方面的知识,只是当时工作上用不到所以就没对这方面进行一个汇总! 近期由于个人维护Android平台中间件要涉及到这方面的知识,那么今天将结合个人工作对这部分知识体系进行一个总结,个人工作上的有关jni编写是基于Linux系统平台下的,这个比
2018-02-02 16:20:04
9306
1
原创 Linux shell 脚本编写
知识点回顾: 1、Unix&Linux,GUN,Ubuntu,Red Hat,Fedora。 2、Linux用户管理。 —Root用户,普通用户,用户组。 —useradd,passwd,usermod,finger,sudo(su),groupadd,groups,whoami,who。 3、文件和目录操作。 —文件名和文件拓展名 —层次的文件结构 —In linux,Ev
2018-01-30 12:24:10
17177
1
转载 Android init.rc文件浅析
本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译.1 简述Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action,Commands,Services,Options.在init.rc文件中一条语句通常是占据一行.单词之间是通过空格符来相隔的.如果需要在单词内使用空格,那么得使用转义
2018-01-30 10:00:43
1867
1
原创 Android init.rc文件详解
首先,个人为了很好的总结这方面的知识体系,以下绝大多数内容都是博主从网上那些大神多方面摘抄过来的。一、文件简介init.rc:Android在启动过程中读取的启动脚本文件,主要完成一些初级的初始化,在/system/core/init/init.c中解析。rc 经常被用作程序之启动脚本的文件名。它是“run commands”(运行命令)的缩写。init.xx.rc:与具体CPU相关的启动脚本,比如
2018-01-29 18:17:28
12245
2
原创 Android开发如何使用UncaughtExceptionHandler捕获程序崩溃错误信息?
关于UncaughtExceptionHandler这个异常接口的作用,我想对于大多数的APP来说一般都是为了给用户更好的体验,在我们程序崩溃时不让其直接报一个错误信息界面然后退出我们的应用程序,而是让我们的应用程序在崩溃时直接跳回到我们的应用程序首页下面是博主在工作中的使用,主要是在我们应用程序崩溃退出时进行一个错误log分析,将错误信息保存到我们机器SD卡上,然后进行错误分析。代码如下:pack
2018-01-12 15:51:38
670
原创 Android使用ftp方式实现文件上传和下载
近期在工作上一直再维护平台OTA在线升级项目,其中关于这个升级文件主要是存放于ftp服务器上的,然后客户端通过走ftp协议方式下载至本地Android机进行一个系统升级操作。那么今天将对ftp实现文件上传和下载进行一个使用总结,关于ftp这方面的理论知识如果不是太了解的各位道友,那么请移步HTTP和FTP的区别的一些理论知识 作个具体的了解或者查阅相关资料。那么先看看个人工作项目这个OTA升级效果
2018-01-12 12:25:51
21897
1
原创 Android如何在应用层进行截屏及截屏源码分析(下)
首先,那么如果朋友你只是来找截屏接口使用在你的项目中的,那么你就不用继续往下看了。。。基于上班时间较忙,另外个人觉得还是将这个截屏流程分析和使用分开总结比较好,于是决定分两篇文章来讲解。好了,那么上一篇文章主要是从源码角度分析讲解了Android系统截屏流程,这篇文章将结合上一篇文章总结如何在应用层进行截屏,还没看过从源码角度分析讲解Android系统截屏流程的同学建议先移步Android如何在应用
2018-01-11 11:39:00
8329
原创 Android如何在应用层进行截屏及截屏源码分析(上)
最近在看framework层代码时发现其中有一个是测试截屏操作的专门的包,于是潜意识的驱使下就研究了这方面的知识,今天作个总结吧!以及我们在写上层应用时如何做截屏操作的,那么我们先来看看截屏的源码分析,其实截屏操作就java这部分是放在了系统SystemUI那里,用过android系统手机的同学应该都知道,一般的android手机按下音量减少键和电源按键就会触发截屏事件(国内定制机做个修改的这里就不
2018-01-10 15:46:31
3709
1
原创 微信小程序跳一跳的游戏辅助实现
最近微信在其游戏模块中添加了一个跳一跳小游戏,因该小游戏在朋友圈中可以实现排名,故此引来很多小学生再玩这个游戏,带来了一波热潮,因为在微信首页下拉即可打开这个小游戏菜单,那么小学生除外针对很多成年人估计会在等车等吃饭等人等无聊时间会去玩这个游戏凑凑热闹吧。今天将对这个游戏进行一个辅助实现,助你拿高分!其实拿高分做第一是没意思的,我想如果你是要比某个人高那么一分这样会更有意思,那么这个辅助外挂当
2018-01-05 17:12:55
3251
原创 Android如何播放h.264格式视频
关于h.264格式的视频文件播放,我们可以通过android.media.MediaCodec这个接口去解码实现,这个对搞流媒体,安防实时视频传输的朋友应该很熟悉,这边只是个demo,有需要的同学自行下载源码研究吧!效果图如下:关键代码如下:package com.asir.h264demo;import android.annotation.TargetApi;import android.ap
2018-01-03 15:25:57
12117
2
原创 Android如何检测外置卡的状态及内置SDcard状态
外置卡状态检测操作,实际上是反射StorageManager这个类,调用StorageManager类里面的getVolumeState私有方法得到,代码实现方式如下:package com.asir.mediaplayer;import java.util.ArrayList;import android.content.Context;import android.os.Environment
2018-01-02 17:35:16
2296
原创 Android开发如何定制framework层服务
刚刚跨完年,新年第一篇文章,那么今天将对Android开发framework中间层的服务定制使用作个总结。首先我们先导入Android平台源码framework层的代码到开发工具eclipse中,代码工程目录如下: 当然了除了用eclipse之外也可以用其它软件进行开发使用,比如用Source Insight 3方式,效果图如下: 那么喜欢哪种就用哪种吧。我这边这部分代码是经过ATC公司
2018-01-02 17:12:24
26555
1
转载 Android中轴旋转特效实现,制作别样的图片浏览器
转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/10766017Android API Demos中有很多非常Nice的例子,这些例子的代码都写的很出色,如果大家把API Demos中的每个例子研究透了,那么恭喜你已经成为一个真正的Android高手了。这也算是给一些比较迷茫的Android开发者一个指出了一个提升自我能力的方向吧。A
2017-12-19 12:25:04
529
转载 Android照片墙应用实现,再多的图片也不怕崩溃
转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/9526203照片墙这种功能现在应该算是挺常见了,在很多应用中你都可以经常看到照片墙的身影。它的设计思路其实也非常简单,用一个GridView控件当作“墙”,然后随着GridView的滚动将一张张照片贴在“墙”上,这些照片可以是手机本地中存储的,也可以是从网上下载的。制作类似于这种的功能
2017-12-19 12:08:24
622
转载 Android弹幕功能实现,模仿斗鱼直播的弹幕效果
转载请注明出处:http://blog.youkuaiyun.com/sinyu890807/article/details/51933728 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。大家好,感觉好像已经很久没更新博客了。前段时间主要是忙于新书的事情,时间比较紧张。而现在新书已经完稿,剩下的事情就都是出版社的工作了,那么我又可以抽出时间来写写博客
2017-12-19 11:55:46
1476
转载 android中string.xml中%1$s、%1$d等的用法
一、使用xliff的用法:<xliff:g>标签介绍: 属性id可以随便命名 属性值举例说明%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 %n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.
2017-12-18 14:37:37
792
转载 Android进程间通信(IPC)机制Binder简要介绍和学习计划
在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。《Android系统源代码情景分析》一书正在进击的程序员网(http://0xcc0xcd.com)中
2017-12-18 14:31:01
952
原创 仿微信主页布局
先来看看微信整体布局方式及市面上一些常见的应用大致布局方式,几乎都是采用顶部或者底部一个菜单栏控制方式,然后中间一些内容显示界面,下面是微信应用、腾讯新闻和163网易邮箱应用的部分界面效果图,如下: 今天将对这种常见布局方式结合个人所做过的项目进行一个汇总,在最早出来工作之时,那时多数的人做这种应用是采用tabhost去实现的,tabhost可以根据项目需求选择性加载多张tab页,每一张的
2017-12-15 15:28:22
2918
转载 如何获取Android软键盘状态和软键盘高度
应用场景在Android应用中有时会需要获取软键盘的状态(即软键盘是显示还是隐藏)和软键盘的高度。这里列举了一些可能的应用场景。场景一 当软键盘显示时,按下返回键应当是收起软键盘,而不是回退到上一个界面,但部分机型在返回键处理上有bug,按下返回键后,虽然软键盘会自动收起,但不会消费返回事件,导致Activity还会收到这次返回事件,执行回退操作,这时就需要判断,如果软键盘刚刚由显示变为隐藏状态
2017-12-14 17:46:23
3327
1
JNI_dev_source
2018-02-02
android-ndk-r8c
2018-02-02
Linuxshell编写demo
2018-01-30
FTPclinet客户端
2018-01-12
Android截屏示例demo
2018-01-11
h264格式视频文件播放
2018-01-03
ViewPagerAndFragement仿微信布局使用
2017-12-15
EQBalanceView跟随手指的小球
2017-12-14
二维码生成和识别
2017-12-06
SideBarView
2017-10-27
GalleryDemo
2017-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人