Android开发
记录开发中经过的点点滴滴,每次都是自我的提升
池存祥
点点滴滴,都是自我的积累
github.com/ccx1
展开
-
Android-加载assets的html
记录一下.目录结构如下加载时file:////android_asset/h5/index.html如果是router是hash的, 使用file:////android_asset/h5/index.html#原创 2021-09-23 09:45:53 · 1226 阅读 · 0 评论 -
ADB 远程连接
首先需要将手机接入电脑并且需要打开usb调试然后输入adb tcpip 5555接下来就可以拔掉线输入adb connect ip:5555原创 2021-07-14 17:22:13 · 611 阅读 · 0 评论 -
android-剪切板使用
ClipboardManager clipboardManager= (ClipboardManager)getSystemService(CLIPBOARD_SERVICE); Toast.makeText(MainActivity.this,result,Toast.LENGTH_SHORT).show(); clipboardManager.setText(result);原创 2021-04-30 14:15:42 · 150 阅读 · 0 评论 -
android11-mail报错问题解决
今天把手机升级到andorid11 , 结果发送邮件不行了.在android 10以下的版本都是可以的晴天霹雳.报错信息, java.lang.VerifyError: Rejecting class com.sun.mail.handlers.text_plain that attempts to sub-type erroneous class com.sun.mail.handlers.handler_base (declaration of 'com.sun.mail.hand...原创 2021-04-30 10:48:52 · 2449 阅读 · 2 评论 -
android11 打开指定包名的app出现问题
今天想打开一个app, 结果怎么都打不开. 在其他机型都是可以的.解决方案在清单文件中 添加, 在<manifest>的下面<queries> <package android:name="需要打开的app包名" /></queries>打开app的代码, 需要传入需要打开的包名 PackageManager packageManager = mContext.getPackageManager.原创 2021-04-30 09:56:54 · 1552 阅读 · 1 评论 -
android-不跟随系统进行深色模式切换
网上说的设置AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);毫无作用正确是在styles.xml中添加<item name="android:forceDarkAllowed">false</item>...原创 2021-04-28 11:37:11 · 5450 阅读 · 11 评论 -
android 高德和百度的坐标互转以及跳转地图
跳转schema // 百度包名 public static final String BAIDU_MAP_PAK = "com.baidu.BaiduMap"; public static final String BAIDU_MAP_SCHEMA = "bdapp://map/direction?origin=%s,%s&destination=%s,%s&coord_type=bd09ll&sy=3&index=0&target=1原创 2021-04-22 11:34:48 · 4097 阅读 · 0 评论 -
android-webview加载本地资源,assets请求网络失败问题
webview是支持web html.可以在线加载和本地加载如果部署在本地提升加载速度的时候. 会出现超时.需要配置.贴上配置 webSettings.setJavaScriptEnabled(true); // init webview settings webSettings.setAllowContentAccess(true); webSettings.setDatabaseEnabled(true); webSet原创 2020-12-01 23:40:57 · 1110 阅读 · 0 评论 -
Android-Okhttp 拦截token过期跳转登录页面
碰到一个需求, 需要全局拦截掉登录信息. 但是, 每个请求里面都写, 有点丑.目标:1. 需要在拦截器里2. 需要获取到response的信息3. 需要返回不同的response.public class TokenInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request r.原创 2020-11-03 09:26:45 · 2002 阅读 · 0 评论 -
基于okhttp, 如何封装一个requestbody, 同样能在retrofit中使用
如何封装一个比较好的请求,减去每次请求的重新生成, json的构建.post, get的参数拼接采用了builder的建造者设计模式.简单化的做一个body的构建工厂.通过泛型.进行整合. protected final Map<String, Object> params = new HashMap<String, Object>(); protected final Map<String, String> header原创 2020-09-17 09:52:07 · 911 阅读 · 0 评论 -
As配置阿里镜像,实测可用,真香~
在开发中,涉及到很多资源下载。所以一般都需要外面的资源有时候又下载不了。所以需要配置一下镜像地址 maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }以下是我project下的build.gradle的配置// Top-level build file where you can add configuration options common to all sub原创 2020-07-30 08:45:32 · 1165 阅读 · 1 评论 -
Android-软键盘不顶起问题
项目用了单Activity结构,多Fragment,但是editText放入布局底部的时候,软键盘顶起,布局没有顶起。adjustResize也没有反应。最后选择adjustUnspecified顶起布局。Android 提供了 windowSoftInputMode 属性来控制输入法软键盘窗口和 Activity 主窗口的交互,分为 窗口尺寸调整系列 和 输入法软键盘显示控制系列。窗口尺寸调整系列:该系列参数用来控制当软键盘弹起时,Activity 主窗口的调整策略,因为如果不调.原创 2020-07-12 11:05:23 · 1538 阅读 · 1 评论 -
Android-adb推拉文件
adb拉文件,就是从手机上把文件拿过来adb pull 目标文件夹 输出文件夹例如:我要拉手机上的data下名字叫a.txt文件.adb pull data/a.txt ~/Download/adb推文件输入: adb push 电脑路径 手机存储路径 adb push /Users/xxxx/xxx.txt /sdcard/xxx...原创 2018-11-14 14:52:23 · 288 阅读 · 0 评论 -
Android-动态布局加载
动态布局核心.编译性布局.布局要求是已经编译好的,也就是下图所示.如何编译.先打包成apk.然后进行解压,就能获得编译后的资源文件. 通过xmlPullParser进行解析,主要是LayoutInflater中的第二个方法以及第四个方法.通过xmlPullParser解析进行.解析方法:注:其中解析的文件需要.xml.并且是编译完成的.我这边用了判断.如果没有.xml.则会自动...原创 2018-11-14 11:17:10 · 138 阅读 · 0 评论 -
Android-日常遭遇-帧动画oom处理篇
项目遭遇实现帧动画,我一开始想到的是直接通过animation-list将全部图片按顺序放入,并设置时间间隔和播放模式。然后将该drawable设置给ImageView,然后就可以了<?xml version="1.0" encoding="utf-8"?><animation-listxmlns:android="http://schemas.android.co...原创 2018-09-21 14:19:48 · 1298 阅读 · 3 评论 -
Android-工作遭遇-音量音频播放控制篇(1)
这一篇是主要是讲述音量控制以及短音频加载控制.通过MediaPlayer或者SoundPool进行短音频的播放.我这边采用了动态初始化的方式进行加载,也就是说,你放进去的音频会一直加载进去.并不会加载一次之后,便被销毁首先讲下SoundPool的封装使用方法.音量控制直接在AudioUtil中注:此类是不能监听播放完成回调. private AudioUtil.SoundPo...原创 2018-09-21 14:30:13 · 848 阅读 · 0 评论 -
Android-工作遭遇-Fragment管理篇
Fragment,简称碎片,是Android 3.0(API 11)提出的,为了兼容低版本,support-v4库中也开发了一套Fragment API,最低兼容Android 1.6。过去support-v4库是一个jar包,24.2.0版本开始,将support-v4库模块化为多个jar包,包含:support-fragment, support-ui, support-media-com...原创 2018-09-21 14:40:39 · 658 阅读 · 0 评论 -
Android-工作遭遇-如何在surfaceview中嵌套videoview
在工作的时候,surfaceview是一个相机的容器,当解析到关键的点的时候,surfaceview的下半部分会变成视频.进行视频的播放.或者图片的展示,而当我认为一切顺利的时候,surfaceview有一个覆盖问题,默认会在最上层.也就是视频播放失败,边框是有的,声音也是有的,但是.视频的画面无法展示.后来几经琢磨.发现setZOrderOnTop可以将video放在最上层,进行播放...原创 2018-09-21 14:47:25 · 729 阅读 · 0 评论 -
Android-工作遭遇-获取ip地址
工作需要获取到ip地址 public static String getIPAddress(Context context) { try { ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERV...原创 2018-09-21 14:51:26 · 234 阅读 · 0 评论 -
Android-工作遭遇-打造多线程响应式编程基础架子(Future)
在andorid里面,线程间的切换非常频繁.任何耗时的操作就会导致,这种rxjava就很顺势的出来了,结构简单,切换简单,随用随走.那么如果不会rxjava.似乎有handler通知方法,或者说runonuithread..多个线程之间的通知怎么办呢.这种时候.在java中就有一个类Future的使用就产生了.=-=老大说,不能用第三方,只能用原生.并且不能有跳出线程的地方.举个栗子:这个栗子...原创 2018-09-27 19:20:38 · 224 阅读 · 0 评论 -
Android-工作遭遇-URLConnection原生请求http和https忽略证书
Android网络请求框架非常多,github一搜就是一堆.我的博客就不讲这些,我就讲讲原生已经够用了.HttpURLConnection是Android提供的一个网络请求库,个人认为,还是蛮好用的.HttpsURLConnection是本身就继承自HttpURLConnection的类首先是忽略证书这一块.有些请求涉及到请求证书.加载证书似乎很麻烦.(不麻烦,我不想加载)首先需要...原创 2018-09-27 19:41:45 · 2674 阅读 · 0 评论 -
Android-工作遭遇-音视频播放控制篇(2)
此篇主要是讲Android的视频播放在android播放视频,无非就是videoview或者mediaplay.但是查看videoview的源码之后,发现.他也是基于mediaplay进行播放的.就决定自己封装一个mediaplay.用于日常使用.首先看下MediaPlay的介绍.我的另外一篇文章讲述到了音频的播放.Android-工作遭遇-音量音频播放控制篇(1)Andro...原创 2018-09-29 10:15:50 · 269 阅读 · 0 评论 -
Android-日常记录-单Activity多Fragment的优点.
遇到两次面试.面试官都是问单Activity多Fragment的好处是什么,为什么要采用这样的方式我查阅了比较多的,资料,整理了一下,仅供参考.切换方便,fragment俗称碎片化,可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI, 非常灵活,可以轻松得创建动态灵活的UI设计,可以适应于不同的屏幕尺寸。从手机到平板电脑. 为什么不用activity,...原创 2018-09-29 16:29:57 · 3893 阅读 · 3 评论 -
记录mac下反编译Android工具
apktoolhttps://ibotpeaches.github.io/Apktool/install/ 1.先新建一个sh脚本 ,这里可以用mac的命令行.还 是很方便的,touch apktool.sh@echo offif "%PATH_BASE%" == "" set PATH_BASE=%PATH%set PATH=%CD%;%PATH_BASE%;chcp 6...原创 2018-10-08 16:33:32 · 396 阅读 · 0 评论 -
Android-执行命令行脚本
方式一:Runtime.getRuntime().exec(cmd);方式二:先是放入一个String数组,空格用,号代替,将cmd填入.涉及到静默安装的,这里需要root权限 String[] args = {"pm", "install", "-t", "-r", apkPath, "--user", "0"}; exeCmdArg原创 2018-10-08 17:39:12 · 1718 阅读 · 0 评论 -
Android-在app内安装apk
先看下android7.0以下的安装代码. Intent intent = new Intent("android.intent.action.VIEW"); intent.putExtra("name", ""); Uri data = Uri.fromFile(file); intent.set...原创 2018-10-08 18:10:37 · 3474 阅读 · 3 评论 -
Android-从0开始集成编译zbar到能光速扫出二维码
前几天在群里吹牛逼,说到微信的扫码怎么怎么吊.怎么怎么厉害..当时一阵不服气.决定自己封装扫码器,后来搜了下,市场上大多数都是zxing和zbar.然后c语言我又不会,只能去封装zxing.后来工作没事情做,正好抽时间补了一下,把zbar给封装一编,做出一个最简单的扫码器.微信扫码是真的快,爱奇艺也是,不过我反编译看了下,他们用的满多jni还有都是zxing.以下是我封装zbar地...原创 2018-10-12 16:01:48 · 2029 阅读 · 0 评论 -
Android-编译ijkplayer到播放视频再到可以直播拉流
编译ijkplayer一 、 准备工作首先先去github上先吧ijkplayer工程拉下来.进行编译.ijkplayer下载地址编译ijkplayer需要ndk.所以需要下载ndk.并且需要配置ndk的环境变量.ndk下载地址然后打开git命令行工具.切换ijkplayer最新版本,可以去tag里面进行查看git checkout -B latest k0.8.8...原创 2018-10-22 14:50:00 · 3000 阅读 · 2 评论