Android
安卓知识
李小白的博客
这个作者很懒,什么都没留下…
展开
-
两APP通信之AIDL使用。
两APP通信之AIDL使用。原创 2022-07-28 18:24:04 · 403 阅读 · 2 评论 -
简单记录下Retrofit压缩上传图片,以及上传多组图片
Android上传服务器,单图多图,base64上传 ,MultipartFile格式上传原创 2022-05-31 16:13:56 · 958 阅读 · 0 评论 -
解决Androidstudio 4.2.2无法自动导包也不报错问题
4.2.2无法自动导包无法自动导包也不报错问题无法自动导包也不报错问题实在坑爹,Androidstudio不知道怎么回事就是没办法自动导包也不报错,重启了也没有用,跟着 Invalidate and Restart 也完全没用最后发现是一个坑爹的插件引起的原因在Settings -》Plugins -> Android ButterKnife Zelezny 把这个插件卸载重启即可。![如下图](https://img-blog.csdnimg.cn/e770ab86ff2f4e8原创 2022-05-12 10:52:17 · 778 阅读 · 0 评论 -
AndroidStudio通过WiFi安装app
1.手机和电脑在同一局域网(即连接同一WiFi或者电脑开WiFi给手机连)用数据线连接手机和电脑,在命令行输入adb tcpip 55552.手机点击WiFi查看WiFi的ip地址如下图所示,然后输入adb connect 192.168.14.151:55553.大功告成到这就可以连接上手机了,这样就不怕一直连接着充电线损伤电池了哈最后附上一张操作图成功连接...原创 2021-07-08 14:47:02 · 975 阅读 · 0 评论 -
Fragment在Android6.0后申请权限没办法回调
把这样申请的: ActivityCompat.requestPermissions(activity, lacksPermissions, REQUEST_CODE_REQUEST_PERMISSION);改为这样的即可: requestPermissions(new String[]{Manifest.permission.RECORD_AUDIO}, 1026);...原创 2021-03-24 16:31:20 · 220 阅读 · 0 评论 -
Git切换分支失败并提示Another git process seems to be running in this......
今早要Rollback代码发现报错然后换了sourceTree去清楚也不行还报Another git process seems to be running in this repository, e.g. an editor 错误查找了别人的博客发现是git被另外一个程序占用。原因在于Git在使用过程中遭遇了奔溃,部分被上锁资源没有被释放导致的。特此记录下以防以前碰到找不到。...原创 2021-03-24 09:27:56 · 337 阅读 · 1 评论 -
Android中vivo、Oppo手机无法通过usb安装应用解决办法
在gradle.properties文件中添加android.injected.testOnly=false原创 2021-03-08 16:05:00 · 4427 阅读 · 0 评论 -
详解Android clipChildren属性的用法
android:clipChildren的用法1.clipChildren属性介绍2.实战clipChildren属性1.clipChildren属性介绍用来定义他的子控件是否要在他应有的边界内进行绘制。android:clipChildren=“false” 就是不限制他子控件在其边界内进行绘制android:clipChildren=“true” 限制他子控件在其边界内进行绘制其实这样讲很是模糊的,接下来让我们通过实际代码和效果让大家更直观的感受2.实战clipChildren属性实原创 2021-03-01 11:29:07 · 5738 阅读 · 0 评论 -
抓包大全 通过Charles抓取Android的Https链接数据
Android 实现抓取Https数据1.为啥要会抓包2.电脑手机同一局域网,设置手机手动代理。3.抓取Https,Charles需要设置什么三级目录1.为啥要会抓包a.当公司没有接口文档,但需要做接口测试的时候,需要通过代理工具,对接口进行抓取。b.当开发上传图片时,不知道自己到底上传没上传,这时候就可以通过抓包来收集证据,避免后台甩锅。2.电脑手机同一局域网,设置手机手动代理。a.可通过Charles查看电脑IP地址,也可以通过命令行输入ipconfig查看IP地址b.之后通过设置手机手原创 2021-02-20 10:01:18 · 8007 阅读 · 22 评论 -
Android打包 expected a name but was STRING at line 1 column 101 path $[0].apkInfo.versioname
在build.gradle的android {lintOptions {//加入这句即可checkReleaseBuilds falseabortOnError falsedisable ‘MissingTranslation’}}原创 2021-01-29 14:08:14 · 241 阅读 · 0 评论 -
仿朋友圈相册图片选择以及画廊效果
仿朋友圈相册图片选择以及画廊效果1.效果展示2.导入相关第三方库依赖3.编写选择图片页面a.编写布局b.编写Activityc.相册选择工具类部分代码d.相册4宫图适配器4.编写画廊页面a.编写画廊页面b.编写Activityc.画廊适配器5.源码1.效果展示该demo适配Android 6、7、10。画廊效果,支持缩放效果。视频展示:(等我B站视频审核通过再来修改)部分截图:文章有点长,如果没时间就拉到最底下下载源码,再给个一键三联哈(* ̄︶ ̄)2.导入相关第三方库依赖站在巨人的肩膀上,原创 2021-01-10 13:39:31 · 553 阅读 · 1 评论 -
小米通过usb安卓apk出现Installation via USB is disabled
把这两个勾起来,简单粗暴。原创 2020-12-31 15:34:37 · 6378 阅读 · 5 评论 -
上架oppo商店jarsigner: 无法创建: OppoSignVerify_signed.apk以及找不到**.jks的证书链
1.配置jdk环境变量2.切换到jdk的bin目录,把oppo给的空包和自己的jks文件放到bin目录里面(以下掺杂错误示范请注意)然后输入jarsigner -verbose -keystore ***.jks-signedjar OppoSignVerify_signed.apk OppoSignVerify.apk ***.jks出现以上原因是因为最后面那个是签名文件的别名(看下图)3.出现无法创建: OppoSignVerify_signed.apk这个是我的C.原创 2020-12-15 16:26:12 · 1316 阅读 · 0 评论 -
深入理解Handler源码
深入探索Handler1.Handler构造方法2.Looper的简介3.现在我们来看看Looper怎么把Message一个个取出来:4.Handler的sendMessage方法5.总结关于Handler的使用以及内存泄漏等问题这边不做讲解,有兴趣欢迎移步:解决Handler的内存泄漏我们都知道Handler通过sendMessage把消息发出去; 然后通过Looper 从MessageQueue拿出一个个msg; 传给Handler的handleMessage方法处理; 总结起来就三兄弟Handl原创 2020-09-15 11:52:37 · 176 阅读 · 0 评论 -
NiceVideoPlayer实现视频播放
简单实现视频播放1.加入各第三方库的依赖2.在对应视频界面所在的 Activity 的 Manifest.xml 中需要添加如下配置3. 配置 ndk 指定 ABI4.编写xml文件5.编写MainActivity类6.加入混淆无图无真相1.加入各第三方库的依赖 implementation 'com.github.xiaoyanger0825:NiceVieoPlayer:v2.2' implementation 'com.android.support:support-annot原创 2020-09-15 10:00:03 · 1371 阅读 · 0 评论 -
通过反射将对象转成Map键值对形式
传给后台需要太多字段例如一个对象里面有10个字段,都要转成键值对形式上传给后台,这就需要不断的map.put(key,value);这时候就需要封装一个反射类,通过反射来完成这个繁琐的操作package www.lvchehui.com.carteam.tools.provider;import android.support.annotation.NonNull;import android.text.TextUtils;import android.util.Log;import ja原创 2020-09-03 16:42:59 · 647 阅读 · 0 评论 -
安卓中关于HashMap的存值,以及转成string;对象的改变
安卓中关于HashMap的存值,以及转成string;对象的改变1.后台过来的hashMap,原原本本地再返回回去。2.后台过来的hashMap,处理成08-28:萨达的字符串3.对象赋值后,不改变原来对象的值1.后台过来的hashMap,原原本本地再返回回去。后台传过来的字段是这样子的:"use_trip":{“08-28”:“萨达”,“08-29”:“不好吧”}我本地是用HashMap<String, String> use_trip去接收这个字段的。然后现在后台需要原原本本原创 2020-08-22 11:56:54 · 1302 阅读 · 0 评论 -
安卓通过Build Variants定制多个App以及WebView访问https
安卓通过Build Variants定制多个App以及WebView访问https1.无图无真相2.首先配置app下的build.gradle文件3.Src目录下创建对应的文件夹4.开始愉快的编写代码5.完结撒花1.无图无真相切换对应的项目运行出多个APP(其实只是图标和http请求变了,其他的各位看官可自行添加)2.首先配置app下的build.gradle文件defaultConfig { ......//这个表示原来就有的配置,防止小白一股脑的黏贴进去 /*原创 2020-05-26 16:54:13 · 235 阅读 · 0 评论 -
安卓集成云闪付,以及So库冲突多moudle项目解决办法
安卓集成云闪付,以及So库冲突多moudle项目解决办法支付流程介绍1.无图无真相2.前往银联下载修仙工具3.权限和混淆配置4.开始编写代码5.完结撒花支付流程介绍交易流程如下图:安卓端商户后台银联后台1.浏览商品,点击下单2.提交订单信息3.返回交易流水号(tn)4.返回交易流水号(tn)5.通过交易流水号启动支付控件开始支付6.支付控件收集支付信息,完成支付7.通知商户后台支付结果8.通知支付控件支付结果9.支付控件通知安卓端支付结果安卓端商户后台银联后台安卓端这边要做的就是把商品给后台,后台返原创 2020-05-21 15:10:47 · 1784 阅读 · 5 评论 -
IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
我是做了个顶部是tabLayout,然后点击每一item,底部的EasyRecyclerView(一个封装了Recyclerview的FrameLayout布局)要对应刷新。看到报错,发现是不能在滑动或者在计算layout的时候刷新数据解决方法如下:(getRecyclerView()方法是这个控件封装的,返回的是一个recyclerview对象;如果你是用recyclerview写的就不...原创 2020-03-18 14:20:26 · 480 阅读 · 0 评论 -
android.view.WindowLeaked: Activity com.xmbus.passenger.activity.ChangeAllCityActivity has leaked
具体报错如下(粗略分析,activity被销毁时,依附于他的WindowManager没有了依附,导致了窗体管理器泄漏)解决办法:在onDestroy方法里面调用removeViewImmediate()方法通知View立刻调用View.onDetachWindow()销毁窗体,避免窗体泄漏...原创 2020-03-17 15:17:42 · 216 阅读 · 0 评论 -
Unable to resolve dependency,Could not find any version that matches com.android.support:design:29.+
报错全文:ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not find any version that matches com.android.support:design:29.+. (你们报错的可能会和我略有区别,但是都是同一类问题)在此把这个bug...原创 2020-01-19 15:21:57 · 849 阅读 · 0 评论 -
TextView在主线程更新Ui方式,以及ImageView动态设置图片注意点
第一种:mTv.post(new Runnable() { @Override public void run() { mTv.setText("更新textView"); } });第二种:runOnUiThread(new Runnable() { @Override ...原创 2020-01-09 10:52:45 · 365 阅读 · 0 评论 -
AS点击运行出现Please Select Android SDK
1.在Android Studio中点击“Run”按键,程序没有正常运行,而是弹出“Edit configuration”对话框,在对话框底部的错误信息中,显示“Please Select Android SDK”2.点击Android Studio菜单栏的“File->Setting”,在弹出的Setting对话框中的左侧选择“Appearance&Behavior->S...原创 2019-12-24 13:46:28 · 416 阅读 · 0 评论 -
AS出现: Plugins Suggestion Unknown features (RunConfiguration[AndroidRunConfigurationType],
左上角File >> Setting >> Plugins >> 把Android Support勾选上,点击Apply,再点OK,会提示重启,重启完就好了。原创 2019-12-24 10:48:30 · 190 阅读 · 0 评论 -
记录从真机打印log的指令以及命令行安装APP
adb logcat >D:\test.log表示打印到D盘,创建test.log文件adb install ***.apk把签名好的apk放到来运行即可原创 2019-12-23 15:23:23 · 132 阅读 · 0 评论 -
RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框(文末附源码)
无图无真相,一言不合就上图: 功能简介:下拉显示时间列表,点击时间弹出自定义的IOS对话框,然后选择对应的车牌号,跳转到第二个界面。 本以为是个很简单的东西,写了之后才发现坑不断,特此纪念下。(里面用的都是假数据,如需请求网络数据不止如何修改的可以联系我qq......原创 2019-07-29 13:54:32 · 1473 阅读 · 1 评论 -
AndroidStudio安装完Flutter就是不显示New Flutter Project按钮
把这三兄弟勾上,然后重启Androidstudio即可。完美原创 2019-07-25 18:55:42 · 1017 阅读 · 0 评论 -
安卓中如何获取MD5码
1、首先打开命令框切换到jdk的bin目录下(每个人的bin目录不一样,大家自己找到自己相应的bin目录)cd C:\Program Files\Java\jdk1.8.0_60\bin2、然后输入:keytool.exe -list -v -keystore C:\key\key.jks后面那个路径为我的签名文件的路径然后输入你的密令,这个密令为你当初设置的签名文件的密码...原创 2019-05-08 16:37:17 · 2312 阅读 · 0 评论 -
解决项目中复制网址后,黏贴到搜索框里面,系统软件盘未弹起
解决这个问题就主要两句核心的代码: etSearch.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { // 黏贴完网址后弹起键盘 ...原创 2018-12-10 09:30:12 · 253 阅读 · 0 评论 -
StartActivityForResult的用法
当一个OneActivity跳转到TwoActivity时,TwoActivity关闭时要把数据传回到OneActivity,这个时候就得用到StartActivityForResult。使用这个方法特别要注意的是:一个Activity中可能包含多个按钮,并调用多个startActivityForResult方法来打开不同的Activity处理业务,当这些新Activity关闭后,系统会调用前...原创 2018-12-07 11:10:52 · 397 阅读 · 0 评论 -
Program type already present:okio.AsyncTimeout$Watchdog Message{kind=ERROR, text=Program type :okio
有两个okio 通过双击shift键盘,然后在输入框里面输入AsyncTimeout,发现是因为有两个okio.jar包,手动暴力删除后就好了然而过了几天问题又重新出现了,一样的问题,没错!就是下图的这个问题经过不懈的谷歌,终于找到了解决方案(在app下的build文件下的android里面添加如下语句):问题终于完美的解决了,nice。 ...原创 2018-07-26 17:20:48 · 6295 阅读 · 0 评论 -
安卓微博登录以及遇到的21338问题
添加以下依赖:implementation 'com.sina.weibo.sdk:core:2.0.3:openDefaultRelease@aar'implementation 'com.zhy:okhttputils:2.6.2' implementation 'com.alibaba:fastjson:1.1.56.android'implementation 'com.vis...原创 2018-07-26 14:54:52 · 5334 阅读 · 0 评论 -
AS代码上传码云出现 push failed : Authentication failed for 'https://gitee.com/.......'
这是码云验证没通过,这个时候在AndreridStudio中的Terminal中(如下图所示)输入git config --system --unset credential.helper重置账号密码,这个时候再次push的时候会弹出一个框让你输入账号密码(这里的账号密码就是你的码云账号密码)码云的账号查看如下图(账号即为注册邮箱) ...原创 2018-07-20 17:06:19 · 3708 阅读 · 2 评论 -
AndroidStudio提交码云出现Push rejected pushto origin/master was rejected
错误如图一所示: 图一在terminal窗口中依次输入命令:(terminal窗口在as最下方,看图二,记住是一行行输入)git pullgit pull origin mastergit pull origin master --...原创 2018-07-18 09:52:45 · 4905 阅读 · 1 评论 -
浅谈AndroidStudio2.3.3添加讯飞语音功能
目前很多安卓应用都用到语音识别功能,通常情况下,我们都是通过接入第三方API来实现的。本人最近写了一个简易的快递查询,在Androidstudio(版本2.3.3)嵌入讯飞语音功能时遇到了点问题,现分享讯飞语音功能的添加,以及出现问题的解决方案给大家,希望对大家有所帮助。本人小白一枚,文章中有讲的不对的,还请多多指教。 首先你应该去科大讯飞的开发平台:http://...原创 2017-10-10 09:42:19 · 547 阅读 · 1 评论 -
Tcp协议下使用Socket实现安卓编程(附源码)
话不多说,先上效果图。文末附下载地址。关于Tcp协议和Socket编程原理这里不细讲了,大家百度即可哈。接下来开始我们的讲解,具体意思注释已经写了哈,如有看不懂的可以加我qq2872960735,欢迎互相学习探讨:1、首先编写服务端代码:TcpServerThread.class 代码如下package TcpServer;import java.awt.Button;...原创 2019-06-12 10:55:18 · 1236 阅读 · 0 评论 -
安卓实现自定义View画时钟,并解决handler内存泄漏问题。
直接上效果图:具体代码如下:(注释已经写得很清楚了哈)package com.lenz.arouter.clearpwtest;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;i...原创 2019-06-05 15:34:10 · 1163 阅读 · 0 评论 -
用Fragment和ViewPager编写酷炫引导页。
话不多说直接上效果图: 为什么不使用第三方库Baaner来写这个引导页呢?因为产品那边的需求比较神奇(标题那里有个直角虚线),而且要适配平板(此demo里面没写,如有需要请联系我),所以只能通过Fragment加ViewPager来写引导页。...原创 2018-12-10 13:33:49 · 959 阅读 · 0 评论 -
Android实现简单的回调,让你更加了解Java的回调机制
Java中的回调机制概念这里就不多讲了,不清楚的可以去百度。接下来我通过一个安卓例子来讲解回调机制(当我点击按钮时,上面的TextView字体改变了,下面的按钮里面的文字也跟着改变了)。效果看下图: 1、首先编写布局文件<?xml version="1.0...原创 2018-12-07 10:20:54 · 282 阅读 · 0 评论