Android
三三不尽
这个作者很懒,什么都没留下…
展开
-
android Room基础使用
今天开始Jetpack第一篇!因为正好要先用数据库,所以先看ROOM!这篇只是能跑起来的,基础中的基础,细节以后写!上!一、大概先了解ROOM主要对象为3类:用注解表示分别是:@Database、@Dao、@Entity各自代表,数据库、Dao对象,和实体对象(表);二、建个对象@Entitypublic class NotificationEntity {...原创 2020-04-14 16:38:31 · 475 阅读 · 0 评论 -
通过JNI调用三方SO库
1. 不管怎么样搞一个带C++的项目2. app路径下搞一个文件jniLibs放第三方so这个路径需要配置:地方在app下的build.gradleandroid { //... sourceSets { main { jniLibs.srcDirs = ['jniLibs'] } }}把so放...原创 2020-01-10 16:56:33 · 1692 阅读 · 0 评论 -
Java的四种引用
Java从1.2开始就有个不同引用的概念,废话不多说,直接上! 强引用(StrongReference) 软引用(SoftReference) 弱引用(WeakReference) 虚引用(PhantomReference) 强引用(StrongReference)在1.2之前,只有强引用,这种引用,简单来说就一个字,强!没有具体的类来标识强引用,我...原创 2019-12-19 11:32:15 · 248 阅读 · 0 评论 -
android源码下载-Windwos下使用清华镜像
本人只需要部分源码做分析就研究,所以只下载了一部分,全部的没有下载过不多废话直接上步骤:1. 按照githttps://www.runoob.com/git/git-tutorial.html2. 安装pythonhttps://www.runoob.com/python/python-tutorial.html3. 下载repo 找个合适的路径,如E:\progra...原创 2019-12-05 13:40:45 · 385 阅读 · 0 评论 -
Android P CameraManager
CameraManager:是用来检测、特征化、连接CameraDevice的一个系统服务;/frameworks/base/core/java/android/hardware/camera2/CameraManager.javaCameraManager的获取方法:和其他熟知的系统服务一样,CameraManager在frameworks/base/core/java/...翻译 2019-07-02 21:50:58 · 539 阅读 · 0 评论 -
Android P ActivityManagerService(三) startActivity的第一小部分
从Activity的启动流程来窥探AMS;由于启动流程比较长,准备拆分之后细细品尝;Activity.java中的startActivity;@Overridepublic void startActivity(Intent intent) { this.startActivity(intent, null);}@Overridepublic void startA...原创 2019-04-18 17:46:17 · 617 阅读 · 0 评论 -
指纹的简单使用
class MyCallBack extends FingerprintManager.AuthenticationCallback { boolean mSelfCancelled; private FingerprintManager fingerPrintManager; private CancellationSignal mCancellationSignal;...原创 2019-04-15 10:49:05 · 312 阅读 · 0 评论 -
帧动画 AnimationDrawable
帧动画是一种简单粗暴的动画;一串图片按照一定的间隔轮流上阵就完事儿了;在drawable中可以这样的定义;<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item ...原创 2019-04-15 11:36:44 · 177 阅读 · 0 评论 -
矢量图动画 AnimatedVectorDrawable
看文章后自己小结一下:https://blog.csdn.net/gitzzp/article/details/56289647矢量图动画的关键点:vector 矢量图 animated-vector 矢量图动画 objectAnimator 动画animated-vector的作用是连接vector(矢量图)和objectAnimator(动画)在Android...原创 2019-04-15 20:17:00 · 905 阅读 · 0 评论 -
Android P ActivityManagerService(五) startActivity的第三小部分
ActivityStarter中的startActivity方法;这是一个有300行长度方法;总体是这样的;private int startActivity(IApplicationThread caller, Intent intent, Intent ephemeralIntent, String resolvedType, ActivityInfo aInfo, Re...原创 2019-04-23 11:18:49 · 691 阅读 · 0 评论 -
Android P ActivityManagerService(二) 初始化
系统服务器的初始化都在SystemServer;就从SystemServer的main方法开始;/** * The main entry point from zygote. */public static void main(String[] args) { new SystemServer().run();}简单明了的调用了内部run方法;run看着像启动线程,然而这...原创 2019-04-17 14:48:19 · 361 阅读 · 0 评论 -
Android P ActivityManagerService(一) 初识
上层获取ActivityManager;ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);熟悉系统服务的话,都知道getSystemService方法最后会调用到SystemServiceRegistry中;找到添加服务的代码;registerServic...原创 2019-04-17 10:49:45 · 632 阅读 · 0 评论 -
ObjectAnimator
先来个简单的例子ObjectAnimator.ofFloat(v, "rotationX", 0f, 360f) .setDuration(400).start();v:播放动画的View;rotationX:播放的方式;0f:起始值;360f:结束值;起始值和结束值之间可以添加中间状态;如播放组合动画中的示例;默认支持播放动画的列表rota...原创 2019-04-10 13:35:16 · 251 阅读 · 0 评论 -
RecyclerView GridLayoutManager列间距
GridLayout模式的时候,如果默认的列宽和比RecyclerView的容量小,那么就会每一列的右侧添加一个间距;这个间距会导致RecyclerView整体向左偏移的一个效果;要干掉这个偏移,大体可以通过以下3种手段:算好RecyclerView的容量大小(即,去掉padding等之后的实际宽度),然后设置列宽的和正好等于这个宽度; 把第一列以外的列往右移; 把整体往右移,然后...原创 2019-04-09 19:36:59 · 6910 阅读 · 0 评论 -
Utils工具类整理
DP/PX互转 public static int dpToPx(int dp) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, Resources.getSystem().getDisplayMetrics()); } public static in...原创 2019-04-09 17:25:50 · 406 阅读 · 0 评论 -
Rxandroid2.0 使用记录
简单记录一些基础知识和使用方法,目标——简单!能用!Github地址:https://github.com/ReactiveX/RxJavahttps://github.com/ReactiveX/RxAndroid依赖库:implementation 'io.reactivex.rxjava2:rxjava:2.2.2'implementation 'io.rea...原创 2019-03-29 17:22:02 · 1299 阅读 · 1 评论 -
Android P ActivityManagerService(六) startActivity的第四小部分
ActivityStarter中,生成ActivityRecord之后startActivity方法;private int startActivity(final ActivityRecord r, ActivityRecord sourceRecord, IVoiceInteractionSession voiceSession, IVoiceInteractor...原创 2019-04-25 14:45:33 · 614 阅读 · 0 评论 -
Android P ActivityManagerService(四) startActivity的第二小部分
下面是启动Activity进入AMS之后的部分流程;int result = ActivityManager.getService() .startActivity(whoThread, who.getBasePackageName(), intent, intent.resolveTypeIfNeeded(who.getContentReso...原创 2019-04-22 13:54:15 · 520 阅读 · 0 评论 -
初试ijkplayer
出于项目需要,做了一个基于ijkplayer的demo;ijkplayer是bilibili的一个开源项目;https://github.com/Bilibili/ijkplayer首先加入依赖:刚开始直接搜索ijkplayer,出来的东西不好用;后来改成直接引用下面的全称OK了; implementation 'tv.danmaku.ijk.media:ijkp...原创 2019-04-28 19:49:57 · 451 阅读 · 0 评论 -
Android P Camera2的粗略整理
Android Camera目前的整体架构很清晰的,主要分为以下几块:Camera APP代码在packages/apps/Camera2/目录下是Camera的上层应用端,自己写Camera App的话,可以借鉴此部分代码Camera Framework API这部分是提供给上层APP调用的API代码在frameworks/base/core/java/android/ha...原创 2019-07-23 17:02:02 · 1629 阅读 · 0 评论 -
性能优化
APP性能优化之内存优化https://www.imooc.com/learn/777Android性能优化之布局优化https://www.imooc.com/learn/1030Android性能优化之图片优化https://www.imooc.com/learn/1060...转载 2019-07-25 10:26:13 · 123 阅读 · 0 评论 -
MTKCamera1APP-Open
CameraApp Open流程:CameraActivity - onCreate CameraDeviceCtrl - openCamera在这里会把mCameraState设置为STATE_OPENING_CAMERA,默认是STATE_CAMERA_CLOSEDCameraStartUpThread - openCameraCameraStartUpThread是Camera...原创 2019-07-24 17:36:20 · 414 阅读 · 0 评论 -
Android P Camera2 代码路径
Camera代码路径 App packages/apps/Camera2/应用层代码,可以模仿此App进行Camera开发 Camera2 Framework frameworks/base/core/java/android/hardware/camera2/对应用层提供的API,包含CameraManager、CameraDevice、CameraCaptureSe...原创 2019-07-18 11:28:56 · 806 阅读 · 0 评论 -
Android P Camera2中CaptureRequest的3A设置
Camera2中CaptureRequest的3A设置 自动曝光 自动曝光在日常使用中算是比较常用的功能了,CameraCharacteristics#FLASH_INFO_AVAILABLE特性为TRUE的设备支持对自动曝光(AE)模式的设置。属性名称:CaptureRequest.CONTROL_AE_MODE属性值:OFF:相机设备被禁用自动曝光程序。ON:相机...翻译 2019-07-16 15:05:10 · 4666 阅读 · 0 评论 -
Android P CameraDevice
CameraDeviceCameraDevice类是连接到Android设备的单个摄像头的表示,允许以高帧速率对图像捕获和后处理进行细粒度控制。您的应用程序必须在其清单中声明Camera权限才能访问摄像头设备。给定的摄像机设备可以在CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL中定义的几个级别之一提供支持。如果设备支持Camera...翻译 2019-07-13 08:30:49 · 1568 阅读 · 0 评论 -
Android P CameraManager.TorchCallback
CameraManager.TorchCallback相机闪光灯手电筒模式变为不可用,禁用或启用的回调。当其所属的摄像机设备变得不可用或由于其他更高优先级的摄像机Activity而需要的其他摄像机资源变得繁忙时,手电筒模式变得不可用。 当手电筒关闭或其所属的摄像头设备不再使用且其所需的其他摄像头资源不再繁忙时,手电筒模式将被禁用。 当应用程序调用CameraManager.setTorch...翻译 2019-07-11 14:23:12 · 878 阅读 · 0 评论 -
Android P CameraManager.AvailabilityCallback
CameraManager.AvailabilityCallback相机设备变回可打开或无法打开的回调。当相机不再使用或连接新的可移动相机时,相机即可使用。 当某些应用程序或服务开始使用相机时,或者当可移动相机断开连接时,它们将变得不可用。扩展此回调并将子类的实例传递给CameraManager #registerAvailabilityCallback,以通知此类可用性更改。...翻译 2019-07-11 13:42:29 · 1409 阅读 · 0 评论 -
Android P CameraCaptureSession
CameraCaptureSessionpublic abstract class CameraCaptureSession extends Object implements AutoCloseable一个已配置好的CameraDevice的捕获会话,用于从相机捕获图像或重新处理先前在同一会话中从相机捕获的图像。CameraCaptureSession的创建时通过提供一组目标输出S...翻译 2019-07-22 16:41:04 · 3285 阅读 · 0 评论 -
Android P CameraDevice.StateCallback
CameraDevice.StateCallback用于接收有关摄像机设备状态的更新的回调对象。在调用CameraManager#openCamera方法时,必须提供此回调实例才能打开摄像机设备。这些状态更新包括有关设备完成启动(允许调用CameraDevice.createCaptureSession(SessionConfiguration)),设备断开或关闭以及有关意外设备错误的...翻译 2019-07-15 11:17:55 · 3832 阅读 · 0 评论 -
Android P ActivityManagerService(七) TransactionExecutor消息机制
TransactionExecutor,在Activity启动代码的初期就有接触过;最后realStartActivityLocked中也有涉及;初看的时候会有些模糊;决定先整理一下TransactionExecutor相关的知识,既能熟悉源码,也能对自己的编码有所启示;主要相关代码都在frameworks\base\core\java\android\app\servertransact...原创 2019-04-29 15:14:09 · 2361 阅读 · 0 评论 -
Android P ActivityManagerService(八) 从Recent启动Activity
startActivity之外,从Recent界面启动Activity也是应用启动的一个重要方式;而这一切都是从RecentView.java的startTaskActivity方法开始的;/** * Starts the activity for the launch task. * * @param taskView this is the {@link TaskView} t...原创 2019-05-08 13:37:56 · 2778 阅读 · 0 评论 -
Switch控件
修改Switch样式用于修改全局Switch样式,如果要改单个的,可以单独引用主题;一、 在style中定义Switch样式<style name="SwitchStyle" parent="@style/Widget.AppCompat.CompoundButton.Switch"> <item name="android:showText">fal...原创 2019-04-08 14:36:16 · 518 阅读 · 0 评论 -
adb
1. 查找包名对应的APK adb shell "pm list packages -f | grep [包名]" 如,adb shell "pm list packages -f | grep com.android.ctsmode" adb shell "pm list packages -f" > D:\1.log2. 启动activity adb...原创 2019-03-28 17:05:45 · 162 阅读 · 0 评论 -
Android 界面颜色
转载 2019-03-22 14:44:11 · 435 阅读 · 0 评论 -
Android 保活
双进程守护,AIDL, 监听ondisconneted jobservice原创 2019-03-22 14:42:03 · 148 阅读 · 0 评论 -
android 定位
android定位开头此文档主要介绍在android中的基本定位方式。如何偷偷打开GPS偷偷把GPS打开,这样就可以用GPS定位了。当然不用GPS也可以通过网络或者基站信息等定位。/** * Toggles the state of GPS. Actually turn on the gps * * @param context */private voi...原创 2019-03-22 14:40:27 · 1021 阅读 · 0 评论 -
自定义ViewGroup
开头自定义ViewGroup和自定义View差不多。ViewGroup需要更多的为子View做考虑。第一步,定义和使用自定义属性参见自定View。第二步,获取自定义属性参见自定View。重写onMeasure计算子View的高度和宽度。 判断ViewGroup MeasureSpec的Mode。 根据MeasureSpec的Mode计算ViewGroup高度和宽...原创 2019-03-22 14:28:06 · 91 阅读 · 0 评论 -
自定义View
开头界面的酷炫程度越来越高时,自定义View势在必行。第一步,定义和使用自定义属性在values/attrs.xml,添加需要的styleable和item。这个并不是必须,有些自定义view没有自定义属性,也活着好好的。<declare-styleable name="LineChart"> <attr name="pointHeight...原创 2019-03-22 14:24:09 · 116 阅读 · 0 评论 -
android 中一些代码实现的Drawable资源
开头Android中的Drawable不仅仅可以用图片,还可以用一些xml来描述,实现某些效果。比较常见有Selector、Shape、Layer-list、VectorSelector用于在不同状态时显示不同的图像。主要状态如下:<?xml version="1.0" encoding="utf-8"?><selectorxmlns:an...原创 2019-03-22 14:14:56 · 1076 阅读 · 0 评论 -
BaseAdapter
简介BaseAdapter用于数据和UI界面的适配。可用于ListView,Spinner,GridView等。随着RecycleView的流行,BaseAdapter的应用已经越来越少了。功能介绍getCount返回数据的总量 getItem返回该position上数据的内容 getItemId返回该position上数据的Id getView返回该position上数据的视图...原创 2019-03-22 14:03:24 · 84 阅读 · 0 评论