自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (5)
  • 收藏
  • 关注

原创 kotlin第三部分复习纪要

2、Flow是冷流,所以collect是挂起函数,不是子协程,并且只有执行collect函数时,上流的代码才会被执行,所以在一个协程中多次调用collect,它们会按顺序执行。(1)flow{ …}内部可以调用suspend 函数;(3)使用 collect() 方法来收集结果。(2)使用 emit() 方法来发射数据;

2023-03-21 16:28:10 143

原创 kotlin第二部分复习纪要

3,它的初始化方法是可能会被多个线程执行多次的,但最后这个变量的取值是仅以第一次算出的值为准的。即,哪个线程最先算出这个值,就以这个值为准。1,LazyThreadSafetyMode.SYNCHRONIZED 通过加锁实现多线程同步,这也是默认的模式。2,LazyThreadSafetyMode.NONE 则没有任何线程安全代码,线程不安全。by lazy 这种委托的方式,可以让我们轻松实现懒加载。最后聊一个很好用的基于委托的小工具。属性委托标准使用懒加载。

2023-03-15 21:48:35 330

原创 kotlin第一部分温习纪要

kotlin温习纪要。

2023-03-15 19:30:37 273

原创 计算两个日期之间的间隔以及判断过期超时的工具类

1.时间戳转化为正常格式时间function timestampToTime(timestamp) { var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 var Y = date.getFullYear() + '-'; var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth

2020-08-26 15:21:54 518

原创 理解Glide中LruCache和LinkedHashMap

LinkedHashMap1,LinkedHashMap 是一个双向的链表。2,LinkedHashMap 还有一个特有的变量 accessOrder,他是布尔型变量,true 表示链表按访问顺序,false 表示按插入顺序。3,当 accessOrder的值为true,那么get后会把这个Node放在链表的末尾,这就是利用LinkedHashMap实现LRUCache的核心思想。4,利用 LinkedHashMap 实现LRUCache 必须同时满足 accessOrder = true 且重..

2020-08-13 10:51:49 394

原创 浅析Glide源码执行流程

Glide源码执行流程总结with()1,传入Application类型的参数,和传入非Application类型的参数。2,传入Application参数的情况,和应用程序的生命周期同步。3,非Application参数,会向当前的Activity当中添加一个隐藏的Fragment,以同步生命周期。4,在非主线程当中使用的Glide,那么不管你是传入的Activity还是Fragment,都会被强制当成Application来处理。load()with()方法返回的是一个RequestMa

2020-08-11 16:09:59 192

原创 Vue精要笔记

1,v-for,格式写错了,数组里没有等号,只有冒号;2,脚手架,component,大小写错误3,如果要用到http网络请求,需要在项目目录下npm install vue-resource --save,安装完成后执行npm run dev,然后再Main.js中引用import VueResource from ‘vue-resource’,Vue.use (VueResource). ...

2019-06-18 13:29:31 233

原创 导入新项目无法运行的可能原因和大致思路

1,检查gradle,当前版本gradle与完整项目或ide工具不同。2,检查repositories仓库下的依赖配置有没有国内镜像能否请求到连接。3,检查defaultConfig下的一系列version是否配置正常。...

2019-03-25 10:23:48 577

原创 极光推送集成详细步骤

极光推送可以选择不同的方式,我选择了从官网下载对应文件,得到JPushExample.zip这样一个文件,解压缩后又会得到jpush-android-3文件,jpush-android-3文件第二层目录有一个example文件。把这个example文件以导入module的方式导入到项目,module项目的包名改为自己的项目名,AppKey填入开发者平台的值。然后就可以在平台操作推送内容了。欢迎交流...

2018-11-23 16:23:02 357

原创 沉浸式状态栏的实现

工具类一:public class SystemBarTintManager { static { if (Build.VERSION.SDK_INT &amp;gt;= Build.VERSION_CODES.KITKAT) { try { Class c = Class.forName(&quot;android.os....

2018-11-16 14:14:56 177

原创 简单的小算法题

在网上看到一道这样的题目,例如输入 i can fly. 输出fly. can i 于是自己实现了一下。 List&amp;amp;amp;lt;String&amp;amp;amp;gt;list=new ArrayList&amp;amp;amp;lt;&amp;amp;amp;gt;(); String s=&amp;amp;quot;i can fly.&amp;amp;quot;; String [] ar

2018-09-18 14:09:01 642

原创 Android对长图进行滑动涂鸦

由于项目需要对页面进行像做笔记一样的涂绘,所以这个功能点就应运而生,思路是加载完了页面以后就将整个截屏保存,进入编辑页面就将保存图片的地址传入自定义的长图加载控件中,高度的变化与滑动借助于一个修改过得竖直的seekbar,空间内暴露颜色以及画笔粗细接口,以便于自由设定,画笔的撤销原理是将所有path保存在一个list集合里,没点撤销就移除一个然后刷新,最后保存按钮,将当前控件修改过得bitmap保...

2018-09-11 11:44:54 721

原创 清除所有Activity并回到桌面

有的时候我们为了能够快捷的回到桌面,会想很多办法,我也试过很多办法,但大多都不何自己的意,于是我自己琢磨出一套。上代码: Intent intent = new Intent(); intent.setClass(Main_FragmentManagers.this, FinishActivity.class);//其中FinishActivity...

2018-07-10 16:15:28 543

原创 Android Skill

Activity and Task Design This document describes core principles of the Android application framework, from a high-level, user-centric perspective useful to interaction and application designers as ...

2018-05-31 16:43:23 312

原创 图片转换

遇到一个需求就是layout想设置一个背景图片,但是只有这个图片的路径,怎么办?于是就有了如下转换步骤:路径——&gt;Bitmap——&gt;Drawable.然后就可以xxxxx.setBackground(drawable); 路径转换为Bitmap:Bitmap bm = BitmapFactory.decodeFile("路径"); Bitmap转换为Drawable:Drawabl...

2018-05-14 15:52:15 271

原创 如何在csdn中插入视频或动画,转换视频为GIF图片

一开始我是想这样在我的博客中插入一些视频或者动画,但最后发现这并不是一件简单的事,因为csdn本身并不支持上传本地视频到博客,那么又得弄一个个人视频空间,及其复杂。后来我思考把本地录屏视频转换为gif图片,csdn支持上传本地gif图片,这其中要用到一个软件微软底层的一个软件,如果没有安装这个软件,你将无法安装ScreenToGif,等你把这两个软件安装好了以后,就可以将你的视频转换为GIF并上传...

2018-05-09 09:28:34 1156

原创 学习okhttp系列

系统的学习了一下OKHttp相关的内容主要有一下几点okhttp_get okhttp_post okhttp_postfile okhttp_posstSring okhttp_doupload okhttp_doupload1 okhttp_downfile

2018-05-08 17:21:08 221

原创 Android多页面加载

前天面试有人问我多页面加载,我一懵逼。后来才想起来是这么一回事,上代码从页面来看第一层很普通就是一个Activity加上三个Fragment,代码很简单public class MainActivity extends FragmentActivity { private final int CALLLOGS = 0; private final int CONT...

2018-05-08 11:00:44 825

原创 RxJava操作符相关

学习了解一下关于RxJava的东西,其操作与操作符共分为四大类:创建 转换 组合 过滤

2018-05-07 13:51:47 149

原创 混合开发纪要

混合开发要点在于和web端和客户端之间的交互对于Android调用JS代码:WebSettings webSettings = mWebView.getSettings();// 设置与Js交互的权限webSettings.setJavaScriptEnabled(true);//其中loadUrl("javascript:callJS()")语句中参数中javascript是固...

2018-05-07 11:36:53 163

原创 EditText使用

当我们有这样的需求,在一个输入框中输入字符,但字符数量有限制。就可以这样。 edit_input.addTextChangedListener(new TextWatcher() { private CharSequence temp; private int selectionStart; private int s...

2018-03-30 14:53:34 181

原创 AsyncTask学习笔记

AsyncTask的执行顺序 AsyncTask的参数含义 AsyncTask的操作示例 AsyncTask的第二个构造函数参数 AsyncTask取消 (1)绑定 (1)标记1 (2)标记2

2018-03-13 15:19:49 205

原创 代码混淆系列笔记

学习代码混淆以及加固的笔记如何防止应用被重新打包,以及应对 如何判断应用时候跑在Android模拟器,以及应对 混淆配置,文件在Android sdk目录下 地址 ...

2018-03-05 10:36:27 209

原创 自定义PopupWindow菜单

菜单 private void showPopupWindow2(View view1) { View parent = ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0); //自定义布局,显示内容 View view = LayoutInflater.from

2017-12-05 10:00:22 359

原创 一键返回页面顶部的需求

用户又提了个需求,要求一键返回到阅读的顶端,于是自己实现了一下首先定义自己的WebView然后帖布局主代码MyWebViewpackage io.dcloud.H5B79C397.view;import android.content.Context;import android.util.AttributeSet;import android.webkit.WebView;/** *

2017-10-10 16:41:24 882

原创 动态切横竖屏

有个需要切横屏阅读的需求,很简单,就只有几行代码 mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, bo

2017-10-10 16:35:43 341

原创 Android数据库操作工具类

HistoryDAOpublic class HistoryDAO { private DBConnection dbc = null; private SQLiteDatabase db = null; private Context context; //数据库上下文 public HistoryDAO(Context context) {

2017-10-09 11:45:04 1278

原创 阅读进度记忆功能实现

用户提了一个要求,要求保存他的阅读进度,然后在他下次阅读的时候可以继续阅读,然后动手实现了一下,是这样的。 我用的控件是WebViewpublic class WebViewClientEmb extends WebViewClient { // 在WebView中而不是系统默认浏览器中显示页面 @Override public boolean sho

2017-09-27 17:24:39 1285

原创 ScrollView与SeekBar绑定实现滑动时出现小滑块的效果

这是一项挺复杂的工作重写SeekBar重写ScroView主工程布局SeekBar样式修改绑定SeekBar和ScrollView 监听ScrollView的滑动状态1,重写SeekBarpublic class VerticalSeekbar extends SeekBar { public VerticalSeekbar(Context context) {

2017-09-26 15:12:15 916

原创 全局异常捕捉,以及一些小的知识点

这里有一个很厉害的操作,就是把程序里面的crash准确捕捉,然后打印,存在手机。需要的话也可以上传至服务器,这样的话我们的程序在上线之后,也能知道我们的程序出现了什么样的问题上代码public class CrashHandler implements Thread.UncaughtExceptionHandler { //文件夹目录 private static final Str

2017-09-20 08:53:01 372

原创 Dialog自定义上下文花式菜单

这是一个类似于QQ里面长按消息弹出菜单的效果,菜单跟着item动 闲话不说,上代码 先自定义一个Dialogimport android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.TextView;imp

2017-09-19 15:20:33 585

原创 解决GridView和ScrollView滑动冲突

我们知道ScrollView和GridView以及ListView都可以上下滑,但用在一起就会造成滑动冲突,只有重写GridView或ScrollView或ListView方可解决此问题1,重写GridViewpublic class GridViewForScrollView_NoNetActivity extends GridView { public GridViewForScrollV

2017-09-18 10:01:57 1568

原创 双击退出APP,版本更新,字符串工具类,分享到更多

双击退出应该这样操作 private static Boolean isExit = false; private void exitBy2Click() { Timer tExit = null; if (isExit == false) { isExit = true; // 准备退出 ExtUtils.short

2017-09-18 08:55:21 447

原创 也来玩玩反编译

刚刚反编译了一个APP,感觉没有想象中的那么难 1,以解压缩的方式打开apk文件,然后就可以看到图片资源之类的了,但是不能看xml,然后就需要打开xml了。下载AXMLPrinter2.S.jar这个东西,然后把需要解锁的xml和它放在一个目录,打开cmd命令,输入java -jar AXMLPrinter2.jar main.xml > main.txt。就可以查看xml文件了 2,查看代码,

2017-09-15 16:45:59 259

原创 自定义通知栏这样操作应该怎么搞?花式TextView操作在这里

构建通知栏private void sendNotification() { notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);//通知管理器 RemoteViews contentView = new RemoteViews(getPa

2017-09-14 15:55:08 405

原创 wav文件拼接详细步骤

拼接工具类public class WavMergeUtil { public void mergeWav(List<File> inputs, File output) throws IOException { if (inputs.size() < 1) { return; } FileInputStream fi

2017-09-14 09:39:04 3700 1

原创 讯飞语音合成Wav,以及MediaPlayer的一些坑,SeekBar相关知识点

项目中遇到讯飞语音转成WAV,我是这样做的,首先生成.pcm文件,然后再.pcm与.wav互换,最终由MediaPlayer播放,还有进度条之类的小知识点 首先上布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" a

2017-08-29 17:54:27 2513

原创 项目中有可能会用到随机数

项目中有可能会用到随机数,且作为唯一标识,不能重复,代码如下 private void Nodouble(){ HashSet<Integer> integerHashSet=new HashSet<Integer>(); Random random=new Random(); for (int i = 0; i <100000; i++) {

2017-08-24 15:22:37 256

原创 上下文菜单 + 复制粘贴的问题

最近项目中遇到需要有复制文本的功能,难点有一个,就是在listview中如何拿到item的内容,不多说上代码 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { AdapterView.AdapterContext

2017-08-24 12:01:28 668

原创 微信集成后返回用户信息昵称乱码问题

微信集成完毕后,拿到返回信息发现昵称是乱码,折腾好久搞定,上代码 String nickname = response.data.nickname; try { nickname = new String(nickname.getBytes("ISO-8859-1"), "UTF-8");

2017-08-24 10:00:50 2841

中易APP客户端apk文件

中易APP是一款二手物品交易软件,实现二手物品交易软件的基本查询、发帖、展示等功能

2019-02-19

长图滑动涂鸦

由于项目需要对页面进行像做笔记一样的涂绘,所以这个功能点就应运而生,思路是加载完了页面以后就将整个截屏保存,进入编辑页面就将保存图片的地址传入自定义的长图加载控件中,高度的变化与滑动借助于一个修改过得竖直的seekbar,空间内暴露颜色以及画笔粗细接口,以便于自由设定,画笔的撤销原理是将所有path保存在一个list集合里,没点撤销就移除一个然后刷新,最后保存按钮,将当前控件修改过得bitmap保存至本地相册。

2018-09-11

ScreenToGIf

这是一个非常好用的录制屏幕并将其转换为GIF图片的软件

2018-05-09

微软底层软件

如果你的Windows电脑没有安装这个软件,你也无法安装ScreenToGif

2018-05-09

多页面加载demo

这是一个多页面加载的完整Android studio demo。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-05-09

空空如也

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

TA关注的人

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