
开发
文章平均质量分 59
王的博客
Dr. Wang是一枚帥帥的程序猿,歡迎大家點評和交流,一起學習嘔。
展开
-
Android 弹窗设计规范
Android 弹窗设计规范原创 2022-11-27 21:32:48 · 3246 阅读 · 1 评论 -
Android 一段时间未操作页面,系统自动登出
Java Downloads | Oracle原创 2022-11-27 16:43:14 · 4074 阅读 · 0 评论 -
Android 查看当前应用的线程数是否超限
1.查看某个应用(以com.wwy.setup为例)的进程号使用包名查找 adb shell "ps | grep packageName“,packageName 也可以是包名的一部分进行模糊查找。C:\Users\user>adb shell "ps |grep com.wwy.setup"u0_a39 14985 13378 32836072 217984 SyS_epoll_wait 0 S com.wwy.setup或者使用adb shell ps直接列原创 2022-04-24 14:07:40 · 5316 阅读 · 0 评论 -
Android 禁止Webview跳转打开第三方应用
<span style="color:#000000"><code>java <span style="color:#98c379">-jar</span> jadx<span style="color:#98c379">-gui</span><span style="color:#4f4f4f !important">-</span><span style="color:#006666 !importa.原创 2022-04-14 16:24:14 · 7791 阅读 · 0 评论 -
Android 11以上 判断另一个应用页面是否存在,queryIntentActivities返回错误的解决
一、常用的方法(一)根据包名判断应用是否存在public boolean checkApplication(StringpackageName) {if (packageName == null || "".equals(packageName)){ return false; }try { ApplicationInfo info = getPackageManager().getApplicationInfo(packageName, Pack...原创 2022-01-07 11:30:02 · 4897 阅读 · 1 评论 -
Android webview 去掉页面文字存在的“选中文字”的长按震动效果
最开始需求是要把webview的长按复制、分享的功能屏蔽掉但是屏蔽掉后,长按仍然会有震动效果,就比较怪异,因此查询到view有震动反馈的一个开关,因此在长按事件中设置hapticFeedback为false,便达到目的,代码如下: mWebview.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongCli.原创 2021-11-29 14:41:14 · 2332 阅读 · 0 评论 -
java jdk 下载
排序,查找算法在面试的时候经常会被问起,那怎么回答是比较加分的呢!1.首先熟练使用已有工具类提供的方法,不重复造轮子 Integer[] arr = { 2, 5, 4, 10, 3 }; // 升序排序 Arrays.sort(arr); // 降序排序 Arrays.sort(arr, new Compar...原创 2021-10-18 18:46:47 · 147 阅读 · 0 评论 -
Android 适配资源-加载assets下不同语言的xml文件(二)
1.加载如下目录种的资源文件,其中每个语种下都有一个html文件2.webview控件加载对应的文件,重点是使用getAssets().list("");获取根目录下的文件,或者获取多级目录下的文件如下代码所示: private String[] assetsFiles; private List<String> assetsList; WebView view=findViewById(R.id.wv); try {原创 2021-09-08 13:45:30 · 622 阅读 · 0 评论 -
EditText 去掉下划线,但是不丢失光标
1.先解决EditText去掉下划线没有单纯的属性直接设置,一般使用以下方式android:background="@android:color/transparent"或者android:background="@null"但是存在一个问题,当编辑的字符全部清除后,会失去焦点,出现调不起键盘的问题,重新mEditText.requestFocus();也不管用。2.其他方法(1) 为了不失去焦点,我们可以设一个透明的hint,添加以下属性:android:hint原创 2021-09-01 16:33:17 · 10805 阅读 · 0 评论 -
Android 适配资源-加载assets下不同语言的xml文件(一)
1.需求场景项目中有一项用户隐私协议,需要根据语言-地区进行适配,UX提供的资源如下,是一组用语言码-国家码进行命名的文件夹,每个文件夹里面是一个index.xml。我们的目的就是要在用户切换系统语言时,显示对应的index内容。2.解决过程最初想通过将xml文件转化为strings,然后放在不同的values下面,直接适配。由于xml中标签过多,不能简单地转为strings,故放弃。然后想着只能放到assets下面去加载,通常我们可以根据目录去加载webView.loadUrl("f...原创 2021-06-24 16:48:27 · 895 阅读 · 0 评论 -
android O以后版本 自定义Notification
最近在使用通知的时候,发现方法执行后,没有弹出通知,而是提示下面的错误:Developer warning for package "com.example.test" Failed to post notification on channel "null" See log for more details.经上网查证,是在Android O后 引入了一个叫NotificationChannel的类,我们在sdk版本为26的时候,如果不加这个东西,就不能发通知。所以务必在26以及之后的版本中.原创 2021-04-27 10:18:37 · 684 阅读 · 0 评论 -
Android 强制应用全局横屏或竖屏
在Application或者BaseActivity的onCreate方法中添加以下代码,即可registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {原创 2021-03-12 17:21:28 · 4104 阅读 · 2 评论 -
org.apache.commons.jar包官方免费版(附下载地址)
官方免费下载链接:http://commons.apache.org/proper/commons-io/download_io.cgi 亲测可用,如上所示。原创 2020-11-23 15:46:05 · 18720 阅读 · 0 评论 -
Android 如何判断分屏模式是否开启或者多窗口显示
Activity 类中添加了以下新方法,以支持多窗口显示。 Activity.isInMultiWindowMode() 调用该方法以确认 Activity 是否处于多窗口模式。 Activity.isInPictureInPictureMode() 调用该方法以确认 Activity 是否处于画中画模式。 注:画中画模式是多窗口模式的特例。 如果 myActivity.isInPictureInPictureMode() 返回 true,则 myActivity.isInMultiWindowMode()原创 2020-11-19 16:43:04 · 6276 阅读 · 0 评论 -
Android Studio 解决编译报错 Could not download aapt2-windows.jar
在进行编译apk时,出现以下报错:Could not download aapt2-windows.jar (com.android.tools.build:aapt2:3.4.1-5326820): No cached version available for offline mode首先可以自查build.gradle中文件是否已经包含以下配置:最后,你可以试试将gradle的offline模式取消掉(如下图将Office work取消勾选)。...原创 2020-10-14 17:19:30 · 11211 阅读 · 0 评论 -
点击ul/li改变背景颜色
一个简单的for循环就解决不同的li分别设置不同背景颜色1.代码<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Change.html</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8原创 2020-07-09 17:49:43 · 3181 阅读 · 0 评论 -
Android Studio 打开已有项目,编译出错,提示“错误: 找不到符号”的解决方法
在开发过程中,经常会遇到多人、异地协同工作的模式。鉴于每个人使用的Android Studio版本不同、gradle环境的不同,我们可能会遇到打开别人的项目编译不过的问题。对于Android Studio的这个臭毛病,如果遇到了真的还挺烧脑。比如下面这种报错:> Task :app:compileROWDebugJavaWithJavac FAILEDE:\Source\test\SetupWizardExt\app\src\main\java\com\test\setup\netwo原创 2020-05-22 17:37:32 · 5913 阅读 · 3 评论 -
ReactNative学习——Android Studio RN环境搭建和原生Android项目集成RN
关于RN Android项目实际学习中收集的的一些参考链接:1.Windows下使用AndroidStudio+ReactNative开发Android应用https://blog.youkuaiyun.com/asmcvc/article/details/51683799https://blog.youkuaiyun.com/u011068702/article/details/494480432.原生An...原创 2019-01-10 15:36:40 · 2485 阅读 · 0 评论 -
android 6.0以上读写权限(需要手动配置)
错误提示: W/System.err: java.io.IOException:Permission denied1.首先,在manifest中加入permission<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission and...原创 2019-04-03 19:53:33 · 3680 阅读 · 0 评论 -
Android 跳转电话、邮件、短信等系统页面
1.首先添加权限 <!-- 拨打电话权限 --> <uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 发送短信权限 --> <uses-permission android:name="android.permission.SEND_...原创 2019-04-08 17:51:27 · 5528 阅读 · 2 评论 -
Android webview支持H5页面通过js实现文件上传、图片上传
一、问题场景:项目中遇到通过网页上传文件的需求,IOS直接是支持的,安卓端却没反应,有些机型甚至闪退。其实是Android的webview默认是不支持<input type="file"/>文件上传的。现在的前端页面需要处理的是: 1.打开本地文件选择器 2.用户选择需要上传的文件 3.处理用户选择的文件通知webview...原创 2019-04-10 16:28:53 · 20003 阅读 · 7 评论 -
AES加密、解密工具类
一、AES介绍AES(Advanced Encryption Standard),中文名称高级加密标准。AES是开发中常用的加密算法之一。然而由于前后端开发使用的语言不统一,导致经常出现前端加密而后端不能解密的情况出现。然而无论什么语言系统,AES 的算法总是相同的, 因此导致结果不一致的原因在于 加密设置的参数不一致 。于是先来看看在两个平台使用AES加密时需要统一的几个参数。密钥长...原创 2019-03-20 16:26:55 · 3906 阅读 · 0 评论 -
android 将Android Studio项目打包成aar文件
一、打包成aar文件的步骤:(一)在build.gradle(app) 中1.将apply plugin: ‘com.android.application’改为apply plugin: ‘com.android.library’ ;2.去掉applicationId 。(如下图1)(二)在清单文件AndroidManifest.xml 中1.将application的nam...原创 2019-03-07 20:04:43 · 7389 阅读 · 4 评论 -
android fragment传递数据到activity,activity中实现接口回调
在某些案例中,可能需要Fragment与Activity共享事件。在Fragment内部定义一个回调接口是一个好方法,并且规定由持有它的Activity实现这个回调方法。当Activity通过接口接受回调时,它能在必要时与布局中的其他Fragment共享信息。例如,如果一个音乐播放器的应用程序在一个Activity中有两个Fragment---一个用来显示歌曲列表(Fragmen...原创 2019-03-08 17:31:20 · 1962 阅读 · 0 评论 -
android 解决“应用组件的命名与已安装应用有冲突”问题
1.场景还原:接到一个需求是:客户要在手机上同时安装正式版和测试版的app;看似很简单,改个包名重新打包就可以。但是在AS上运行时出现Installation failed with message INSTALL_FAILED_CONFLICTING_PROVIDER: Package couldn't be installed in /data/app...的问题,翻译后大概是说与"xxx...原创 2019-02-22 11:22:45 · 13943 阅读 · 2 评论 -
android webview全屏显示html内容
MainActivity.java文件修改 package com.example.wwy.webviewdemo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.app.Activity;import android.view.KeyEvent;impo...原创 2019-02-01 16:40:05 · 6369 阅读 · 0 评论 -
android布局全屏显示,状态栏和导航栏透明设置
一、布局全屏显示设置这里有两种方式实现1.如果你的Activity继承自android.app.Activity:设置AndroidManifest.xml文件,为activity添加(修改)一个属性为:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"注意:如果你的Activity默认继承android.suppo...原创 2019-02-01 16:37:29 · 4955 阅读 · 0 评论 -
解决 Android Studio 提交不了*.so文件到svn
刚开始提交不了文件,我以为是as的问题,查了半天是svn的问题,是svn默认忽略掉了;最后解决如下:一、Windows版本的Android Studio 1、找到svn插件安装目录位置:(C:\Users\Administrator\AppData\Roaming\Subversion) 2、打开该目录下的config文件 3、将文件中包含“global-ignore...原创 2019-01-21 17:15:10 · 1846 阅读 · 0 评论 -
android webview 加载https,访问不安全地址,设置为忽略证书
Webview 可以通过loadUrl(String url) 等方法加载网页。http 可以直接加载,但 https 是经过ssl 加密的,如果这个网站的安全证书在Android无法得到认证,WebView加载的网页就会变成一个空白页,同时也不会弹出任何提示。但是我们可以通过设置下面的方法来忽略证书,从而去访问不安全的地址(比如https://inv-veri.chinatax....原创 2019-01-10 20:40:26 · 7972 阅读 · 1 评论 -
自定义Dialog的实现,确定和取消按钮事件
一、先上效果图二、自定义dialog类package com.wwy.customdialog_demo;import android.app.Dialog;import android.content.Context;import android.content.DialogInterface;import android.util.TypedValue;import a...原创 2018-12-27 11:54:21 · 5286 阅读 · 0 评论 -
Proguard returned with error code 1. See console解决办法
上次接到一个需求是17年的旧代码有个功能让我帮忙给改一下,经过一天的折腾重新下载了eclipse,项目运行成功后,功能也测试通过,但是最后一步使用公司的签名文件生产apk报错了。。。[2019-05-23 15:38:30 - UOS] Proguard returned with error code 1. See console[2019-05-23 15:38:30 - UOS] ...原创 2019-05-30 11:36:51 · 817 阅读 · 1 评论 -
安卓apk反编译工具和方法
工具下载百度网盘地址-->链接: https://pan.baidu.com/s/1pwy03UpRpzEyla4MNlAILw 提取码: fp9c或者单独下载:apktool,编译和反编译apk,从apk中提取图片和布局资源dex2jar,将可运行文件classes.dex反编译为jar源码文件jd-gui,查看jar源码文件方法介绍https://blog.c...原创 2019-06-13 15:21:12 · 7609 阅读 · 1 评论 -
点击查看大图(长按保存图片)
最近做项目时有需求,我就在参考原博客(点击查看大图原博客链接)后自己又添加方法,最终实现了长按图片获取原图url以后,自动保存图片到本地。界面是这个样子的:下面附上关键部分的代码:@Override public void onClickable(int viewId) { switch (viewId) { cas...原创 2017-08-16 10:49:45 · 7229 阅读 · 3 评论 -
小米手机返回file:///文件绝对路径
/** * Intent data 小米手机选择相册照片时返回数据 { dat=file:///storage/emulated/0/DCIM/Camera/IMG_20161129_195938.jpg typ=image/jpeg } //other 拍照返回 Intent data { dat=content://media/external/imag...原创 2019-09-22 20:48:29 · 1898 阅读 · 0 评论 -
Android7.0调用拍照和获取相册照片,因为file://引起的FileUriExposedException异常
Android 7.0 就是 File 路径的变更,需要使用 FileProvider 来做if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {imgUriOri = Uri.fromFile(file);} else {imgUriOr...原创 2019-09-22 20:42:38 · 376 阅读 · 0 评论 -
EventBus中的设计模式
一、单例模式1.定义确保一个类只有一个实例,并为整个系统提供一个全局访问点 (向整个系统提供这个实例)。2.结构类图分为三部分,依次是类名、属性、方法; 以<<开头和以>>结尾的为注释信息; 修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见; 带下划线的属性或方法代表是静态的。 三要素: ...原创 2019-08-31 21:24:06 · 2004 阅读 · 0 评论 -
volatile和synchronized的区别
一、区别 1. Volatile 仅能使用在变量级别; synchronized 则可以使用在变量、方法、和类级别的. 2. Volatile仅能实现变量的修改可见性,并不能保证原子性(复合操作的原子性); synchronized则可以保证变量的修改可见性和原子性。 3. Volatile不会造成线程的阻塞; synchronized可能会造成线程的阻塞。 4. ...原创 2019-08-25 16:09:56 · 649 阅读 · 0 评论 -
基站定位时,在Android 荣耀8.1和小米9.0的手机上获取设备信息抛异常了,然而在小米8.0的手机上是正常的
最后通过断点调试发现是没有获取到设备信息,READ_PHONE_STATE属于Android6.0以上版本的危险权限,属于PHONE那一组,打电话的权限已经授予,按理说整组的权限默认就有了,我又单独添加授权后,问题解决。PS:Android 6.0系统中需要动态授权的危险权限表一共是9组27个权限,当我们在动态授权时,只要用户允许了一组当中的一个权限,那么系统默认会通过整组的权限,所以我们在动...原创 2019-09-22 20:49:26 · 790 阅读 · 0 评论 -
Android WebView加载本地资源
java.lang: language java的核心包,Object ,System , String, File ,Throwable等。java.awt: 定义的都是用于java图形界面开发的对象。javax.swing:提供所有的windows桌面应用程序包括的控件,比如:Frame , Dialog, Table, List 等等,就是java的图形界面库。java.n...原创 2021-09-06 19:44:44 · 2050 阅读 · 0 评论 -
IPv4和IPv6的关系简单了解
Java提供了InetAddress类来代表IP地址,InetAddress下还有两个子类:Inet4Address、Inet6Address,它们分别代表了Internet Protocol version4(IPv4)地址和Internet Protocol version6(IPv6)地址。 IP地址是网络中的一个重要的概念,包括IPv4地址和IPv6地址。...原创 2019-07-20 10:18:18 · 6453 阅读 · 0 评论