- 博客(41)
- 收藏
- 关注
原创 Binder 机制 java&native
Binder是一套ipc通信方案Binder框架定义了四个角色: Server ,Client,ServiceManager (以后简称SMgr)以及Binder驱动。其中Server ,Client,SMgr运行于用户空间,驱动运行于内核空间。这四个角色的关系和互联网类似: Server是服务器, Client是客户终端, SMgr是域名服务器(DNS),驱动是路由器。在网络通信中域名服务器的地址是一个固定的地址,所以很方便的通过这个固定地址拿到。
2024-01-12 14:09:22
1042
原创 车载核心服务CarService
谷歌在CarService中实现了许多与汽车密切相关的服务, 每个汽车服务, 也会有自己对应的客户端。CarService对象只是获取各个Manager的媒介,它本身并不承担管理传感器.空调等具体的任务,具体实现需要获取对应的Manager中API和对应服务来实现。
2024-01-12 13:35:42
1485
原创 mac M1芯片上编译车载aaos
mac电脑+pixel 4a(5g)+Xcode(13.1)(m1上模拟器目前运行有问题需要使用pixel 4a(5g)手机模拟车载)注意:车载的aaos在mac m1芯片上模拟器是打不开的所以采用连接到pixel4a(5g)手机来开发。注意:车载的aaos在mac m1芯片上模拟器是打不开的所以采用连接到pixel4a(5g)手机来开发。注意:车载的aaos在mac m1芯片上模拟器是打不开的所以采用连接到pixel4a(5g)手机来开发。cd 到自己的新建区分大小写的磁盘里,创建目录 AOSP12。
2023-12-04 09:35:10
537
转载 贝塞尔曲线实现点赞效果
属性动画+贝塞尔曲线实现属性动画和贝赛尔曲线已经出来很久了,很多前辈写了很多不错的文章,在此不得不感谢这些前辈无私奉献的开源精神,能让我们站在巨人的肩膀上望得更远.如果你对属性动画还不太了解可以看看郭林的文章,贝塞尔曲线的使用可以参考Lin_Zero效果图image实现思路整体实现思路还是比较简单的,首先要有一个容器来装点出来的赞,然后通过属性动画对赞加一些动画效果,...
2019-03-24 22:39:54
346
转载 Android重启动到程序运行
Android从启动到程序运行整个过程的整理1Android是基于Linux的一个操作系统,它可以分为五层,下面是它的层次架构图,可以记一下,因为后面应该会总结到SystemServer这些Application Framework层的东西Android的五层架构从上到下依次是:应用层,应用框架层,库层,运行时层,Linux内核层。而在Linux中,它的启动可以归为一下几个流程: ...
2018-11-01 21:38:35
307
转载 Only fullscreen opaque activities can request orientation
Android 8.0 上一个奇怪的IllegalStateException AlexMofer 关注2018.03.16 01:52* 字数 946 阅读 217评论 0喜欢 0Android 8.0 上一个奇怪的IllegalStateException前言API 26之后,给Activity应用Dialog主题,大部分第三方ROM都存在巨坑。起因公司项目在适配A...
2018-10-15 20:54:32
1617
1
原创 fragment生命周期
Fragment每个生命周期方法的意义、作用(注意红色的不是生命周期方法):setUserVisibleHint():设置Fragment可见或者不可见时会调用此方法。在该方法里面可以通过调用getUserVisibleHint()获得Fragment的状态是可见还是不可见的,如果可见则进行懒加载操作。onAttach():执行该方法时,Fragment与Activity已经完成绑定,该方法有...
2018-09-17 11:30:21
1475
转载 google的@SerializedName和@Expose注解
google的@SerializedName和@Expose注解2015年02月03日 15:09:45 阅读数:387注解了@SerializedName的字段会被序列化到JSON中,输出的JSON格式中的名字即为注解时给定的名字。Java代码 public class SomeClassWithFields { @SerializedName("name") pr...
2018-09-11 11:44:26
508
原创 Android点击home键重启的解决
问题描述: 当App在第一次安装后,打开app,然后再点击home键,当再次点击桌面的icon时,发现app重启,重新回到了首页,并且每点击一次icon,就会在activity的Task中多出一个首页,在连续按返回键将所有首页清除掉后,此问题消失。或者在杀掉该app后再次进入,此问题消失。 问题分析: 经过一天的查找分析,在第一个安装后,activity管理栈似乎对进入的activit...
2018-08-16 14:54:19
1133
转载 数据库增加新列
android sqlit数据库升级,添加字段2017年02月14日 11:24:11阅读数:1470 由于Android的数据库SQLite是自带的,故随着我们的应用App升级,相对应的数据库里面的内容发生改变时也要随之升级,升级的时候希望的是之前保存的数据不丢失的情况下对其进行升级。这时就要用到Andoird的SQLiteOpenHelper类中有一个onUpgrade方法,当前数据库版本变化...
2018-07-05 10:50:52
3882
转载 数据库升级
原Android数据库表升级(添加列),并保留原表中的数据---以后有其他升级操作将会更新该文2017年01月05日 11:34:30阅读数:2605 最近项目中需要为数据库中已存在的表添加新的字段,这也是当初设计表时的不足,前人留坑,后人遭殃。。。。并且更过分的是,发现数据库设计的严重缺陷!!有很多个库,每个库中都有所有的表,但是每个库用到的只是其中一张表。。。 好吧...
2018-07-05 10:26:49
610
转载 反射建表
Android 通过反射让SQlite建表如此简单2015年07月17日 13:46:29阅读数:8153我们通常使用SQlite的时候,如果我们有10张表,我们要写10个建表语句,而建表语句中只有一些字段的名字需要改而已,这样既费时又费力,还容易出错,我们知道写sql语句的时候经常会写错,如果写错程序就会崩掉,而且检查10个建表语句还可以,如果有100条我么就要疯了。这篇文章告诉大家如何通过反射...
2018-07-05 10:16:55
195
原创 获取opp手机通知权限
import android.annotation.SuppressLint;import android.app.Activity;import android.app.AppOpsManager;import android.content.Context;import android.content.DialogInterface;import android.content.In...
2018-06-06 11:59:56
1760
原创 去掉最后一行分割线的RECYCLERvIEW
import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.drawable.Drawable;import android.support.v7.widget...
2018-06-05 15:22:05
5044
1
原创 简单的柱形图实现
import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.RectF;import android.util.AttributeSet;import and...
2018-05-22 17:27:31
485
转载 自定义View
安卓自定义View教程目录这是一个从零起步,从入门到懵逼的自定义View教程。本教程从最基础的内容讲解,并且深入到了相关的各个细节,不论你是刚入门的菜鸟,还是有一定经验的工程师相信本系列文章都会对你有所帮助。你既可以将本教程当作学习资料来学习自定义View相关的各种知识,也可以作为工具来使用,在需要的时候查询相关的知识细节。基础篇安卓自定义View基础 - 坐标系安卓自定义View基础 - 角度弧...
2018-04-03 14:43:05
106
转载 沉浸式状态栏
记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系...
2018-03-20 14:49:30
173
原创 头像上传代码
6. Android - 更换头像及图片裁剪(适配Android7.0)原创 2017年06月26日 17:35:09标签:android /头像 /裁剪556一、概述相信大家都用过 Android 应用中更换头像的功能,在这个功能中,用户可以拍照或者选择相册图片,然后裁剪出头像所需要的图案。 那么你们有没有考虑过这个功能
2017-12-04 16:19:56
2406
原创 手机存储目录的总结;
一、基础知识应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?通过Context.getExternalFi
2017-12-04 14:17:07
2201
转载 Android实现App版本自动更新
Android实现App版本自动更新转载 2016年11月04日 09:38:55标签:APP版本升级 APP下载更新安装8046本文为转载文章(留着备用),尊重原创:原创地址:http://blog.csdn.net/u013718120/article/details/53018801现在很多的App中
2017-11-03 11:37:17
693
转载 记录Studio 初始上传项目的步骤
【图文】Git学习之十步掌握通过Android Studio整合Git将本地库Push到远程库时间:2015-08-25 19:39:29 阅读:7302 评论:0 收藏:0 [点我收藏+]标签:git github android studio 前言之所以写这篇文章是为了自己做备忘录用的,同时希望
2017-10-28 21:41:43
308
原创 单例模式的总结
public class Instance { private Instance() { } // 1恶汉式 代码简单 但没有实现延迟加载,耗资源;并且线程不安全,当两条线程同时执行,会创建重复对象;// private static Instance instance=new Instance();// public static Instanc
2017-10-12 13:11:12
153
转载 Java并发编程:volatile关键字解析
原文地址http://www.cnblogs.com/dolphin0520/p/3920373.htmlJava并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。
2017-08-17 16:50:28
206
原创 Android 截屏
最近公司需求,截取屏幕图片并将图片上传服务器要连续的发送:有了一点心得就总结了一下,往大神们指点,QQ783491064当用户接受到截取屏幕的命令后(这里用TCPC传递命令)EventBus.getDefault().post(new MessageEvent("JiePing"));//发消息去申请截屏的权限通过EventBus发送申请
2017-08-17 12:19:42
228
转载 本地大图片的处理
QAQ学Android真的还是要在项目中获得锻炼,脱离实际一切都是耍流氓哼唧~!花了一下午时间搞定了项目中要实现的:获取本地图片缩略图并显示在ListView上的,并且点击要能获得该图片文件路径功能,下面先上效果图:作为一个新手,大概碰到这种需求的思路就是:首先,递归遍历本地所有文件,然后按文件后缀名找出所有的图片文件,更好的方式是在媒体库里查找所有的图片(系统
2017-06-14 11:29:18
310
转载 git关联Studio
今天下午重新对AndroidStudio和Git进行了关联,为了防止以后忘记,特此记录一下。一.首先需要安装Git:记录一下安装的目录,一会配置的时候需要用到。二.在AndroidStudio中设置Git插件:File-Setting-VersionControl-Git在这里找到上面安装的Git路径。三.初始化Git项目:VCS-Git如果出现
2017-05-09 15:50:56
229
原创 git的命令总结
git 介绍 https://git-for-windows.github.io/github 的区域划分:1工作区 2 暂存区 3 master分支(本地库) 4远程master分支(github仓库) git add ---git commit----git push; 这是区域之间的命令实现;git add ---git commit是实现的本地代码的提交;gi
2017-05-09 14:46:04
173
原创 Glide和Picasso的简单比较
1 、glid的特点:他可以从多个源加载图片,网路,本地,URI,更重要的是他内部封装了非常好的缓存机制,处理图片时能保持一个低的内存消耗;2、glid.witch(context):context 可以是Activity,FragmentActivity,Application,用处就是图片的加载可以和Activity或者Fragment保持一致,不至于出现,Activity已经暂停了,但是
2017-05-08 16:46:12
304
转载 Glid和Picasso 的比较
什么是Glide?Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我们介绍的,这个库被广泛的运用在google的开源项目中。Glide解决什么问题?Glide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地,Uri等,更重要的是他内部封装了非常好的缓存机制并且在处理图片的时候能保持一个低的内存消
2017-05-08 15:34:56
309
转载 GreenDao 3.1 应用
greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。GreenDao 介绍:greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。如下图所示:GreenDao 优点:
2017-04-30 21:26:02
229
转载 Android开发 - ActivityLifecycleCallbacks使用方法初探
ActivityLifecycleCallbacks是什么?Application通过此接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理。为什么用ActivityLifecycleCallbacks?以往若需监测Activity的生命周期事件代码,你可能是这样做的,重写每一个Acivity的onResume(),然后作统计和处理:[java]
2017-04-27 16:48:46
190
转载 Glide使用详解(2)
BitmapPoolDalvik和ART都没有使用compacting garbage collector垃圾回收模式,这种模式中GC会遍历堆,同时把活跃对象移到相邻内存区域,让更大的内存块可以用在后续的分配中。因为安卓没有这种模式,就可能会出现被分配的对象分散在各处,对象之间只有很小的内存可用。如果应用试图分配一个大于邻近的闲置内存块空间的对象,就会导致OOM崩溃,即使总的空余内存空间大
2017-04-27 15:12:07
203
转载 Glide使用详解(1)
一. 下载在build.gradle中添加依赖: compile 'com.github.bumptech.glide:glide:3.7.0'11需要support-v4库的支持,如果你的项目没有support-v4库(项目默认已经添加了),还需要添加support-v4依赖: compile 'com.android.support:support-v4:2
2017-04-27 15:11:15
270
转载 认识注解(Annotation)
一、认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,现在已经有不少的人开始用注解了,注解是JDK1.5之后才有的新特性JDK1.5之后内部提供的三个注解 @Depreca
2017-04-26 17:37:53
159
原创 Android 开发 之 Enum (枚举) —— @IntDef的使用
Android 开发 之 Enum (枚举) —— @IntDef的使用 收藏Freewheel 发表于 2年前 阅读 6662 收藏 6 点赞 0 评论 0 官方文档说明,安卓开发应避免使用Enum(枚举类),因为相比于静态常量Enum会花费两倍以上的内存。参 http://developer.android.co
2017-04-26 15:49:30
332
转载 Jackson参考笔记(3)
概述使用jackson annotations简化和增强的json解析与生成。Jackson-2.x通用annotations列表:https://github.com/FasterXML/jackson-annotations/wiki/Jackson-AnnotationsJackson-1.x通用annotations列表:http://wiki.fasterxml.
2017-04-26 15:28:41
229
转载 JackSon参考笔记(2)
概述jackson解析json例子准备工作基于JDK1.7,依赖Jackson框架类库:jackson-core-2.5.3.jarjackson-databind-2.5.3.jarExample下面的例子是基于Jackson 2.x版本的树模型的Json解析。要解析的Json字符串:[plain] view plain copy
2017-04-26 15:27:45
234
转载 JackSon参考笔记(1)
概述Jackson框架是基于Java平台的一套数据处理工具,被称为“最好的Java Json解析器”。 Jackson框架包含了3个核心库:streaming,databind,annotations.Jackson还包含了其它数据处理类库,此外不作说明。Jackson版本: 1.x (目前版本从1.1~1.9)与2.x。1.x与2.x从包的命名上可以看出来,1.x的类库中
2017-04-26 15:09:26
311
转载 CoordinatorLayout的使用如此简单
曾在网上找了一些关于CoordinatorLayout的教程,大部分文章都是把CoordinatorLayout、AppbarLayout、CollapsingToolbarLayout 以及Toolbar等一起使用来介绍,这让我不知不觉在心中认为把这几个布局要一起使用,而且只是用于那种场景中。其实CoordinatorLayout的功能并不是局限于与AppBarLayout一起使用,它的功能强大
2017-04-23 15:11:30
191
原创 TabLayout+ViewPager 实现页签滑动的效果
在2015年的google大会上,google发布了新的Android Support Design库,里面包含了几个新的控件,其中就有一个TabLayout,它就可以完成TabPageIndicator的效果,最好的是它可以兼容到2.2以上版本,包括2.2。下面我就举一个简单的例子来使用它。 只要在build.gradle中加入compile 'com.android.sup
2017-04-23 14:57:53
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人