自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

景兄弟的博客

积累,坚持,总结

  • 博客(195)
  • 资源 (18)
  • 收藏
  • 关注

原创 下班回家后,肝到凌晨1点,终于完成老婆的数据需求

【代码】加完公司的班,回家肝到凌晨1点,终于完成老婆的报销数据需求。

2023-04-09 00:55:45 317 1

原创 分享两个个Android源码在线查看网址

AndroidXRef,想看哪个版本的安卓源码都可以哟!

2021-11-28 12:00:01 284

原创 APK反编译工具推荐----Jadx

经过测试Apktool,dex2jar,jd-gui,jadx等APK反编译工具发现,Jadx工具查看apk源码最为方便,当然前提是apk未经混淆或者加固(混淆后查看可读性非常差,加固后,基本看不到可以相关业务代码)。下面放一张jadx工具图片:...

2021-11-28 11:46:19 1030

原创 serializable和parcelable的区别

Serializable (Java自带):Serializable是序列化的意思,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。Parcelable (android专用):除了Serializable之外,使用Parcelable也可以实现相同的效果,不过不同于将对象进行序列化,Parcelable方式的实现原理是将一个完整的对象进行分解,而分解后的每一部分都是lntent所支持的数据类型,这样也就实现传递对象的功能了。选择序列化方法

2021-07-09 09:00:58 576 1

原创 onTrimMemory的使用

能让activity得到内存情况的通知.@Overridepublic void onTrimMemory(int level) { super.onTrimMemory(level); switch (level) { case TRIM_MEMORY_UI_HIDDEN: //进行资源释放操作 break; }}运行时的回调TRIM MEMORY_RUNNING_MODERATE奏示应用程序正常运行,并.

2021-07-09 08:41:17 697

原创 listview和recyclerview的区别

ListView:只能在垂直方向滑动。RecyclerView:支持水平方向滑动,垂直方向滑动,多行多列瀑布流的方式等。ListView:有几个默认的Adapter,分别是ArrayAdapter、CursorAdapter和SimpleCursorAdapter。RecyclerView: Adapter需要自己实现。ListView:拥有子ltem的监听函数:AdapterView.OnltemClickListener。RecyclerView:需要自己实现接口,来实现子ltem的点击

2021-07-09 08:36:17 578

原创 Android内存管理机制

1.查看android low memory killer的内存阈值: cat/sys/module/lowmemorykiller/parameters/minfree 阈值的单位是4KB,也就是一页,换算成兆就是 阈值*4/1024六个值分别对应 前台进程 ,可见进程,服务进程,后台进程,contentProvider,空进程的杀进程的最低内存量判断进程的优先级 :通过oom_adj值: cat /proc/pid(具体的进程id值)/oom_adj...

2021-07-08 22:37:43 167 1

原创 adb unauthorized

首先我的是机器root的情况下,直接使用wifi adb打开本地adb服务,wifi adb的下载链接为:https://download.csdn.net/download/u012539700/20092458,不要积分免费下载,然后打开手机的开发者选项,打开usb调试,这样就会弹出授权提示框,然后点击允许,就可以正常调试啦。...

2021-07-08 22:25:12 168

原创 简单实用的微信缓存框架mmkv

MMKV 是微信于 2018 年 9 月 20 日开源的一个 K-V 存储库,它与 SharedPreferences 相似,但又在更高的效率下解决了其不支持跨进程读写等弊 端。1.build.gradle implementation 'com.tencent:mmkv-static:1.2.9'2.application初始化 String path = MMKV.initialize(this);//会返回MMVK存储的目录(String)3.获取mmkv对象 MMK

2021-07-01 21:55:02 693

原创 Android CameraX Java语言版本

1.前置工作:a.设置权限: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-feature android:name="android.hardware.camera.any" /> <uses-permission android:name="android.permission.CAMERA" /> <us

2021-06-27 13:12:47 829 1

原创 Android垂直滚动TextView

package com.example.jxdsamples.uistyle;import android.content.Context;import android.util.AttributeSet;import android.view.animation.LinearInterpolator;import android.widget.Scroller;public class AutoTextView extends androidx.appcompat.widget.AppCo.

2021-06-10 20:47:16 1356 2

原创 android版身份证号码校验

import android.util.Log;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * <p> * 身份证合法性校验 * </p> * * <pre> * --15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12.

2021-05-23 15:20:58 1398

原创 Android Studio无法启动问题解决

不知道卸载其他程序的时候,影响了哪里,双击Android Studio快捷方式无反应,卸载重装后依然无反应,后面采用命令行运行:D:\AndroidStudio4\bin\studio.bat成功解决。现在仍然无法通过studio64.exe启动,不知道为什么,暂时先这样用着吧。...

2021-05-19 20:29:40 2986 8

原创 Unable to load class ‘javax.xml.bind.JAXBException‘. This is an unexpected error

AndroidStudio报错:Unable to load class 'javax.xml.bind.JAXBException'. This is an unexpected error原因:升级androidstudio4.2.1后,默认jdk的问题解决方案修改为自己安装的jdk即可。

2021-05-18 10:36:23 6460 4

原创 Android TTS语音实现

import android.content.Context;import android.os.Build;import android.speech.tts.TextToSpeech;import android.speech.tts.UtteranceProgressListener;import androidx.annotation.RequiresApi;import java.util.Locale;public class SpeechUtils { privat.

2021-05-05 15:08:23 1637

原创 jetpack之workmanager的基本使用

使用场景:场景 推荐 需系统触发,不必完成 ThreadPool + Broadcast 需系统触发,必须完成,可推迟 WorkManager 需系统触发,必须完成,立即 ForegroundService + Broadcast 不需系统触发,不必完成 ThreadPool 不需系统触发,必须完成,可推迟 WorkManager 不需系统触发,必须完成,立即 ForegroundService WorkMan.

2021-04-18 19:12:11 244

原创 jetpack之Room数据库的使用

Room是Google官方的数据库框架,在SQLite上提供了一个抽象层,以便在利用SQLite的全部功能的同时能更加流畅的访问数据库。优点是:1.减少了代码量2.谷歌官方提供的,更加安全可靠具体使用方法:build.gradle implementation "androidx.room:room-runtime:latest.release" annotationProcessor "androidx.room:room-compiler:latest.relea

2021-04-18 16:43:34 250

原创 Room:Cannot access database on the main thread since it may potentially lock the UI for a long perio

Room数据库不能在主线程中进行操作,需要新开子线程。

2021-04-18 16:29:20 5148

原创 LiveData的基本使用

LiveData 是一个可以被观察的数据持有类,它可以感知 Activity、Fragment或Service 等组件的生命周期。简单来说,他主要有一下优点。它可以做到在组件处于激活状态的时候才会回调相应的方法,从而刷新相应的 UI。不用担心发生内存泄漏当 config 导致 activity 重新创建的时候,不需要手动取处理数据的储存和恢复。它已经帮我们封装好了。当 Actiivty 不是处于激活状态的时候,如果你想 livedata setValue 之后立即回调 obsever 的 onCh

2021-04-17 11:28:02 280

原创 ViewModel的简单使用

关于ViewModel来说,其实还是蛮简单的。从ViewModel官方的描述来看ViewModel的存在,解决了俩大问题:1.1、解决问题1我们都知道,当我们的Activity/Fragment因为某些因素被销毁重建时,我们的成员变量便失去了意义。因此我们常常需要通过 onSaveInstanceState()和onCreate()/onSaveInstanceState(Bundle)完成对数据的恢复(通常还要保证其正确的序列化)。并且对于大型数据来书,便有些乏力,比如:List、Bitmap..

2021-04-17 10:16:17 384

原创 Android jetpack之lifecycle使用

1.build.gradle中添加implementation "androidx.lifecycle:lifecycle-runtime:2.2.0"2.实现自定义的lifecycleObsever:package com.jxd.studyone.lifecycle;import android.util.Log;import androidx.lifecycle.Lifecycle;import androidx.lifecycle.LifecycleObserver;impor

2021-04-11 18:47:39 285

原创 Android DataBinding的使用

Android的MVVM是View和Model的双向绑定,那么官方又提供了DataBinding的一种实现方式,因此接下来我们通过使用DataBinding来了解一下MVVM。首先在build.gradle中加入databinding:android { ................... dataBinding { enabled = true }}第二步:在布局文件的第一行用alt+enter快捷键,会弹出转换布局文件为databinding

2021-04-11 16:44:42 653

原创 Android View事件分发机制理解

为了很好的理解事件分发机制,我们用一个自定义的RelativeLayout,里面装一个自定义的Button,然后分别MyRelativelayout重写里面的dispatchTouchEvent、onInterceptTouchEvent以及onTouchEvent方法,重写MyButton的onTouchEvent以及dispatchTouchEvent。(这里说明一下,因为RelativeLayout是继承ViewGroup的,所以它有拦截机制(onInterceptTouchEvent),但But..

2021-04-05 11:03:45 137

原创 Java实现链表反转

public class ReverseList { public static class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public static ListNode reverseList(ListNode head) { if(head .

2021-03-31 23:56:28 90

原创 EventBus总结

eventBus四种线程模型:POSTING (默认) 表示事件处理函数的线程跟发布事件的线程在同一个线程。 MAIN 表示事件处理函数的线程在主线程(UI)线程,因此在这里不能进行耗时操作。 BACKGROUND 表示事件处理函数的线程在后台线程,因此不能进行UI操作。如果发布事件的线程是主线程(UI线程),那么事件处理函数将会开启一个后台线程,如果果发布事件的线程是在后台线程,那么事件处理函数就使用该线程。 ASYNC 表示无论事件发布的线程是哪一个,事件处理函数始终会新建一个子线程运行,同样

2021-03-31 10:59:50 136

原创 Android R(11)文件读写适配

首先来一张适配完成后,申请权限的页面,点击打开即可:AndroidManifest.xml权限申请: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission an

2021-03-17 15:57:59 4877 1

原创 FileObsever实现文件监听

有时候有需求需要监听文件是否被修改,可以使用android提供的FileObsever API进行监控,具体使用方法如下:创建文件监听类:package com.example.androidinterviewjxd.io;import android.app.Activity;import android.content.Context;import android.os.Build;import android.os.FileObserver;import android.util

2021-03-17 12:35:47 172

原创 轻量级阅读Markdown文件-----chorme插件markdown-viewer-3.9

因为我想在电脑上像github一样打开md文件,但是找来找去没有一个符合我需求的,后面偶然发现谷歌浏览器有一个插件,200多K就可以实现查看,所以把方法分享在这里。1.我也没法科学上网,所以只能在https://github.com/simov/markdown-viewer/archive/3.9.zip网址先下载插件,然后解压2.进入chrome://extensions/3.打开开发者模式,将解压的文件夹加载进来,然后就可以把md文件拖进来看效果啦,和github阅读一样的。...

2021-03-16 21:53:12 1359 1

原创 一个启动模式为singleTop的activity,如果再次启动会发生什么? 面试官想问的是 onNewIntent()

Activity有一个 onNewIntent(Intent intent)回调方法,该方法我们几乎很少使用,导致已经将其忽略掉。该方法的官方解释如下:This is called for activities that set launchMode to "singleTop" in their package, or if a client used the Intent.FLAG_ACTIVITY_SINGLE_TOP flag when calling startActivity. In eit

2021-03-16 10:31:52 541

原创 H264编码学习记录

H264编码 帧内预测消除空间冗余 帧间预测消除时间冗余 软解码走的是CPU,(ffmpeg),硬解码走的是DSP芯片(不是Gpu也不是cpu)(mediacodec) 关键帧用帧内编码(默认是16*16的宏块) 使用信源编码器 视频帧分为I帧,B帧,P帧。 I帧是一个完整编码的帧 P帧是参考之前的I帧生成的只包含差异部分编码的帧 B帧是参考前后的帧编码的帧 与I帧相似程度达到95%以上编码成B帧,相似在70%编码成P帧 视频不能倒放,因为视频编码顺序不可逆。我们看

2021-03-15 10:19:50 85

原创 APP流量变现之穿山甲广告平台接入

1. 首先百度搜索 “穿山甲广告投放”,第一个出现的链接就是开发者官网,截图如下:2.进入之后点击注册,然后登陆(这一步穿山甲超级简单,如果不着急提现收益的话,可以不用输入详细的完整信息就可以开始体验)3.进入开发者平台,点击sdk下载与接入文档,可以下载Android的sdk,里面有官方提供的demo App工程4.查看接入文档,将sdk集成到自己的app中,即可完成穿山甲广告平台的接入,收益数据可以在数据那一项点击查看。5.举例一个开屏广告的接入:app下的build....

2021-03-10 21:57:47 31304 2

原创 AS报错解决方案:error: unexpected element <queries> found in <manifest>.

今天在集成穿山甲sdk的时候,突然出现了这个错误error: unexpected element <queries> found in <manifest>.,起初以为是穿山甲sdk本身的问题,后来网上一查才发现是需要将android studio升级到4.1以上版本,并且工程根目录下的build.gradle里面的gradle依赖也要升级到4.0.1以上版本才可以,自此,这个问题就得到完没解决啦,...

2021-03-10 06:31:57 9253

原创 2021Android复习找工作进大厂冲冲冲------开篇

又到了金三银四,我也准备结束深漂之旅,准备回老家啦,在外漂泊了五年,有点想念家的味道。接下来我会写一系列的文章来分享我复习,面试,找工作的整个流程,也希望一起奋斗的小伙伴能早日投进大厂的怀抱! 首先,我列了一个即将要复习的大纲,虽然还不完善,但是我会逐步补充上来,根据这个大纲来进行知识点重难点的复习,简单的过一遍就好,遇到不会的就深入研究一下! Android复习大纲一. Android基础1. 四大组件(Activity,Service...

2021-02-26 23:30:42 109

原创 alibaba pc safe service无法删除,一直在后台运行怎么办?

对付流氓软件,应当使用师夷长技以制夷的办法,下载一个腾讯电脑管家,然后下载里面的文件粉碎机,在任务管理器找到对应的alibaba pc safe service服务,点击进入具体的地址,然后将文件夹拖入文件粉碎机,进行删除即可。...

2020-11-21 23:19:37 9066 3

原创 Androidstudio adb wifi插件使用

以前一直以为手机需要root之后才可以进行wifi连接调试,最近工作中,领导说android studio有一款插件可以实现不需要root就可以进行wifi调试。步骤如下: 1. 首先进入androidstudio设置里面的插件中间搜索adb wifi,下载一个下载量比较高的对应的插件。 2.然后用usb连接电脑。 3.使用wifi插件点击connect 4.拔掉usb,即可用wifi进行调试。...

2020-10-18 13:17:39 1004

原创 Android Q网络状态判断,亲测可用

package com.example.androidinterviewjxd.utils;import android.content.Context;import android.net.ConnectivityManager;import android.net.Network;import android.net.NetworkCapabilities;public class NetworkUtils { /** * 判断当前网络是否连接 * @para.

2020-09-20 13:12:51 735

原创 TCL安卓开发面试题

今天终于拿到了老东家的离职证明,刚刚总结完字节的面试经验,想着之前去TCL电子大厦面试的经验还没总结,还好当时面试完成后,在地铁上,回忆了一下内容放到了手机的备忘录中,现在拿出来总结到下面:按键事件分发机制 view的绘制流程 如何设计一个中大型的app 开源框架的技术选型 安卓编解码 播放器的状态 http,https tcp三次握手,四次挥手 内存抖动产生的原理和优化 内存泄露的定位和优化 性能优化 最近的学习计划 最新的安卓版本是多少?...

2020-09-16 18:28:09 614 2

原创 字节跳动安卓开发面筋总结

有幸接收到了字节跳动的面试机会,但是感觉自己还是基础不够牢固,回答得不是很好,但面试官非常好,不懂的地方,面试官会友善地给一些提示,如果还是不会就接着问下一个问题了。 字节的面筋大概分为以下几种类型提问: 1.过往项目经验 2.项目中遇到的重点和难点讲一下 3.java基础面试题 4.安卓基础面试题 5.算法下面是我回忆的一些面试题,总结如下: java基础面试题:1.类的加载机制描述一下 2.wait和...

2020-09-16 18:22:12 189

原创 OkHttp: <-- HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to

D/OkHttp: <-- HTTP FAILED: java.net.UnknownServiceException: CLEARTEXT communication to japi.juhe.cn not permitted by network security policy为保证用户数据和设备的安全,Google针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 And.

2020-09-07 22:03:51 982

原创 如何在Android使用Protobuf

protobuf是一种占用空间小,解析速度快的数据通信协议,相对xml和json而言,更适合网络传输。但传输是二进制,生成的文件可读性差,不过也相对安全,因为不配合对应的类格式,是不知道内容的。 下面讲一下如何在Android使用protobuf: 首先是根目录下的build.gradle:// Top-level build file where you can add configuration options common to all sub-projects/mo...

2020-09-05 23:52:42 1812

jadx-gui-1.3.0.1-no-jre-win.exe

反编译工具

2021-11-28

WiFiAdb.rar

adb 连接android设备用的,需要root权限

2021-07-08

PDFScanner.7z

PDF文档扫描器,安卓源码,自己实现

2021-03-10

吐血整理历年大厂高级安卓面试大纲(小米,华为,字节,阿里等).xlsx

历年大厂面试大纲,大家可以下载查看

2021-03-10

scrcpywin64v12.zip

scrcpy是github上面的开源软件,占用内存极小,使用非常流畅,因为github上直接下载比较慢,其他csdn下载分数又太高,于是1分共享给大家使用。

2020-04-19

FiddlerSetup.rar

fiddler官网下载比较慢,放在这里让大家下载,不收取大家的积分,请放心下载,开始抓包之旅吧,加油,共同精进自己的技术!

2020-03-01

MoveMouse.exe

一个让鼠标每隔10秒移动一下的软件,这样可以防止公司的聊天工具变为离开状态,使用Java的Robot类实现,然后使用exe4j打包成exe,请大家放心下载使用,忽略杀毒软件所报的异常。

2020-02-20

中国天气网城市代码和名称列表

中国天气网城市代码和城市名称列表组成的数据库信息,Android sqllite直接生成,方便大家直接读取。

2019-11-28

GCMW-1.14.0 windown上的git工具

git报错,fatal: HttpRequestException encountered如果遇到这个问题,需要装的一个软件

2018-04-13

Git-2.16.3 64bit亲测可用版本

我已经使用git +tortoisegit成功关联github,以后写代码可直接提交github啦。大家一起学习,这里提供软件供大家下载。

2018-04-12

语言转换工具LanguageTool

Android工具下可以根据Excel给出的多国语言字符串,转换成对应的string.xml。

2018-03-20

ts解析工具

这个工具是ts流解析工具,可以用来辅助学习解析ts流。

2018-03-20

字符串工具

此为代码附件,详情请见博客http://blog.csdn.net/u012539700/article/details/79575019

2018-03-15

Android精美时钟代码

Android自定义控件,精美时钟下载,图片和代码都包含在里面了,自己放到对应文件夹运行即可。

2018-03-15

windows下录制gif的轻便软件

可以根据视频来录制对应的gif,方便大家来制作对应的gif上传。

2018-03-15

javaweb版本的考勤管理系统

该版本是之前读书的时候制作的考勤管理系统,现在整理上传,供大家学习使用。

2018-03-14

读取Excel需要的jxl.jar文件

Android读取Excel需要的jxl.jar文件,需要的可以下载使用。

2017-10-17

FFmpeg_windows_64

FFmpeg,可以转化mp4成ts流视频,ffmpeg -i XX.mp4 -c:v copy -c:a libmp3lame -f mpegts XX.ts

2005-08-25

空空如也

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

TA关注的人

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