android
泡在网上的蜘蛛
知无不言,言无不尽!
记录工作中的点点滴滴,部分文章转自于网络,仅用于收藏,如有文章未指定出处请联系我,谢谢!
请大家支持原创。
展开
-
Android 7.0以上版本 HTTPS 抓包解决方法
HTTP 协议发展至今,已经有二十多年的历史,整个发展的趋势主要是两个方向:效率 & 安全。效率方面,从 HTTP1.0 的一次请求一个连接,到 HTTP1.1 的连接复用,到 SPDY/HTTP2 的多路复用,到 QUIC/HTTP3 的基于 UDP 传输,在效率方面越来越高效。安全方面,从 HTTP 的明文,到 HTTP2 强制使用 TLSv1.2,到 QUIC/HTTP3 强制使用 TLSv1.3,越来越注重数据传输的安全性。总而言之,HTTP 协议的发展对,用户是友好的,但是对开转载 2022-01-24 11:23:15 · 8063 阅读 · 0 评论 -
这可能是介绍 Android UvcCamera 最详细的文章了
设备外接 usb 摄像头,进行基本的预览、拍照、录像。相信有些同学在工作中有遇到类似的需求。usb 摄像头在 Android 设备上,应用的确很广泛,我之前公司做的是车载产品,众所周知,现在汽车上是安装了越来越多的摄像头,通过摄像头采集的实时信息,能协助我们进行更加安全的驾驶。而这些摄像头,除了比较常见的 mipi 摄像头,很多也开始用的 usb 摄像头。除了车载产品,类似安防、医疗等各方面,和监控、视频相关的很多领域,也都会用到 usb 摄像头。uvc camera?有 camer转载 2021-09-11 11:20:13 · 5294 阅读 · 4 评论 -
Android View getX getLeft getTranslationX layoutparams.leftMargin的值
1、概述Android系统中德坐标系统比较复杂,各种绝对和相对坐标用起来真的很容易混淆。开发中经常用到View的一些坐标,一些值经常搞混,今天就来总结下。2、Android View layout()android.view.View.layout(int l, int t, int r, int b)lLeft position, relative to parenttTop position, relative to parentrRight position, relat...转载 2021-06-24 10:05:20 · 266 阅读 · 0 评论 -
Android Studio报Element XXXX must be declared的解决方法
今天从Eclipse上移植了一个我以前写的Demo,发现在as中会出现:Element animation-list must be declared在编写帧动画的xml文件时,将动画的xml文件放到了 res/anim目录中,我的xml如下:<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"原创 2021-06-24 10:04:44 · 2954 阅读 · 0 评论 -
android 9PNG图片制作过程(图文介绍)
我们想要是有些图片可以拉伸而不失真多好啊,这时候我们就要想起android为我们提供的9.png格式的图片了,9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意在android开发的过程中我们经常因为没有好的美工图片失真,这样使界面看起来要逊色很多,有的时候可能我们会想在drawable-hdpi,ldpi,mdpi下放不同分辨率的图片,这样虽然可以有效避免图片失真,但是这样一是麻烦而是图片资源似的整个项目太大。所以有时候我们想要是有些图片可以拉伸而不失真多好啊,这时候我们就要想起a.转载 2021-06-24 10:03:13 · 743 阅读 · 0 评论 -
Android RecyclerView分页监听底部状态源码
我在这里直接封装成了一个类,直接上代码:/** * Recycler分页 * * @author https://blog.csdn.net/bobxie520 * Created by haibo on 2016/7/28. */public class RecyclerPageView extends RecyclerView { public RecyclerPageView(Context context) { super(context);原创 2021-04-24 22:25:15 · 164 阅读 · 0 评论 -
Android Support兼容包详解
背景来自于知乎上邀请回答的一个问题Android中AppCompat和Holo的一个问题?, 看来很多人还是对这些兼容包搞不清楚,那么干脆写篇博客吧.Support Library我们都知道Android一些SDK比较分裂,为此google官方提供了Android Support Library package 系列的包来保证高版本sdk开发的向下兼容性, 所以你可能经常看到v4,v7,v13这些数字,首先我们就来理清楚这些数字的含义,以及它们之间的区别。support-v4用在API l转载 2021-04-24 22:22:48 · 377 阅读 · 0 评论 -
android:clipToPadding的使用详解
今天来记录一下我这么久以来困扰的一个问题,就是有时候我们在listview设计时会有一些内边距的要求,这时候就比较尴尬,有人说直接用padding不就可以解决这个问题了吗?但是用完后有人发现在上下拉动整个内容时会看到有一个白色的内边距在那里,非常的丑,这时候我们就需要用到Listview的一个强大的属性:android:clipToPadding=false,默认android:clipToPadding=true的。下面我来解释一下它的具体用途clipToPadding:就是说控件的绘制区域是否在p原创 2021-04-24 22:20:19 · 1007 阅读 · 0 评论 -
android listview嵌套viewpager冲突解决方法
直接上代码:/** * viewpage 和listview 相互冲突 将父view 传递到viewpage 里面 * 使用父类的方法 parent.requestDisallowInterceptTouchEvent(true); * 当 requestDisallowInterceptTouchEvent 如果为true的时候 表示:父view 不拦截子view的touch 事件 * 这个方法只是改变flag * @author bobxie * */public class D原创 2021-04-23 14:29:21 · 248 阅读 · 0 评论 -
Android 使用Shape自定义边框色(只上下边框有色)
今天遇到一个UI发现只有上下需要线边框,如果没有切换该如何实现呢?首先我们看看四边都有框的XML代码:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 实心 --> <solid android:color="#fbfbfb" /> <!-- 描边 --&g原创 2021-04-23 14:26:21 · 2954 阅读 · 2 评论 -
SlidingLayout
SlidingLayout是一种Android平台的View控件,可以帮助你实现类似微信网页浏览的下拉功能,也可以帮助你实现类似iOS中UITableView的下拉上拉弹跳的果冻效果。SlidingLayout完美兼容Android自带库和兼容库的所有View组件,包括RecyclerView、ListView、ScrollView以及WebView等等。SlidingLayout简单易用,最低支持Android api v9。效果图:源码地址:https://github.com/原创 2021-04-23 14:25:11 · 271 阅读 · 0 评论 -
Gradle下载的依赖包存放在哪里?
具体如下:Mac系统默认下载到:/Users/(用户名)/.gradle/caches/modules-2/files-2.1Windows系统默认下载到:C:\Users(用户名).gradle\caches\modules-2\files-2.1原创 2021-04-23 14:23:15 · 4779 阅读 · 1 评论 -
Android 6.0危险权限与普通权限分别有哪些?
在我们适配6.0以后的机器时,就需要辨别哪些是属于危险权限,在这里我就记录一下。Normal Permissions如下ACCESS_LOCATION_EXTRA_COMMANDSACCESS_NETWORK_STATEACCESS_NOTIFICATION_POLICYACCESS_WIFI_STATEBLUETOOTHBLUETOOTH_ADMINBROADCAST_STICKYCHANGE_NETWORK_STATECHANGE_WIFI_MULTICAST_STATECHANG原创 2021-04-16 18:17:36 · 491 阅读 · 0 评论 -
Android Studio中搭建Robotium环境
Android Studio 中搭建 Robotium 环境现在大部分的 Android 项目都从之前的 Eclipse 转移到了 Android Studio,所以在使用 Robotium 做自动化测试时,最好是也跟着转移到 AS中。在 AS 中搭建 Robotium 环境与 Eclipse 会有很大的区别,这里给出一个简单的例子供大家参考!新建一个简单的 Demo 应用,使用 AS 的默认创建的就好,默认应用的 MainActivity 界面上 TextView 的内容设置为robotiu.原创 2021-04-16 18:11:06 · 953 阅读 · 5 评论 -
Android 아이유字符转韩文
今天后端返回了一串韩文的歌曲名,我在前端显示就出现了아이유,然后找了一下资料。解决方法很简单。解决:只需使用Html.formHtml(“아이유”),把内容传 进去就好了。完整:textView.setText(Html.formHtml(“아이유”))。...原创 2021-04-13 14:14:27 · 138 阅读 · 0 评论 -
混淆导致的 java.lang.AssertionError: illegal type variable reference异常的解决方案
在做混淆的时候,经常会出现各种奇怪的错误, 以下便是一种:java.lang.AssertionError: illegal type variable reference at libcore.reflect.TypeVariableImpl.resolve(TypeVariableImpl.java:110) at libcore.reflect.TypeVariableImpl.getGenericDeclaration(TypeVariableImp原创 2021-04-13 14:12:04 · 881 阅读 · 0 评论 -
android 将时长数为毫秒的转化为分钟和秒
在制作音乐、视频播放器时,音乐的时长是以分:秒的方式显示的,一般开发读出的音乐时长为long类型以毫秒为单位,写了一个方法在这里记录一下,直接贴进项目即可使用。上代码:public static String timeParse(long duration) { String time = "" ; long minute = duration / 60000 ; long seconds = duration % 60000 ; long second = Math.r原创 2021-04-13 14:07:32 · 1315 阅读 · 0 评论 -
Android 去掉activity默认动画效果的方法
很多手机都会自带一些Activity切换动画,项目中如果我们需要禁用掉系统Activity切换的动画,可以使用如下方法:一、重写Activity的Them中的windowAnimationStyle相关属性,并保存在res/values/styles.xml <style name="Theme.notAnimation" parent="android:Theme.Light.NoTitleBar.Fullscreen"> <item name="android原创 2021-04-07 09:13:02 · 2149 阅读 · 0 评论 -
Android动态创建一个selector
/** * 创建一个图片 * @param contentColor 内部填充颜色 * @param strokeColor 描边颜色 * @param radius 圆角 */public static GradientDrawable createDrawable(int contentColor, int strokeColor, int radius) {GradientDrawable drawable = new GradientDrawable(); // 生成Sh原创 2021-04-07 09:10:58 · 250 阅读 · 0 评论 -
android 音量控制setVolumeControlStream
当开发多媒体应用或者游戏应用的时候,需要使用音量控制键来设置程序的音量大小。在Android系统中有多中音频流,通过Activity中的函数 setVolumeControlStream(int streamType)可以设置该Activity中音量控制键控制的音频流,一般在onCreate函数中设置。Android中有如下几种音频流(streamType是需要调整音量的类型):AudioManager.STREAM_MUSIC /音乐回放即媒体音量/AudioManager.STREAM_RING原创 2021-04-07 09:08:45 · 629 阅读 · 0 评论 -
超级简单的Android Studio jni 实现(无需命令行)
1.配置Anroid Studio(这步是关键)使用[command+,] 打开Preferences,选择External Tools,点击加号框如下图:Paste_Image.png点击+号之后,打开Macros 配置宏命令界面,如下图:Paste_Image.pngsetting.pngjavah.pngndk-build.pngndk-build clean.png2.配置完成就可以使用javah 、ndk-build、ndk-build转载 2021-04-02 23:08:54 · 209 阅读 · 0 评论 -
Android如何在http头信息里设置参数
在使用http请求server时常常要传递一些参数给server,如IMEI号、平台号、渠道号、客户端的版本号等一些通用信息,像这些参数我们没有必要每次都拼在url后,我们可以统一添加到http头里。HttpClient的设置http头的参数HttpClient httpclient = new DefaultHttpClient();httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, CONN_T原创 2021-04-02 23:02:06 · 281 阅读 · 0 评论 -
Android使用Rhino让java执行javascript的方法实例
在Android中需要调用js函数,以前我们需要加载webview然后来进行js交互,今天教大家一个方法,不需要webview也能做到,那就是Rhino。官网下载地址:https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Download_Rhino此教程使用的是最新版的Rhino 1.7.7.1编译下面是我写的一个简单的测试代码:public class MainActivity extends Activity {原创 2021-04-02 23:00:29 · 577 阅读 · 0 评论 -
Android Studio 生成aar包多Module引用问题
问题描述:有个arr文件被放到Module A中引用,现在Module B又依赖了Module A,则在编译过程中会发生错误,Module B找不到aar文件。解决办法:使用相对路劲来找到这个aar文件。repositories { flatDir { dirs '../myLibrary2/libs';dirs 'libs' // 申明本地库 }}终于解决问题了,再这里记录一下。...转载 2021-04-02 22:58:29 · 248 阅读 · 0 评论 -
gradle 修改生成的apk的名字
在app的module里的build.gradle文件中,在Android { …}里面加上这样一段代码,即可修改生成的apk的文件名。ndroid.applicationVariants.all { variant -> def file = variant.outputFile variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName +原创 2021-04-02 22:55:54 · 371 阅读 · 0 评论 -
利用gradle添加构建版本号
在java的程序中,貌似都没有这个构建版本号的概念,用的诸如eclipse, idea和android studio的IDE也没有直接提供构建版本号的选项。不过我却想在android程序的版本号当中添加一个构建版本号,当然,这个只是个人的蛋疼需求。虽然在stackoverflow上看到其他人也有这种需求,但相信人不多。这里分享一下我的解决方法。首先在app的build.gradle中的android方法里面,把defaultConfig的代码替换成以下代码:def verName = "1.0.0"转载 2021-04-02 22:50:42 · 425 阅读 · 0 评论 -
Android studio 自动导入(全部)包 import
1Android studio 只有import单个包的快捷键:Alt+Enter。没有Eclipse下的快速导入包的快捷键Ctrl+Shift+O。2 但Android studio设置里有一项Auto Import自动导入功能。设置过程如下:Android studio --> File-->Settings--> Editor--> Auto Import:然后设置如下图1.图1设置中的参数解释如下,下为转载:XMLShow import pop...转载 2021-04-02 22:49:36 · 1326 阅读 · 0 评论 -
史上最全设计模式导学目录(完整版)
基础知识设计模式概述从招式与内功谈起——设计模式概述(一):设计模式从何而来?从招式与内功谈起——设计模式概述(二):设计模式是什么?从招式与内功谈起——设计模式概述(三):设计模式有什么用?附:个人观点面向对象设计原则面向对象设计原则概述面向对象设计原则之单一职责原则面向对象设计原则之开闭原则面向对象设计原则之里氏代换原则面向对象设计原则之依赖倒转原则面向对象设计原则之接口隔离原则面向对象设计原则之合成复用原则面向对象设计原则之迪米特法则..转载 2021-03-18 14:13:10 · 136 阅读 · 0 评论 -
Android如何在http头信息里设置参数
在使用http请求server时常常要传递一些参数给server,如IMEI号、平台号、渠道号、客户端的版本号等一些通用信息,像这些参数我们没有必要每次都拼在url后,我们可以统一添加到http头里。1、HttpClient的设置http头的参数HttpClient httpclient = new DefaultHttpClient();httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, CONN原创 2021-03-12 12:40:44 · 191 阅读 · 0 评论 -
Android 6.0中”Unable to find optional library: org.apache.http.legacy”错误解决
Android 6.0版本已经已经基本将Apahce Http Client 移除出SDK,会报出以下错误:" Unable to find optional library: org.apache.http.legacy"那么问题来了,如果我在以前的项目中使用了Apache HttpClient相关类,怎么办呢?请看官网给出的解决Apache HTTP Client RemovalAndroid 6.0 release removes support for the Apache HTTP cl原创 2021-03-12 12:40:56 · 643 阅读 · 0 评论 -
Android使用Rhino让java执行javascript的方法实例
在Android中需要调用js函数,以前我们需要加载webview然后来进行js交互,今天教大家一个方法,不需要webview也能做到,那就是Rhino。官网下载地址:https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Download_Rhino此教程使用的是最新版的Rhino 1.7.7.1编译下面是我写的一个简单的测试代码:public class MainActivity extends Activity {原创 2021-03-11 21:30:07 · 806 阅读 · 0 评论 -
Android Studio 生成aar包多Module引用问题
问题描述:有个arr文件被放到Module A中引用,现在Module B又依赖了Module A,则在编译过程中会发生错误,Module B找不到aar文件。解决办法:使用相对路径来找到这个aar文件。给依赖Module A的Module B的build.gradle的android节点下加入repositories { flatDir { dirs '../Module A Name/libs', 'libs' }}...转载 2021-03-11 21:29:01 · 306 阅读 · 0 评论 -
android 获取网络重定向URL
直接上代码:import java.net.HttpURLConnection;import java.net.URL;import org.junit.Assert;import org.junit.Test;public class GetRedirectUrlTest { @Test public void test_getRedirectUrl() throws Exception { String url="http://www.baidu.com/lin原创 2021-03-11 21:26:45 · 685 阅读 · 0 评论 -
INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES错误解决方法
在安装APK文件时出现类似INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES的提示,同时类似的提示如下:Android Launch!adb is running normally.Performing com.android123.CWJ activity launchAutomatic Target Mode: using device 'HT840GZ25974'Uploading CWJ.apk onto device 'HT840GZ25974'原创 2021-03-11 21:26:14 · 2857 阅读 · 0 评论 -
Android Studio中Junit单元测试使用JSON对象异常的问题
Android Studio 2.2中使用本机单元测试时,遇到使用JSONObject代码时抛出异常:比如:JSONObject jsonObject = new JSONObject(“json字符串”);报异常:Java.lang.RuntimeException: Method put in org.json.JSONObject not mocked. See https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-转载 2021-03-11 21:25:30 · 476 阅读 · 0 评论 -
Goolg adb常用工具包下载地址
Google提供的ADB工具包下载地址使用方法:将Android SDK包中tools目录下的 adb.exe 和 AdbWinApi.dll 复制到 Windows下的 system32 目录 下。如果你使用ADB工具包,可直接解压缩至 system32 目录。在 cmd 中输入 adb 可以获得 adb 使用文档...原创 2021-03-11 21:24:42 · 527 阅读 · 0 评论 -
adb shell下使用命令行删除android系统中指定文件和文件夹
tools>adb remounttools>adb shell#su#cd system/sd/data //进入系统内指定文件夹#ls //列表显示当前文件夹内容#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件#rm xxx //删除文件xxx#rmdir xxx //删除xxx的文件夹...原创 2021-03-11 21:24:02 · 1508 阅读 · 0 评论 -
android系统级应用静默升级及注意事项
android静默安装apk使用android.content.pm.PackageManager.installPackage(Uri packageURI, IPackageInstallObserver observer, int flags, String installerPackageName)进行安装应用程序,ovserver 和packagename都可为null,但是为系统级应用静默升级时,由于在android源代码里面的PackageManager会检查versionCode:如果更转载 2021-03-11 21:23:23 · 941 阅读 · 0 评论 -
Android设置Dialog透明度、黑暗度方法
1.设置透明度(Dialog自身的透明度)WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();lp.alpha=1.0f;dialog.getWindow().setAttributes(lp);alpha在0.0f到1.0f之间。1.0完全不透明,0.0f完全透明2.设置黑暗度(Dialog自身的黑暗度)dialog.setContentView(R.layout.dialog); WindowMana原创 2021-03-11 21:22:28 · 1155 阅读 · 0 评论 -
dialog.setCancelable与setCanceledOnTouchOutside的区别
dialog.setCancelable(false);dialog弹出后会点击屏幕或物理返回键,dialog不消失dialog.setCanceledOnTouchOutside(false);dialog弹出后会点击屏幕,dialog不消失;点击物理返回键dialog消失原创 2021-03-17 09:31:45 · 242 阅读 · 0 评论