自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (2)
  • 收藏
  • 关注

原创 android aab转apk的方法

aab文件到底怎么才能完成我们需要的apk呢?

2023-06-14 13:01:11 1552

原创 android 拍照,相册获取后的文件并适配10.0获取绝对地址

言简意骇使用本人封装好的工具类就可以在此我告诉大家怎么使用。 cameraUtil = CameraUtil(this)1进行初始化 cameraUtil!!.getOpenCameraFile(object : CallFile { override fun getFile(file: File) { } })2 注册接口用于返回我们拍照后的文件。 cameraUt

2021-11-24 14:59:07 1993

原创 Context,Service,Application,Activity的区别?

Activity,Service,Application 关系图。 (课外)ContextWrapper和是一种装饰模式1. ContextWrapper就是一个包装类没有具体的实现,真的是逻辑代码都在ContextImpl中,ContextImpl继承自抽象类Context,并实现了其中的抽象方法。2. Context类是最上层的抽象类,在内部定义了大量的抽象方法,其startActivity方法也定义其中。3. Activity继承自Contex...

2021-11-17 11:26:01 2037

原创 activity启动流程或工作流程

1启动activity 原理。 1.1 启动方式。 Intent intent =new Intent(this,MainActivity.class);startActivity(intent); 1.2 源码分析(注本篇幅源码和讲解较多如若不清楚还请好好品鉴) 1.3 点进startActivity 中让我们一探究竟 1.3.1 ...

2021-09-15 21:59:56 1221

原创 无代码入侵的广播监听

采用 JetPack 技术 (注 在Androidx才可使用)使用方式1 添加依赖 implementation "android.arch.lifecycle:common-java8:1.1.1"2 创建网络监听类public class NetWorkStateReceive extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) {

2021-04-07 16:57:24 282

原创 Android Camera 相机开发第一篇

相机现实知识: Camera SurfaceView (SurfaceView 也是TextureView,最常用的当然是SurfaceView 所以主讲SurfaceView) 俩者关系脑图一、SurfaceView 、Surface 、 SurfaceHolder关系图S...

2020-09-02 11:45:32 5008

原创 ConstraintLayout 动态设计View的约束

对于 ConstraintLayout 约束布局我想大家应该都接触过,约束布局可以减少布局的嵌套并且约束写的好没有适配的烦恼。如果不了解的同学点击这里了解约束布局ConstraintLayout我这边这篇博客是解决大家在项目中对于View的显示(View.VISIBLE)和 隐藏 (View.GONE)的动态烦恼。如果你当前的约束A 被隐藏那么 和A有约束的View会在布局错乱 ,所以才需要动态的添加约束,直接工具类当前和XML中的约束名字都是一致的并且上备注。public c...

2020-08-18 16:15:29 735

原创 AndroidStudio Cannot invoke method close() on null object

Cannot invoke method close() on null object 关于报错。1gradle 编译失败报的错, 将app 目录中的 build 文件删除,重新编译就好了(如果这样好了就不要再去尝试 2 的解决方式了)2 在项目的Build.gradle 中进行添加 在 buildscript 标签 下和 allprojects 标签下添加configurations.all { resolutionStrategy.cacheDy...

2020-08-18 15:50:59 2386 4

原创 Android 使用Web3j构建以太钱包

Web3j的引用直接通过咱们平时导入各个引用的方式 implementation 'org.web3j:core:3.3.1-android'这样导入还需要导入multidex 因为导入你会发现报65535所以还需要导入 implementation 'com.android.support:multidex:1.+'进下来创建以太的链接//用**代替的可以选择ETH的链...

2019-12-23 11:06:17 725

原创 自定义View从0到1 (1)

第一章 浅谈自定义View我们先带入门浅谈自定义View与了解自定义View想要学好自定义View对于View要有一个了解不可能一上来就要写一些花哨的视图。对于自定义View我们先了解Paint(画笔)打个比方我们要进行作画那么画笔Paint有了那么我们需要作画的纸Android中Canvas(画布),现在我们知道了俩个对象Paint(画笔),Canvas(画布)。接下来我们去了解Paint...

2019-11-25 09:55:02 288

原创 Android WebView 点击图片获取查看预览大图缩小

WebView 点击图片在移动端要注入JS 去搞定 但是一般这种需求也是可以教给你们丰富经验的H5前端小姐姐(小哥哥)进行搞定的那么如果前端小哥哥或者小姐姐不会怎么办那么请看下文1 添加网络权限 <uses-permission android:name="android.permission.INTERNET" /> <uses-permissio...

2019-11-15 11:53:19 901

原创 View滑动到底可以用几种方式实现呢?

在了解View滑动的书记兼我们需要知道View的坐标系,如果坐标都不知道在什么未知那么索然无味的让它动起来又有什么意义呢?如上图我们根据图片也能得到View的宽高。viewWidth= getLegt() - getRight(); View的宽viewHeight = getTop() - getBottom(); View的高1.1...

2019-09-04 10:59:21 250

原创 Android 9.0 权限申请流程图

首先说一下对于Android权限名词解释。uid 用户linux权限系统中用与区分用户身份的标识,由于Android是单一用户权限系统,也可以理解为应用ID,该ID从用户安装起就会分配,uid也会改变条件是卸载重新安装。 pid 进程ID用于远程服务交互 appid appid可以理解伟和uid一样只不过是本地服务叫法不同 callerid call...

2019-08-27 17:27:15 1490

原创 build 文件中自定义变量读取JSON等操作版本控制教学并在代码中获取当前变量

apply plugin: 'com.android.application'//1首先导入JSON 依赖import groovy.json.JsonSlurper//使用def 定义自己的函数 getAppVersionCode 获取JSON文件中当前的版本号def getAppVersionCode() { //默认版本如果没有读取到就使用默认 int vvCode...

2019-08-14 12:19:56 641

原创 关于Android适配版本Q

对于Android Q 也就是Android 10.0的到来大家做好准备了吗, 这篇博客用来给大家普及Android Q 适配知识的普及。当然本人首推的是官方Google的文档,不关官方更新到那个版本我们开发者肯定关心的是如何适配。 1 储存空间Android Q 方面还是使用...

2019-07-29 11:34:43 4568 3

原创 仿淘宝倒计时

一下是自定义视图, 下面还有布局和使用方法。@SuppressLint("HandlerLeak")public class RushBuyCountDownTimerView extends LinearLayout { // 小时,十位 private TextView tv_hour_decade; // 小时,个位 private TextView tv_hour_un...

2019-07-03 16:16:37 599

原创 读取Assets中的数据库 .db文件

示例图 现在要进行读取xcz1.db 中的 数据那么读取数据之前要知道表明字段名,如果知道直接绕过 1 看 导航2 . 1 在不知道的情况下我们可以使用工具Navicat Premium 进行查看,示例图这样我们就能看到表明和字段名等信息 那么我们知道了这些信息直接进行 将数据库复制本都 进行读取就OK ,直接上代码2 进行读写权...

2019-07-01 10:51:38 1265 3

原创 关于自定义注解

声明: 本人最近也在学习自定义注解但是看着网上的代码拿下来运行都直接报错,我在想 你们在抄别人的帖子之前要自己先运行一遍,本人这边通过学习进行纠正他们自定义注解创建对象和查找id 的错误。 在进行学习自定义注解之前首先要了解反射,因为在你注解将对象传过来的时候那么你的当前对象要进行利用反射进行查找和赋值,然后如果看不懂那就先直接看最后自定义注解的解释就会明白为什么要先看反射了...

2019-05-10 18:41:39 280

原创 一些好玩的开源库

1* TreeView implementation for android https://github.com/bmelnychuk/AndroidTreeView2* 可滑动的Fragment加不一样的Table https://github.com/gauravk95/bubble-navigation3* And...

2019-05-10 13:59:32 371

原创 Android8.0 下载APK 安装无响应

前言: 由于公司不想用 阿里的、腾讯的 热更新和热修复,所以只能自己写和后台哥们一起,想法调用底层C 进行交互下载可以完成差异下载和重新安装的需求,完成了 Android 7.0的私有文件夹 URI 的 路径判断和转换,但是测试机是android8.0的原因,在下载完成会进行一个无法拉起Intent进行安装,后期查看官方API 才发现在Android 8.0 又新加了一项权限“安装未知应用”。...

2019-04-28 17:23:04 811

原创 根据字符串等生成你的专属二维码

首先导包依赖zxing的 implementation 'com.google.zxing:core:3.2.1' implementation 'com.journeyapps:zxing-android-embedded:3.4.0@aar'直接上方法 进行调用就可以 在address 中传入要生成的文字等或者地址private Bitmap creat...

2019-04-12 18:22:20 1431

原创 Android_Dagger2 入门及依赖导入问题详解

其实现在网上已经有很多的Dagger资料但我查阅了一下我发现多好都是有点瑕疵让大家从Dagger入门到放弃再从入门到放弃,如此反复,顿时想到了圈中的很多从入门到放弃(Java从入门到放弃)等.....注:耐心观看废话一般很少不要错过细节以防出现纰漏,直接将如何上手和介绍,本篇博客针对小百快速入手Dagger2(匕首)。 1,Dagger2 的讲解 ...

2019-03-29 16:04:34 646

原创 全面屏按钮挡住页面布局进行适配

查看为适配效果我在适配之前查看这方面资料总结一下 1:在AndroidManifest.xml文件中当前启动Activtiy中加上一条属性:android:resizeableActivity = “true” 2:加上&lt;meta-data android:name = "android.max_aspec...

2019-03-18 14:56:03 1047 2

原创 RecyclerView 设置滑动速度

1:需求、 RecyclerView 的滑动速度降低或者加大 滑动速率 直接找到官方API但是看了一圈都没有找到可以设置RecyclerView滑动速度的方法。 那就没有办法了只有从源码中进行查看。 首先RecycleView提供了俩个滑动监听的方法如下: ...

2019-03-16 13:45:54 6867

原创 Android 拍照适配到7.0,并进行动态权限授权(教学)

在Android 6.0的时候我们进行拍照 需要动态权限不然会报错, 有的也就直接崩溃,都没有错误日志,今天先说动态授权,并介入到拍照,拍照的话在7.0 的时候使用直接的包名储存会进行报错,就需要一个共享地址去储存砸门的图片,大致的问题就这些,接下来我们进行代码实现并进行讲解。 我们使用摄像头所以第一步现在我们的清单文件也就是AndroidManifest中添加<uses-p...

2019-01-18 18:25:48 1652

原创 微信登录昵称乱码+微信正式包签名测试使用Debug模式测试

1 先去解决微信昵称类似与(8E%...........)解决方式使用JAVA ----net包下的  类就完美解决  String decode = URLDecoder.decode(wx_name, "UTF-8");         上方是URLDecoder 解码方法  将wx_name进行更改成项目中拿到的微信name就OK               ...

2018-12-14 22:10:07 1132

原创 一个安卓开发中常用的字符串工具类

public class StringUtils { private StringUtils() { throw new AssertionError(); } /** * 密码 * * @param pwd * @return */ public static boolean isPwd(St...

2018-11-13 08:54:24 545

翻译 Glide加载圆形图片并且带白色边框

1、创建一个类此类是重写Glide中的样式进行更改   implementation 'com.github.bumptech.glide:glide:4.0.0-RC1'/** * 加载圆形头像带白色边框 */public class GlideCircleWithBorder extends BitmapTransformation { private Pai...

2018-11-12 09:00:08 1438 3

原创 读取assets的json工具类

public class JsonFileReader { public static String getJson(Context context, String fileName) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { AssetManager assetMana...

2018-11-12 08:47:41 993

原创 ScrollView或NestedScrollView嵌套ListView显示一条itme的问题

解决方法 重写ListView中的   onMeasure方法    @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(...

2018-11-12 08:43:37 817

原创 带你初始View

什么是自定义View 那么是View , View是Adnroid中所有控件的基类,不管是简单的Button 还是TextView 都是复杂的RelativeLayout 和ListView 他们的基类无非都是View, View是一种的界面层的控件的一种抽象,他代表了一个控件。除了View还有ViewGroup,ViewGroup的内部包含了很多控件,也就是一组View。在Adnroid中Vie...

2018-09-07 07:08:43 399

原创 线程 和线程池

 线程池能有效的处理多个线程的并发问题,避免大量的线程因为互相强占系统资源导致阻塞现象,能够有效的降低频繁创建和销毁线程对性能所带来的开销。真正线程池的实现是通过ThreadPoolExecutor,ThreadPoolExecutor通过配置不同的参数配置来创建线程池。   一.Java中的ThreadPoolExecutor类看到这既然用到了ThreadPoolExec...

2018-08-30 08:49:26 203

原创 140款Android开源优秀项目源码

值得收藏https://blog.csdn.net/April52522/article/details/70171623

2018-08-28 16:03:17 559

原创 WebView显示VR或者显示H5的VR链接

效果图镇楼                        在学会怎么去用WebView 显示VR效果并适配个个手机都能出来的效果后加急写了这篇博客,本尝试了很多方法拿WebView去直接.loadUr 的时候发现在百分之 60 的手机能上能显示出VR效果那百分之40其实显示了我们H5提供的App下载网页,所以一看就知道那百分之40的手机不能不管只能领找方案。          所以 我简单...

2018-08-28 15:09:05 3673 5

原创 Kotlin 动态更改EditText 中password更改显示可见

inputpass,换成你的EditText //可见 inputpass.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); //隐藏 inputpass.setInputType(InputType...

2018-08-23 17:32:48 1193

原创 Android 使用广播对电话进行监听和挂断

1.添加权限<!--拨打电话的权限--><uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><...

2018-08-22 01:09:18 4608 3

原创 在Recyclerview中出现RadioGroup错乱复用和LIstView中错乱复用解决方法

1首先说一Recyclerview中RadioGroup 出现点几一条直接下拉出现多个选中的情况 解决方法如下 // 在适配器中获取到你得到RadioGroup RadioGroup radioButton = helper.getView(R.id.redioFroup); //为获取到你得到RadioGroup中小...

2018-08-22 00:44:58 1619

转载 PopupWindow 中EditText不能复制粘贴的问题

https://blog.csdn.net/lmj623565791/article/details/37815413/

2018-08-20 08:36:54 1783

转载 全新的Android 的通知栏 兼容高版本

全新的Android的通知栏可自定义持续更新先给大家看一下效果图/** * 显示一个普通的通知 * * @param context 上下文 */ public static void showNotification(Context context) { Notification notification = ne...

2018-08-15 01:34:08 1360

原创 Actvity 管理Fragment 的退栈与回栈

我把代码放上来 解释我全部 都有备注, 电调用此方法可以实现回栈的功能。 //此方法 简单解释 public void changeFragment(int containerId, Class&lt;? extends BaseFragment&gt; fragmentclass, Bundle bundle, boolean isReplace, boolean isBook) ...

2018-08-14 16:43:10 1082

android aab转apk的方法

bundletool

2023-06-14

字符串年月日转换13位时间戳-全任何时间转换-分-秒

此工具课可定时看你固定的年月日的时间戳,可具体到时分秒,可比较时间差等

2018-11-20

系统状态栏与底部导航栏相关工具类

沉浸式系统栏(状态栏与导航栏),着色模式,不可全透明(sdk >= 4.4) * 设置状态栏和底部导航栏的显示方式 *: 内容不会显示到状态栏和导航栏上<br>{@code false}: 内容显示到状态栏和导航栏上 * 裁剪 padding 区域,padding 区域不可使用 不裁剪 padding 区域,padding 区域可使用

2018-08-20

空空如也

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

TA关注的人

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