- 博客(48)
- 收藏
- 关注
原创 As for Mac 中文乱码问题修改
Android Studio -> Preferences -> Appearance & Behavior -> Appearance -> Use custom font -> 前边选项打勾搞定
2022-01-07 15:38:50
260
原创 uniapp 输入手机号并且正则校验
1.<input @input="onInput" :value="phoneNum" type="number" maxlength="11"/> 2.3. method里面写onInput(e){ this.phoneNum =e.detail.value },4.调用接口时候校验正则 if (!/^1[3456789]\d{9}$/.test(this.phoneNum)) { ...
2021-12-29 11:15:24
4266
原创 自己用的DateUtil
public class DateUtil { public static final String YYYY_MM_DD = "yyyy-MM-dd"; public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; public static final long ONE_DAY = 1000 * 60 * 60 * 24; @SuppressLint("SimpleDateFormat")...
2021-12-03 16:00:59
132
原创 android矢量图
之前应用用到的图片都是在阿里巴巴矢量图里面找的,今天看到了个:于是开始查了查发现这也是矢量图的一种写法好处:占用内存非常小,性能高,可以任意缩放而不会失真也可以自己diy,但是缺点也很明显,没有位图表达的色彩丰富。 创建方法:...
2021-11-25 16:57:38
1074
原创 Recyclerview 设置收缩动态设置高度
其实可以根据itemCount进行操作 但是就是玩dp转px: /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpVal...
2021-11-17 14:47:06
204
原创 compareTo方法分析
service可以理解为一个特殊的没有界面的可以长期执行的activity ,他后台运行,非独立。service开启的进程是服务进程 优先级高很难被杀死,杀死也会被重新满血复活service的创建: 1.创建一个自定义的类继承service 类 2.在清单文件中注册 忘记注册不会报异常只会有一个黄色的警报(not found) 3.复写onCreate()方法在里面做...
2021-11-15 17:51:32
333
原创 android webView加载本地html小记
wView = (WebView) findViewById(R.id.webView); //解决网页不显示的代码 wView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } }); Intent intent = getInte..
2021-11-02 15:19:14
1597
原创 Mac Android Studio连接MuMu模拟器
刚下载完mumu模拟器 但是打开发现没有找到设备然后发现需要MAC的mumu的端口是:5555输入命令:adb connect 127.0.0.1:5555ok了
2021-10-27 15:47:34
864
原创 Activity跳转 刷新Activity 新get招
假设A跳B B 操作完A列表有个刷新 直接这样搞就ok个人是比较烦回调的 也有在onresume 里面请求网络加个判断 但是假如这个页面需要请求这个接口多次的话 就不大友好了 还得多出加判断
2021-04-21 17:09:23
146
原创 Mac 下Android Studio 控制台 ./gradlew: Permission denied 解决方法
运行: chmod +x gradlew
2021-04-20 16:03:21
349
原创 一个扯淡的需求
最近做的项目 正常来说这个页面请求个接口就可以展示数据了 但是我们的后台跟另外一端已经做完这部分了 我们只能适应他们 后台告我这是两个接口 两个接口的返回值有一个字段相对应 把图片展示到对应的条目那行 我想到的是把2个接口数据都请求出来后写一个大bean 然后通过大bean 赋值这个列表;这样写完后 效果图:完成了这个操作 如果大佬们有什么好的方案 欢迎留言告知我...
2020-06-07 15:32:59
272
原创 安卓6.0权限申请 始终拒绝进设置页面
Andpermission权限申请 implementation 'com.yanzhenjie:permission:2.0.3' code:
2020-05-25 16:48:52
553
原创 You need to use a Theme.AppCompat theme (or descendant) with this activity 这个问题的解决方案
错误原因:Activty继承自android.support.v7.app.AppCompatActivty,而不是android.app.Activty。解决方案: 1.在创建的activity时,如果不用继承AppCompatActivity的话,就直接继承Activity 2. 更改主题 然后把appliacation里面的和activity用这个主题 3 . ...
2020-04-18 17:02:31
2530
1
原创 写基类的时候Butterknife如何进行使用点这个链接 (简书大佬的)
https://www.jianshu.com/p/3678aafdabc7
2020-03-03 18:17:22
197
原创 CardView
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="h
2018-05-29 18:52:26
133
原创 哈哈
EditText默认不获取焦点,默认不弹出键盘启动页面时,edittext自动获取焦点,键盘就会弹出来,占据大半个屏幕,如果你想不让键盘弹出来 plan a 直接可以在获取到焦点的这个edittext前面的一个任意控件的xml中添加以下代码即可android:focusable="true" android:focusableInTouchMode="true"plan b Edit...
2018-04-09 18:02:46
148
原创 RxJava话术总结
RxJava其实就是异步,相比于asyncTask与handler的好处最主要的好处就是它采用了链式编程逻辑简洁。RxJava的异步其实就是通过拓展观察者模式来实现的。其实我感觉RxJava这观察者设计的非常巧妙,谷歌规定子线程中不能更新UI,主线程中不能进行耗时操作。而这个RxJava观察者模式中呢有四个对象,观察者,被观察者,订阅,事件。观察者相当于主线程,被观察者相当于子线程,观察者通...
2018-03-25 11:19:33
642
1
原创 加密那些事
对称加密:AES 对称加密加密和解密就是使用同一个秘钥非对称加密:RSA 有一对秘钥 公钥加密的话,私钥解密。私钥加密,公钥解密。 接口加密的思路: 1.生成AES秘钥 2.使用RSA公钥加密AES秘钥 3. 使用第一步的AES秘钥加密需要提交给服务器端的数据; 4. 传输第二步和第三步的数据服务端解密的思路: 1. 先接受传过来的AES秘钥和加密后的数据 2....
2018-03-13 20:48:02
192
原创 浅谈Service
start方式启动服务: 生命周期:onCreate()-->onStartCommand()-->onDestory() 特点:开启服务后服务与开启者无关,开启者不可以调用服务的方法 bind方式启动服务: 生命周期:onCreate()--》onBind()--》onUnBind()--》onDestor...
2018-02-28 20:30:36
153
原创 Handler机制干货(自己玩)
handler机制主要用于进程间通信,google规定主线程做耗时操作,子线程不能更新UI。而且他还能避免程序因为ANR导致的crash。ANR的主要原因是:activity5s内未响应下一事件,BroadcastReceive10s内未响应,比如一些网络请求、大文件读取以及数据的计算都有可能引发。在子线程中更新ui会报这个错误:android.view.ViewRootImpl...
2018-02-28 19:44:47
252
1
原创 java字符串截取
一:split()+正则表达式 String str = "abc,12,3yy98,0";String[] strs=str.split(",");for(int i=0,len=strs.length;i<len;i++){ System.out.println(strs[i].toString());}运行结果:abc123yy980 二:通过subSt...
2018-02-28 14:51:18
214
原创 微信支付
下单 submitCat :totalprice productIds pay_way addressId couponid-------->oid isNeedPay payway支付:charge:oid price payway appid partnerid prepayid packagevalue nonceStr tim...
2018-02-26 18:55:46
256
原创 选择排序
原理: 选择排序就是在一堆数中先拿出第一个与后面的比较,找到后面最小(大)的一个进行交换位置,确定第一个数,然 后 拿出第二个数与后面的比较,找到后面最小(大)的一个进行交换位置,确定第二个数,依次下去得到正确的排序。Example: 49 38 65 97 76 13 27 49 第1次:13 38 65 97 76 49 27 ...
2018-02-25 14:03:44
125
原创 复习一下冒泡排序
简介 冒泡排序就是一个交换排序的算法,通过交换数据元素的位置达到排序的目的 基本思想 拿到一个无序列表从头开始,两两进行比较大小交换位置,直到最后把最大(小)放到队尾,从而成为有序序列的一部分,接着重复这个比较交换过程。算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(小)的数据元素放到队尾。 实例 代码 int temp ;int []s...
2018-02-01 19:31:02
218
原创 最简单的多渠道打包文件(友盟SDK为例)
三步走战略: 1.在Manifest.xml文件中添加meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> 2.在build.gradle(Moudle:app)的android{}中加入渠道打包替换相应的UMENG_CHANNEL_VALUE
2018-02-01 11:47:40
221
原创 Bitmap的二次采样
图片内存的计算: Bitmap.Config: (图片压缩质量参数) Bitmap的配置,用于描述和保存图片相素的保存方式,主 要有四种,位数越高图片色彩越鲜艳,图片越逼真 Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 Bitmap.Config ARGB_8888:每个
2018-01-30 16:38:19
194
原创 EventBus3.0详解
EventBus描述: 一款针对Android的发布/订阅事件总线,订阅者订阅事件到总线,发送者发布事件。采用消息发布/订阅的一个很大的优点就是代码的简洁性,并且能够有效地降低消息发布者和订阅者之间的耦合度。可以很好的在Fragment与Fragment之间 和Activity与Fragment之间发送消息EventBus主要三个角色:Event:事件。可以是任意类型的对象Subscriber
2018-01-17 16:34:21
260
原创 Activity的生命周期
我也先上个图挨个说: onCreate: 创建 此时Activity还在后台,不可见。官方推荐在这块就做一些初始化工作,做别的工作就不规范 onStart: 启动 此时Activity已经可见,动画的初始化在此阶段处理比较好,但还是没有出现在前台,我们还看不到,无法与Activity进行交互 onResume:获取焦点,在这个阶段
2017-12-28 09:16:55
118
原创 Activity的四种启动模式总结
为啥会有这么多的启动方式: 主要是当我们多次启动同一个Activity时,系统会创建多个实例,并把它们按照先进后出的原则一一放入任务栈中,当我们按back键时,就会有一个activity从任务栈顶移除,重复下去,直到任务栈为空,系统就会回收这个任务栈。但是这样以来,系统多次启动同一个Activity时就会重复创建多个实例,这种做法显然不合理,为了能够优化这个问题,Android提供四种...
2017-12-26 14:36:22
244
原创 关于Android6.0动态权限的理解
Android6.0动态权限产生原因: 在安卓6.0之前,安装app时候会产生一个权限列表,只有用户允许这些权限后app才能安装成功,但是并不是每一个用户都能理解这些权限究竟是干什么的,为了安装应用只能同意极不安全。所以Android6.0动态权限就出来了,用户可以不用处理权限直接安装,当应用需要调取权限的时候,弹框提示用户这个权限的说明,可以人性化的保护用户的隐私
2017-12-22 13:42:01
359
原创 沉浸式大招
使用沉浸式时候只要在activity中重写方法 只有在Android 4.4及以上系统才支持沉浸式模式 所以在此加了判断@Overridepublic void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && Buil
2017-12-16 10:49:30
148
原创 AAPT2 编译报错 AAPT2 error
1用windows10 下android studio 3.0 新建项目报错2.错误提示Error:Execution failed for task ':app:mergeDebugResources'.Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: A
2017-12-12 09:35:09
3191
原创 修改Android app图标(Android Studio) 和名称
一 : 1.res\drawable 放置icon.png(此图片是你需要修改的图标); 2. 修改AndroidManifest.xml : android:icon="@drawable/icon" 3. 编译运行即可。 android:icon="@drawable/tbpic"二: 在values中的stri
2017-12-06 19:49:17
4133
原创 自定义一个进度条+百分比
activity_xml界面xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
2017-11-05 20:11:58
555
原创 下拉菜单
var app = angular.module("myApp",['ngRoute']); //配置路由 app.config(["$routeProvider",function($routeProvider){ $routeProvider .when("/",{}
2017-10-25 18:56:51
155
转载 angular ng的内置过滤器
ng的内置过滤器 ng内置了九种过滤器,使用方法都非常简单,看文档即懂。不过为了以后不去翻它的文档,我在这里还是做一个详细的记录。 1. currency (货币处理) 使用currency可以将数字格式化为货币,默认是美元符号,你可以自己传入所需的符号,例如我传入人民币:{{num | currency : '¥'}} 2. date (日期格式化) 原生的js
2017-10-25 10:22:04
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人