- 博客(84)
- 资源 (6)
- 收藏
- 关注
原创 【Docker容器中安装android打包环境】
Docker容器中安装android打包环境安装JDK11(前提有个linux的服务器,然后有安装好的docker环境)安装Gradle下载gradle-7.0.2-all.zip安装解压zip的工具(先apt-get update 然后apt-get install unzip 然后unzip xxx.zip)解压然后配置环境变量,用Gridle -v 查看版本号,环境变量配置参考jdk和[这个文章的环境变量],只能参考不能完全抄袭(https://www.10qianwan.com/articlede
2022-03-09 16:48:42
7256
原创 android 当页面很卡顿时,查看卡住的进程找到是哪个方法卡顿
1.打开C:\Users\Orion\AppData\Local\Android\Sdk\tools目录找到emulator 点击打开2、找到我们要调试的进程,我们这边是桌面卡顿,图如下:第三步弹框选中1秒内1000个样本,下面的是所有的样本,所有的会很耗时。第四步点击ok后然后滑动屏幕我们觉得卡顿的页面,然后点击我圈住的按钮,就会出如下图第五步:分析,android里面卡段时间长了就会...
2019-04-17 13:24:10
1559
原创 android 内存泄漏查找
前提:一般在日志中看到如下信息基本上就是内存泄漏了,然后需要知道是哪个应用第一步:找到内存泄漏的机器连上电脑。第二步:输入命令找到进程号:adb shell top -d 1 -m 10,我这里是lancher泄漏,找到进程号是1025第三步: adb shell dumpsys meminfo xx.xx.launcher 查看这个应用下当前有多少个activity,可以确定这里有15个...
2019-04-02 21:53:21
550
原创 android 混淆后的代码还原
需求:有崩溃日志但是由于是release的包的代码已被混淆,因此还原,方便查看日志定位问题。https://blog.youkuaiyun.com/u010052279/article/details/72625911cd C:\Users\Orion\AppData\Local\Android\Sdk\tools\proguard\binretrace.bat -verbose mapping.tx...
2019-02-21 16:29:58
2409
原创 git 常用命令笔记
1、配置git邮箱git config –global user.email “123424325435@qq.com”2、拉取dev分支的代码dev git clone -b dev http://130.650.24.230/Test3、删除本地分支dev_1.2.1git branch -D dev_1.2.14、修改最后一次提交的commit信息git commit --am...
2019-02-21 15:58:46
342
原创 常用ADB命令
adb shell am broadcast -a com.efrobot.robot.dispath.asr.event –es question_string “开启超声波标定” –es mode_string “ULTRASONIC_CALIBRATION”adb shell am force-stop com.efrobot.guest...
2018-08-13 10:53:52
442
原创 Activity 启动流程至view绘制到屏幕显示
Activity 启动 至 view绘制 至 屏幕显示实际效果:Activity冷启动的时候会闪黑屏,就是A启动B,这个过程中会闪黑屏,虽然网上说可以设置一个闪屏页,中间有个过渡效果,或者设置B为透明主题,这样在启动的时候就看不到黑屏了。只是感觉启动B的这个过程漫长而已,又比如说你从桌面启动A,你把A设为透明,你就会感觉你点击A之后半天没反应没启动起来,实际是有反应的哇,因为你设置的透明,所以...
2018-05-08 18:06:13
2584
1
原创 Volley工具类
2015年做安卓的时候采用的网络框架是Volley,当初写了一个工具类,现在用的是自己封装的okhttp,现在把以前的工具类做个笔记。import java.io.UnsupportedEncodingException;import java.util.Map;import org.json.JSONException;import org.json.JSONObject;import and
2018-01-02 10:39:08
385
原创 ExpandableListAdapter
package com.hitheone.theone.adapter;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.drawable.Drawable;import android.support.v4.content.ContextCompat;i
2017-12-27 11:41:14
394
原创 等待进度条---三个圆点一排间隔放大缩小动画
public class ProgressUtils { View dialogview; private ImageView iamge1,iamge2,iamge3; Dialog progress ; public ProgressUtils(Context context){ progress = new Dialog(context,R.st
2017-12-27 10:55:53
1743
原创 NumberPicker的使用简记
layoutnumber= LayoutInflater.from(mContext).inflate(R.layout.numblerchoice,null); xNumberPicker=(NumberPicker)layoutnumber.findViewById(R.id.xNumberPicker); yNumberPicker=(NumberPicker)
2017-12-26 10:56:12
470
原创 短信验证码倒计时
private int recLen = 60; //倒计时 private void sendtime() { // 发送验证码按钮的倒计时设置 if (recLen > 0) { final Timer timer = new Timer(); TimerTask task = null;
2017-12-25 17:32:28
240
原创 EditText 回车键确认键按下事件监听
rl_search.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) { // TODO
2017-12-25 16:56:42
2904
原创 用一个RecyclerView 搞定所有布局
当遇到一个列表,有时候一行中有一列,有时候一行中有三列这种布局时可使用如下方法: goodlist=(RecyclerView)view.findViewById(R.id.recyclerview); final GridLayoutManager gridManager = new GridLayoutManager(mContext,2); gridManag
2017-12-25 15:14:03
388
原创 滑动的banner,广告栏
这里只做文字的记录,以后若在出现此需求直接复制粘贴就好,不用重新写了^_^! private LinearLayout point_group; private ViewPager view_banner; private ArrayList<View> point_list = new ArrayList<View>(); private ArrayList<View> bannerL
2017-12-25 10:31:21
492
原创 RecyclerView,ExpandableListView添加底部上拉刷新
RecyclerView添加滑动事件的监听来处理上拉刷新 recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { boolean isScrolledBottom = true; @Override public void onScroll
2017-12-25 09:59:24
689
1
原创 android之单元测试
android之单元测试之所以写单元测试文章是怕自己学的东西忘了,因为我已经在开始遗忘了,一个人做任何事情都是有理由的,吃饭是为了活着,喜欢一个人是因为他的某方面打动了我,所以事出必有因,但不排除任何事都是有两面的,说不定我刚说的话也是不全面不对的,只是暂时我是相信它的,废话不多说,先记录:为什么要做单元测试 刚开始老大让我去看单元测试相关的文章,我连单元测试是啥都不知道,不过我记得在大学时学测
2017-11-14 11:20:28
852
原创 adb 操作数据库修改某字段的值
adb 操作数据库修改某字段的值需求源自生活,我一某硬件想刷机成不成的操作系统版本,要想无限制刷就必须在服务器那边加入白名单,服务器的人可牛逼了,让我发邮件,抄送给老大上司,此刻我心里是一万头cnm,心想只不过就是加一下白名单而已,靠,而且还是公司的机器人加白名单也只是为了工作发邮件通知老大那岂不是严重了,本人就是不想求人,于是直接改本地数据库,因为无后台这个id就得自己解决了,修改源码,这样可以无
2017-07-13 10:48:32
2113
原创 java注解的使用方法
java注解的使用方法注解在用的时候其实也用到了反射,学习源自于工作,需求如下:机器人有各种监听,比如头部监听,翅膀监听等等各种监听,当机器人处于学习英语状态的时候,拍头事件发生,这个时候就需要中断,基于这个封装了一个类似android系统的touch事件分发的框架来处理事件,其中用到注解的是,学英语类中有一个方法加了@head_key注解的话代表着学英语状态关注头部事件,这时候就给它分发头部事件。
2017-03-14 16:30:58
715
原创 android艺术开发探索之RemoteViews跨进程更新UI
android艺术开发探索之RemoteViews跨进程更新UIRemoteViews表示的是一个view结构,它提供了一组基础的操作用于跨进程更新它的界面,常见的应用场景是通知栏和桌面小部件。在学习它之前我们先了解PendingIntent。PendingIntentPendingIntent表示一种处于pending状态的意图,是在将来的某个不确定的时刻发生,而Intent是立刻发生,Pendi
2016-11-28 16:35:15
2155
原创 android艺术开发探索之jni,NDK开发
android艺术开发探索之jni,NDK开发应用场景: 比如我们公司的机器人,上位机是一个平板,下位机是就是各种电路板,平板上发指令让机器人前进,那么下位机收到指令后就控制机器人前进,下位机的算法是专门的ai工程师写的,用c或者c++,上位机是由我们这些android工程师写的,用的java,如何用java的方法去调用他们写的底层算法,这之间之间的沟通就用到了jni,是他们提供了一些本地接口
2016-11-24 14:34:35
459
原创 android 艺术开发探索之View的事件体系
View的事件体系View概念:view是界面层的控件的一种抽象,ViewGroup就是一组view,viewgroup继承于view,常见的view有button,viewgroup有L inearlayout,不能套的就是view,能套的就是viewgroup.View的坐标系view的相对父容器坐标:top(左上角纵坐标getTop())、left(左上角横坐标getLeft())、righ
2016-11-21 15:59:37
365
原创 图解HTTP笔记之第十一章:WEB的攻击技术
WEB的攻击技术心情不太好,所以咯,这里不想再详细的写了,只是写几个标题,如果真的要攻击别人的网站,还是找专门的黑客相关的书籍吧,这里只 做了解,知道就好:因输出值转义不完全引发的安全漏洞1.跨站脚步攻击. 2.SQL注入攻击. 3.os命令注入攻击. 4.http首部注入攻击. 5.邮件首部注入攻击. 6.目录遍历攻击. 7.远程文件包含漏洞.因设置或设计
2016-11-15 11:32:24
449
原创 图解HTTP笔记之第九章:HTTP瓶颈以及解决方法之websocket
HTTP瓶颈以及解决方法之websocketHTTP的瓶颈就是:HTTP协议的性能受到限制,web页面加载时间过长,实时更新大量的数据无法妥善处理,但由于全球已经有很多的浏 览器都是基于HTTP协议,所以无法完全抛弃HTTP,因此产生了很多基于HTTP的协议的新协议,添加了新功能。 瓶颈详细化描述有如下几点: 1.一条连接上只可发送一个请求。 2.请求只能从客户端开始。客户端
2016-11-15 10:32:37
3553
原创 图解HTTP笔记之第八章:确认访问用户身份的认证
确认访问用户身份的认证需求:当某网站只想要特定人员访问时,就涉及到了身份的认证,下面介绍认证机制: HTTP使用的认证方式: * BASIC认证(基本认证)* 比较像那个登录远程服务器的时候或者svn的时候,在浏览器上输入一个网址就会让你输入用户名的那种 * DIGEST认证(摘要认证) * 如果要查看Request-Digest计算规则,可查看RFC2617
2016-11-14 17:50:59
446
原创 图解HTTP笔记之第七章:HTTP缺点和HTTPS
HTTP缺点和HTTPS倒霉的我吧体检手册弄不见了,哎,倒霉,不说了,写笔记,Http缺点如下:通信使用明文(不加密),内容可能会被窃听 TCP/IP协议族分别属于传输层和网络层,由于它们的工作性质导致通信内容在所有的通信线路上都会遭遇到窥视,不管是加密的还是不加密的,都有可能被窃取,只是加密的可能让人无法破解报文信息的含义。常用的抓包工具比如wireshark.解决方法就是把通信加密或者把内
2016-11-14 14:11:44
578
原创 图解HTTP笔记之第五章:代理、网关,隧道
相同的ip地址下,由于虚拟主机可以寄存多个不同主机名和域名的web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URL。代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端中间人的角色。它不改变请求的URL,代理服务器分为缓存代理,透明代理和非透明代理。缓存代理会预先把资源的副本保存在代理服务器上。转发请求或响应的时候,不对报文做任何加工的代理被称为透明代理反之为
2016-11-10 17:34:43
2353
原创 图解HTTP笔记之第四章:HTTP状态码
图解HTTP笔记之第四章:HTTP状态码今天心情很好,因为明天双十一,我不是败家两门,因为我没有就,嘿嘿^-^,第四章内容开始啦@—: 常见响应报文内状态码的含义200 请求被正常处理 204 请求处理成功但没有资源可返回,响应报文中不允许返回任何实体206 客户端进行范围请求,服务器成功执行了这部分的get请求。301 请求的资源已被分配了新的url,永久重定向
2016-11-10 14:26:26
379
原创 图解HTTP笔记之第三章:http的请求报文和响应报文
http的请求报文和响应报文心好累,人好困,早上差点迟到,还遇到一奇葩大妈,哎不说了,记笔记:客户端发送的报文称为请求报文,服务端响应的报文称为响应报文,报文的格式如下: 报文传输过程中会被编码然后压缩,报文是http的基本单位,报文主体等价于实体主体,但当实体主体的内容发生变化的时候就不等价了,常用的内容编码有下面几种,当传输的数据太大的时候,网页会半天显示不出来,于是产生了分块,分块传输编码会
2016-11-04 17:38:31
505
1
原创 图解HTTP笔记之第二章:简单的http协议
图解HTTP笔记之第二章:简单的http协议第二章笔记如下:在使用http协议通信时,同一通信线路必定有一端是客户端,有一端是服务端,请求访问文本资源的是客户端,提供资源响应的一端是服务端,服务端未接受到请求之前不会响应http是不保存状态的协议,协议对于发送过的请求和响应都不做持久化处理,因无状态导致一些问题,比如登录信息啥的,于是引入cookie技术如下 响应的报文基本上由协议的版本、状
2016-11-03 18:03:05
513
原创 android 混淆发布jar
android 混淆发布jar本篇记录自己发布支付sdk中的过程,防止以后忘记,首先现在有一个library的项目如下:第一步:开启混淆,在modle下的build.gradle里修改如下 第二步:在modle下的proguard-rules.pro文件中写入如下配置-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpub
2016-11-02 17:12:19
347
原创 图解HTTP笔记之第一章:了解web及网络基础
第一章:了解web及网络基础本姑凉喜欢边看书边划线,由于下载的pdf版本的,所以只能边看书边敲笔记了,如下,下次面试就可以扫一遍记住重要的就好了:使用http协议访问web,http即超文本传输协议,web基于此协议 网络基础TCP/IP协议族我们使用的网络和互联网是在tcp/ip协议族的基础上运作的,它包含http协议。 协议就是一种规则,商量好了有个规范去做某事。 TCP/IP协议族分为
2016-11-01 11:54:38
468
原创 aidl 另一种跨进程访问方式
最近在写一个类似支付宝的sdk,然后遇到问题了,支付包的支付过程就是:第三方集成支付宝sdk,然后第三方app唤起支付宝这个app,然后支付宝app付款,付完之后通知第三方app和第三方的服务器,这里面的问题就是,第三方app唤起支付宝app,两个app之间就是跨进程通信了,我需要把订单信息传到我们的钱包app里面并且还要唤醒它去支付,两个app之间数据共享可以用contentprovider,但这
2016-10-28 14:36:52
372
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人