自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 Android11图片和视频保存视频方案

文章目录一、简介二、AndroidQ与其它版本图片和视频保存方式的差异1、系统MediaStore ContentProvider数据存储字段的改变三、图片保存示例代码四、视频保存示例代码五、总结一、简介软件都有着其生命周期,Android的更新换代也是很快的,每一年都会推出一个版本,AndroidQ与之前的版本有着比较大的改进,比如说文件存储强制要求使用沙盒模型,只能访问包名下的目录还有一些共享目录如Environment.DIRECTORY_DCIM、Environment.DIRECTORY_P

2022-02-16 15:31:35 3059 1

原创 2022.2.24做空AU计划

目前黄金历史高点2078,核心观点是做空,我计划使用马丁格策略对它进行操作,每涨150做空一次,1900上底仓做空0.02手,涨到2050亏损300刀)2050加仓做空0.04手(涨到2200亏损 300刀 + 600刀)2200做空0.08手(涨到2350亏损 300 刀 + 600 刀 + 1200刀)2350做空0.16手(涨到2500 300刀 + 600刀 + 1200刀 + 2400刀)2500做空0.32手,如果被顶到2650,再思考是加仓还是认输如果只算到2500 做空到0.1

2021-01-07 10:56:50 199

原创 防手机锁屏解锁自定义View

文章目录一、简介二、ObjectAnimator与Scroller实现比较三、 Scroller实现核心1、锁屏解锁主要有两个关键点2、触摸手机滑动带动页面进行滑动3、手指离开屏幕判断是否解锁成功4、记得重写computeScroll方法让滑动生效四、 Scroller滑动实现自定义View的所有代码如下:五、 ObjectAnimator滑动实现自定义View的所有代码如下:六、 总结一、简介在Android应用开发的过程中,有的时候为了提高用户留存,我们就会给应用加入锁屏壁纸的功能。锁屏壁纸解锁的

2020-09-30 19:00:55 1938

原创 gitlab从外网弄成内网后如何重新配置

文章目录一、下载对应平台的执行文件二、转盘到对应的下载的mkcert文件夹执行mkcert -CAROOT 得到 root 储存路径三、把 新的rootCA.pem 放在操作二得出的储存路径中四、执行 macert -install 即可五、执行git remote set-url origin gitlab路径(重新设置gitlab路径)六、执行git remmte -v(查看重新设置的git...

2020-04-28 14:53:16 1143

原创 Android常用屏幕适配方案简介

文章目录一、Android中PX、DPI以及DP概念1、PX(pixel 绝对单位)像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值2、DPI(dots per inch像素密度)屏幕每英寸所包含的像素数3、先来熟悉下 DisplayMetrics 中和适配相关的几个变量4、DP(Device-independent pixel,设备独立像素)可作长度单位,不同设备有不...

2020-03-26 16:50:20 431

原创 JNI和NDK简单入门

一、简介Android NDK 是一套允许您使用 C 和 C++ 等语言,以原生代码实现部分应用的工具集。在开发某些类型的应用时,这有助于您重复使用以这些语言编写的代码库。二、为什么要使用NDK利用Java代码开发的打包生成的apk容易被反编译,安全性不高,而利用ndk开发的库不容易被反编译,保密性好,安全性高C和C++的运行速度和效率都比java快。现如今很多开源工程都是C和C+...

2020-03-05 15:14:32 312

原创 Android热点设置适配7.0 8.0 9.0

引言Android每个版本的API都是有点差异的,就拿Android7.0 8.0和9.0来说,设置热点开启与关闭的API都不是很相同,尤其Android7.0 到 8.0。设置调用的API还是发生了较大改变,一般情况热点的关闭和打开我们都会通过判断API版本,来判断调用不同的代码。一、Hotspot的关闭 /** * 关闭热点 */ @SuppressLin...

2019-10-30 11:30:47 4747 6

转载 第一次安装apk应用被杀死错觉

App打包apk安装后重复启动根界面的问题这个问题很特殊,一般情况下很难被发现,是Android系统一直以来的一个Bug。当我们把app打包成apk安装程序,通过点击apk文件进行安装时,会启动安装界面,并在安装成功后会跳转安装完成界面,如图:安装完成界面我们点击图中的打开按钮,此时会启动我们的app这里为了让大家更容易理解一些,我们假设app有两个界面启动...

2019-10-08 09:05:12 355

原创 Launcher需要优化的地方

presenter需要优化的地方1、有多处通过对象调用静态方法2、多处无用代码和无用导包3、adapter数据主动获取4、字符串到处都是,应该使用常量5、format最好指定Local6、前控板显示代码写在构造方法里面7、keyEvent处理应该放到p层还是view层goldstate1、apk较大45M,300多张图片重复出现2、布局资源文件嵌套太多,无dimen3、...

2019-06-28 17:56:55 244

原创 Launcher数据库总结

Launcher数据库总结文章目录Launcher数据库总结1、引言2、database.db中所有的表3、android_metadata表4、satellite_table表5、audio_table表6、satellite_transponder_table表7、box_info_table表8、subtitle_table表9、cable_transponder_table表10、ter...

2019-06-26 14:43:15 958

原创 CSDN博客内容保存为pdf

开组会前往实验室平台上贴论文笔记时发现,这边写的公式完全贴不过去,感受了一波难过,开始鼓捣如何把CSDN博客的内容保存为pdf。CSDN自己提供的导出有两种形式,导出为markdown的.md文件和网页的.html文件,转pdf就也有两种方法。下面两种方法都是CSDN博客限定,其他博客不保证适用。如果各位有更好的方法请务必评论里砸过来。markdown转pdf可以利用pandoc工具进...

2019-06-13 09:00:18 757

转载 约束布局ConstraintLayout看这一篇就够了

目录1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout 3.1 添加依赖 3.2 相对定位 3.3 角度定位 3.4 边距 3.5 居中和偏移 3.6 尺寸约束 3.7 链 4.辅助工具 4.1 Optimizer 4.2 Barrier 4.3 Group 4.4 Placeholder 4.5.Guideli...

2019-03-21 14:55:34 249

原创 LeakCanary的简单使用

LeakCanary众所周知是很好用的一款内存泄漏查找工具,它的使用方法也比较简单。一、在AndroidApplication中调用安装LeakCanary软件 if (LeakCanary.isInAnalyzerProcess(this)) { return; } mRefWatcher = LeakCanary.install(...

2019-02-15 19:56:18 513 1

转载 Android的 onSaveInstanceState何时调用

onSaveInstanceState方法会在什么时候被执行,有这么几种情况:1、当用户按下HOME键时。这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则2、长按HOME键,选择运行其他的程序时。3、按下...

2019-02-15 19:40:05 499

转载 Android 内存泄漏全解

Android 内存泄漏全解Java 中的内存分配主要是分三块:静态储存区:编译时就分配好,在程序整个运行期间都存在。它主要存放静态数据和常量。 栈区:当方法执行时,会在栈区内存中创建方法体内部的局部变量,方法结束后自动释放内存 堆区:通常存放 new 出来的对象。由 Java 垃圾回收器回收。栈与堆的区别栈内存用来存放局部变量和函数参数等。它是先进后出的队列,进出一一对应,...

2019-02-15 19:38:13 232

原创 Android界面编程

1.界面布局2.动画3.View焦点及事件响应机制4.尺寸单位了解5.资源分享1.界面布局线性布局 : 用来控制其子View以水平或垂直方式展开显示重要属性:orientation(方向)layout_weight(权重)特点:使用方向属性可以方便处理上下/左右结果的UI;使用权重可以ui均匀显示,同时在不同分辨率有较好适配能力 相对布局:用来控制其子View以相对定位...

2019-01-18 09:48:28 966

原创 关于语言大小和类型改变后Fragment叠加解决方法

Fragment叠加需要注意的地方Fragment如果使用不当,会出现各种各样的问题,比如说Fragment叠加等。在系统语言改变或字体大小改变的时候,Activity会自动调用父类的onSaveInstanceState恢复语言改变之前的Fragment导致Fragment叠加。[TOC]1、重写父类的onSaveInstanceState方法,并且不调用父类的此方法 @Ove...

2019-01-16 10:33:00 614

转载 EventBus使用详解

概述EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递,这里的事件可以理解为消息。事件传递既可以用于Android四大组件间通讯,也可以用于异步线程和主线程间通讯等。传统的事件传递方式包括:Handler、BroadcastReceiver、Interface回调,相比之下EventBus的有点是代码简洁,使用简单,并将事件发布和 订阅充...

2019-01-10 19:44:19 218

转载 Java并发之synchronized深度解析

周一上午好,新的一周继续加油!本篇来自 剑走偏锋雨 的投稿文章,对Java中的synchronized关键字进行了非常精彩的讲解,希望对大家有所帮助。剑走偏锋雨 的博客地址:https://www.jianshu.com/u/4d1476815da2 前言 本篇从示例和理论两方面讲解synchronized关键字,希望对学习并发的你有所帮助。并发基础需了解的请跳...

2019-01-10 14:51:18 341

原创 Adroid简单使用蓝牙开发(1)

Android简单使用蓝牙开发虽然蓝牙传输速度很慢,但是在手机应用中使用得还是比较广泛的,由于蓝牙使用不需要网络等特点,它在智能家居中使用还是比较广泛的,比如说小区的门禁,很多门禁都会有蓝牙开锁的功能。蓝牙每次数据传输最多传送20个字节,相对其他传输协议,蓝牙传输是很慢的,它需要将许许多多的20个字节拼接成一个完整的包。不多说上下代码吧!推荐博客(https://blog.csdn.net/di...

2019-01-08 21:21:56 291

原创 SVN入门篇常用命令的使用方法

引言:众所周知SVN在文件管理领域,占有很大份额,许多软件公司也都有使用SVN来作为代码管理仓库,所以学习SVN本版工具还有有一定的必要性。1、SVN的更新操作svn up2、SVN的下载代码操作svn checkout3、SVN查看当前最近提交的3个版本svn log -l 34、SVN查看当前最近提交的3个版本的详细信息svn log l 3 -v5、查看本地SVN版...

2018-11-02 09:44:56 265

转载 Gitlab高级应用——代码回滚

Gitlab撤消merger和撤消commit原理及操作一致步骤一:切换到需要回退的分支    git checkout qa    如果如下错误:    fatal: This operation must be run in a work tree    则指定–work-tree参数,如下:    git –work-tree=/data2/apps/gitlab/git-da...

2018-11-02 08:49:34 2396

转载 git 远程分支回滚

git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id【本地代码库回滚】:git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除git reset --hard HEAD~3:将最近3次的提交回滚 【远程代码库回滚】:这个是重点要说的内容,过程比本地回滚要复杂应用场景:自动部...

2018-11-02 08:48:32 2976

原创 GitLab使用步骤即容易失误点

博主自己是尝试使用了以下GitLab,自我感觉良好,但是在十几开发中,缺发生了重大失误,下面我带着大家来学习一下,自己在GitLab中踩的坑,GitLab操作大致如下。一、GitLab上传的第一步使用 git clone git@某路径…二、查看分支状态 git branch -a三、所有的项目开发都在developer上 git checkout develop (切换当前分支到dev...

2018-10-31 21:16:21 529

原创 Android Studio关于下载某Jar包网络超时问题

1.首先将Android Studio的Settings打开,然后搜索Android Studio将Enable embedded Maven repository选项勾选,你也可以通过单击Build Execution Deployment中的Gradle来找到Android Studio选项[点击并拖拽以移动] ​2.修改build.gradle文件 如下,其中的注解为核心修改部分bui...

2018-10-28 20:03:08 563

转载 android studio 一直在 svn performing vcs refresh

这几天公司的SVN换了服务器,我们使用的android studio 也更新了,然后提交代码就一直在refresh当中,较之前仿佛慢了一个世纪……..使得我们使用svn客户端直接在电脑硬盘目录下面去提交。后面终于通过清除重链接又好了!下面是步骤:1、进入Setting—->Subversion—->按下 Clear Auto Cache 按钮。2、点击OK(保存)。...

2018-09-20 11:54:07 786

转载 【工具篇】Android studio 自定义注释快速生成

前言团队协作中,尽量保证各自代码自己维护。这样既能保证代码编写者在逻辑上的一惯性,也能避免修改不熟悉的代码而引起bug问题。但即使是这样的规避,也依然无法避免程序员之间代码的混合。所以,针对在一个类中,产出几个人同时需要添注的代码。最好能做代码注释的区分。这样为长时间后的代码维护,起到必要的指引作用。我们团队曾经就出现过这样的一个问题。在一个项目中的衔接代码处,由于一个程序员没有仔细检查代...

2018-09-19 09:21:53 2036

转载 面向对象与面向过程的本质的区别

前言:如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点时间来研读一下这篇博客,你一定会有很大的收获的!一、面向对象与面向过程的区别面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决...

2018-09-07 15:59:43 136

转载 ArcFaceDemo使用讲解

ArcFaceDemoFree SDK demo 工程如何使用? 1. 下载代码: git clone https://github.com/asdfqwrasdf/ArcFaceDemo.git 或者直接下载压缩包前往官网申请appid和sdkkey。 修改 ArcFaceDemo-master\src\main\java\com\arcsoft\sd...

2018-09-07 15:55:03 3915 1

转载 Android开发优化之的强引用、软引用、弱引用的使用

本文转载至:http://www.jianshu.com/p/8488079a939b 引言 早在JDK1.2,Java就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。但是平时我们的代码中似乎很少出现这些, 而之前还看到过一份代码中, 一个Activity中有一个静态变量持有对自己的弱引用,来达到类似的si...

2018-08-29 21:33:25 111

转载 一位程序员工作10年总结的13个忠告

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告。 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。 01.自己的户口档案、养...

2018-08-29 21:06:06 169

转载 Java的接口

一、接口是极度抽象化的类,接口的所有方法都是抽象的(public abstrack),并没有具体的实现。而抽象方法是不能使用static进行修饰,有static的方法是不能override的,所以这样定义接口才有意义。但接口中的变量也都是public static  final类型的。二、从另外一个方面理解,静态的变量和方法在内存种分配了空间, 而接口只是类的表现形式,是没有分配空间的。三...

2018-08-29 19:51:30 95

转载 Android总结篇系列:Android广播机制

1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间);2.同一app内部的不同组件之间的消息通信(单个进程);3.同一app具有多个进程的不同组件之间...

2018-08-29 14:53:19 104

转载 一步一步学习Android TV/盒子开发(三)

本文主要说的就是在TV开发中常遇到的问题总结焦点丢失问题在使用ListView、GridView及RecyclerView时有时会出现,这时需要在xml中,添加android:descendantFocusability="afterDescendants"1 2这里会有三种方式分别为 beforeDescendants:viewgroup会优先其子类控件而获取到焦点...

2018-08-28 16:37:20 665 1

转载 一步一步学习Android TV/盒子开发(二)

TV、机顶盒开发调试不能像手机一样通过USB线连接调试,可通过ADB连接调试连接电视adb connect 10.74.84.1991 2连接后就可以开始开发调试了!断开连接// 断开某个设备adb disconnect 10.74.84.1991 2 3// 断开所有设备adb disconnect1 2 3常用的ADB命令...

2018-08-28 16:28:14 2352 4

转载 一步一步学习Android TV/盒子开发(一)

写在前面的话:本人做了几年的机顶盒和Android电视上的应用开发,写这些文章只是为了让初次接触大屏开发的同学能够快速上手。TV端因为没有触控操作,只有遥控操作,所以焦点处理、控制以及按键监听是其主要特点。焦点处理设置可获取焦点布局中需要设置某个控件可获取焦点需要加上:android:focusable="true"代码中:view.setFocusable(...

2018-08-28 16:26:21 3097 3

原创 keil c51软件安装教程

一、将软件进行加压二、选择其中的c51v954.exe文件并运行三、选择其中的mdk523.EXE文件并运行四、启动设置安装路径中的UV4.exe文件运行五、点击此处添加一些文件 六、进行破解,点击编译器的这个按钮 在下图中通过CID和不同架构的的板子生产不同架构的->激活码七、打开已经存在的项目八、点击rebuild按...

2018-08-28 14:04:49 12109

转载 一、logcat命令介绍

1.android log系统 2.logcat介绍logcat是android中的一个命令行工具,可以用于得到程序的log信息log类是一个日志类,可以在代码中使用logcat打印出消息常见的日志纪录方法包括: 方法 描述 v(String,String) (vervbose) 显示全部信息 d(String,Str...

2018-08-27 17:46:45 262

转载 android:launchMode的四种方式

Activity一共有以下四种launchMode:            standard            singleTop            singleTask            singleInstance1.standardstandard模式是默认的启动模式,不用为<activity>配置android:launchMode属性即可,...

2018-08-20 11:51:48 5331

转载 Android Animation 动画——translate解析图

今天来学习一下Animation文件里面translate的fromXDelta/fromYDelta与toXDelta/toYDelta值使用。现在看一下动画吧:很简单,就是一个从左向右的动画,怎么实现呢?我们来看一下动画文件:anim.xml<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http...

2018-08-14 18:56:32 5065 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除