- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 Error: Cannot find module ‘html-webpack-plugin‘
Error: Cannot find module 'html-webpack-plugin'
2022-07-06 14:24:35
7027
2
原创 根据参数名获取路径中的参数值 JAVA
/** * 根据参数名获取路径中的参数值 * @param url 路径 * @param name 参数名 * @return 参数值 */ public static String getParamByUrl(String url, String name) { url += "&"; String pattern = "(\\?|&){1}#{0,1}" + name + "=[a-zA-Z0-9
2022-04-21 16:48:43
1115
1
原创 uni-app 小程序引入iconfont彩色图标(Symbol方式)
打开目标项目,下载代码至本地将下载的文件进行解压,命名为iconfont打开cmd页面输入命令行:npm install -g iconfont-tools或cnpm install -g iconfont-tools----点击enter键执行输入命令行: iconfont-tools----点击enter键执行打开iconfont文件夹即可看到生成的目标文件 iconfont-weapp打开iconfont-weap文件夹将 iconfont-weapp-icon.css (默.
2022-03-22 09:13:43
1399
2
原创 Android11适配 - 软件包可见性
Android11的包可见性我们的应用常常会碰到与其他应用交互,比如登录功能,我们可能希望使用微信登录或者QQ登录,再比如分享,我们先判断是否安装了微信,然后决定是否展示微信的分享图标等等。这里我们有一个需求就是获取相关的软件包是否已经安装。但是在Android11中,除了默认的一些应用外,我们不能直接获取到软件包是否已经安装了,换句话说我们安装了一个应用,但是我们调用 getInstalledApplications() 或 getInstalledPackages()的可能没有返回此包名。这就
2022-03-21 11:33:31
865
原创 Android webview 与js(vue) 交互
Android 原生调用 JS 中的方法Android 调用 JS 有两种方式,都是通过 WebView 的方法(1)webview.loadUrl()(2)webview.evaluateJavascript()二者区别:(1)loadUrl() 会刷新页面,evaluateJavascript() 则不会使页面刷新,所以evaluateJavascript() 的效率更高(2)loadUrl() 得不到 js 的返回值,evaluateJavascript() 可以获取返回值(3)
2022-03-11 14:13:12
5020
原创 android 判断当前app是debug还是release
public static boolean isDebuggable() { PackageManager packageManager = MyApplication.getInstance().getPackageManager(); String packageName = MyApplication.getInstance().getPackageName(); try{ ApplicationInfo info = packageManager.getApplicationI
2022-02-22 10:13:16
1062
原创 Android视图动画
int mScreenWidth = getResources().getDisplayMetrics().widthPixels;//屏幕宽 int mScreenHeight = getResources().getDisplayMetrics().heightPixels;//屏幕高TranslateAnimation(平移动画)ABSOLUTE int w1 = v.getWidth();//Button控件的宽度 int h1 = v.g.
2022-01-12 10:06:39
1814
原创 滚轮选择器
implementation 'cn.aigestudio.wheelpicker:WheelPicker:1.1.3' private void initWP(WheelPicker wheelPicker) { String TAG = "10086"; // 通过setData方式设置数据集,不过此方法设置的数据在显示时都会被自动转换为String // 如果数据传入的是一个类的集合,那显示时就会直接调用他的toString方法,此时就要重写toSt
2022-01-06 16:35:48
1534
原创 RecyclerView 获取可见 item
LinearLayoutManager linearManager = (LinearLayoutManager) recyclerView.getLayoutManager();//最后一个可见view的位置int mLastVisibleItemPosition = linearManager.findLastVisibleItemPosition();//第一个可见view的位置int mFirstVisibleItemPosition = linearManager.findFirstVis
2022-01-06 13:47:14
2400
原创 RecyclerView报错:Scrapped or attached views may not be recycled. isScrap:false isAttached:true
## 刷新数据 //mList.clear() 之后要调用一次 mAdapter.notifyDataSetChanged() //适配器内 @Override public int getItemCount() { return list == null ? 0 : list.size(); }## 动画效果//xml布局文件内 去掉 android:animateLayoutChanges="true"属性,即<android.support..
2022-01-06 13:46:12
1554
原创 Android拨打电话
/** * 拨打电话(直接拨打电话) * 需要添加并动态申请权限 * <uses-permission android:name="android.permission.CALL_PHONE" /> * @param phoneNum 电话号码 */public void callPhone(String phoneNum){ Intent intent = new Intent(Intent.ACTION_CALL); Uri data = Uri.parse("t
2022-01-05 17:38:12
78
原创 Android 列表选中放大
activity:int newPos = -1;String title = "请选择你的团队";private void showDialog(List<GroupBean> data) { AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); View view = LayoutInflater.from(getContext()).inflate(R.layout.
2022-01-04 15:01:06
1427
原创 限定RecyclerView显示最大条数
//限定显示最大条数,需要给item设置高度,这里是高度 48dp、条数 4; ViewGroup.LayoutParams lp = recycler.getLayoutParams(); lp.height = DensityUtil.dip2px(getContext(),48 * 4); recycler.setLayoutParams(lp);...
2022-01-01 19:01:29
2136
原创 FinalShell 忘记密码
package com.simon;import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.IOException;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.Secu
2021-12-23 11:46:09
3278
原创 Android webview 混合开发 HTML(JS)与Java 的交互
webview WebSettings 说明WebSettings webSettings = webView.getSettings();webSettings.setJavaScriptEnabled(true); -> 是否开启JS支持webSettings.setPluginsEnabled(true); -> 是否开启插件支持webSettings.setJavaScriptCanOpenWindowsAutomatically(true); -> 是否允许JS打开.
2021-12-22 10:51:42
1334
原创 fragment在横竖屏切换(屏幕旋转)时候出现崩溃的问题;跳转系统相机横向拍照崩溃
问题今天在开发的时候遇到个问题,Activity里有个Fragment,Fragment里面有线程,当我点击跳转系统相机拍照时,纵向拍照时没问题,横向拍照时崩溃并报下面异常:Fragment LoadingDialog{5050c91} (43fec3a8-79d5-4cba-be44-e1847d712ed0)} not associated with a fragment manager.原因是原来的线程在运行中,横屏导致Activity绘制,生命周期重新走了一遍,原来的fragment实
2021-09-29 15:59:36
1789
原创 Android Thread 线程通信 更新view
Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 1: .
2021-09-29 09:11:17
136
原创 android studio 项目依赖查看
android studio 命令行输入 按cart + 回车./gradlew -q 主模块名:dependencies出现一个树状结构输出 “->”是重复的
2021-09-27 09:56:46
507
原创 Android中软键盘(输入法)收起的方法
package com.simon.util; import android.app.Activity;import android.content.Context;import android.view.inputmethod.InputMethodManager; public class KeyboardUtils { /** * 隐藏键盘的方法 * * @param context */ public static void hid
2021-09-14 17:28:30
2372
原创 解决因沉浸式标题栏导致布局底部EditText弹出软键盘时被覆盖或标题栏被弹出问题
根布局(不包含标题)用Scrollview嵌套布局,把mainfest和activity下设置的windowSoftInputMode都去掉//定义初始值,用来记录scrollView滑动距离private final int[] lastLocation = {0};//首先要监听弹出软键盘根布局的变化,这个用scrollview来监听 BDF.scrollView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewT.
2021-09-14 10:30:06
203
原创 解决ScrollView中有editText,点击输入的时候被软键盘遮挡
在创建完视图的地方,这里我在首页的Fragment里使用,需要忽略调下方的tabBar控件。
2021-09-14 10:10:54
866
2
原创 android mvvm点击事件绑定ViewModel
@{click}//xml:android:onClick="@{click}"//ViewModel:public void click(View view){}不带参数:@{() -> viewModel.click()}//xml:android:onClick="@{() -> viewModel.click()}"//ViewModel:public void click(){}@{viewModel::click}//xml:android:onCli
2021-09-13 09:33:58
2344
原创 Android之日期/时间选择对话框
日期/时间选择对话框(DatePickerDialog和TimePickerDialog)的使用<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_pare
2021-09-10 15:43:24
1013
原创 TextView ellipsize 省略号
在Android TextView中有个内容过长加省略号的属性,即ellipsize,用法如下:在xml中:android:ellipsize=”end” 省略号在结尾android:ellipsize=”start” 省略号在开头android:ellipsize=”middle” 省略号在中间android:ellipsize=”marquee” 跑马灯最好加一个TextView显示行数的约束,例如:android:singleline=”true”或者android:lines
2021-09-08 14:39:44
341
原创 lombok 使用
编译器安装 Lombok、GsonformatPlus两个插件在项目根目录创建 lombok.config填写:lombok.anyConstructor.suppressConstructorProperties=truegradle 添加//@JsonProperty("total")compile 'com.fasterxml:jackson-xml-databind:0.6.2'//@Dataprovided "org.projectlombok:lombok:1.16.18.
2021-09-06 16:14:53
125
原创 【100%有效】解决AndroidStudio 控制台编译输出中文乱码,亲测解决!
File Encodings 改为UTF-8双击Shift,输入vmoption,,选择Edit Custom CM Options如果之前没有配置过,会弹出窗口问是否创建配置文件,点击Create输入-Dfile.encoding=UTF-8保存,重启就可以了!解决System.out.print输出的中文乱码问题build.gradle 添加如下代码 tasks.withType(JavaCompile) { options.encoding =.
2021-09-06 09:33:53
163
原创 饼状统计图,带有标注线,都可以自行设定其多种参数选项
PieChartViewpackage cn.simon.view;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Path;import android.graphics.RectF;import android.text.Text
2021-09-02 10:27:06
261
原创 Android EditText 属性汇总
1、EditText输入的文字为密码形式的设置(1)通过.xml里设置:把该EditText设为:android:password="true" // 以”.”形式显示文本(2)在代码里设置:通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码。editText.setTransformationMethod(PasswordTransformationMethod.getInstance());//设置密码为不可见。2、EditText输
2021-08-19 13:13:32
1502
原创 Android Studio使用IconFont阿里矢量图标库
在Android Studio中的src文件夹右键单击New,创建Assets文件夹在assets下新建一个iconfont目录将iconfont.ttf复制到iconfont目录下在res/values/strings.xml,添加 string 值测试一波,在xml中写一个TextView,然后再Activity中设置下Typefacexml布局Activity封装一个类,不需要手动设置Typeface自定义TextViewpackage com.s
2021-08-18 10:00:00
884
原创 偶然间得到的framework工具类 自用
/* * framework工具�? */public class Utils { /** tag */ private static final String TAG = "Utils"; /** * 安装某个应用 * * @param context * @param apkFile * @return */ public static boolean installApp(Context conte
2021-06-07 15:03:13
784
3
原创 Android 文件下载简单实现
**工具类(两个方法,自己悟!!!)**package com.simon.util;import android.app.AlertDialog;import android.app.Dialog;import android.content.Context;import android.content.DialogInterface;import android.os.Environment;import android.os.Handler;import android.os..
2021-06-07 14:54:50
458
原创 uniApp上的 ajax request 请求插件 自用
插件地址: https://ext.dcloud.net.cn/plugin安装npm# 如果您的项目是HBuilder X创建的,根目录又没有package.json文件的话,请先执行如下命令:# npm init -y# 安装npm install uni-ajax# 更新npm update uni-ajax实例新建ajax.js文件(文件名可自定义)用于处理拦截器、接口根地址、默认配置等// ajax.jsimport ajax from 'uni-aja.
2021-05-18 09:36:26
914
原创 Android上传图片
设定拍照返回的图片路径 /** * 设定拍照返回的图片路径 * @param image 图片路径 * @param i 约定值 */ protected void image(String image, int i) { //创建file对象,用于存储拍照后的图片,这也是拍照成功后的照片路径 outputImage = new File(getExternalCacheDir(),image); try .
2021-05-17 14:31:32
330
原创 图片工具
public class PhotoBitmapUtils { /** * 存放拍摄图片的文件夹 */ private static final String FILES_NAME = "/MyPhoto"; /** * 获取的时间格式 */ public static final String TIME_STYLE = "yyyyMMddHHmmss"; /** * 图片种类 */ public static final String IMAGE
2021-05-17 10:09:14
56
原创 项目部署相关
vue 运行npm run devvue 打包npm run build:prod --reportJava/jar 运行java -Dfile.encoding=utf-8 -jar xxx.jar
2021-05-14 09:31:14
68
转载 Base64编码详解及其变种(解决加号在URL变空格问题)
Base64编码详解及其变种(解决加号在URL变空格问题)Base64在我看来很重要的一个用途是将复杂的码比如GBK、UTF8、MIME等复杂的码,变成单字节的简单ASCII字符,便于在各种不同环境(计算机)之间传递信息。这很好理解,只要是计算机,必须得支持ASCII标准,但不一定支持其它编码。编码Base64的编码过程是将每三个字节即24个bit,变成以6个bit为一组的组集,共有24/6=4组。每个组的6个bit最高能表示2^6即64个数,这也是Base64的由来。这64个数的表示区间为[0
2021-04-25 09:55:39
1258
原创 工具类
/* * framework工具类 */public class Utils { /** tag */ private static final String TAG = "Utils"; /** * 安装某个应用 * * @param context * @param apkFile * @return */ public static boolean installApp(Context contex
2021-03-11 10:57:12
80
原创 Android View Binding的使用
什么是View BindingView Binding是Android Studio 3.6推出的新特性,目的是为了替代findViewById(内部实现还是使用findViewById)。。在启动视图绑定后,系统会为改模块中的每个xml文件生成一个绑定类,绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。官方文档View Binding 的优点**Null 安全:**由于视图绑定会创建对视图的直接引用,因此不存在因视图 ID 无效而引发 Null 指针异常的风险。此外,.
2021-03-01 15:50:53
594
7
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人