- 博客(20)
- 收藏
- 关注
原创 Android 入门分享
什么是AndroidAndroid是基于Linux内核开发、主要以Java为开发语言的一个开源的操作系统,主要用于移动设备,如智能手机和平板电脑、可穿戴设备等,当然还有更多的领域使用到了Android系统,例如电视、机顶盒等为什么选用Linux内核Android的历史Android的架构1.Linux内核层android系统是基于Linux内核的,这一层为android设备的各种硬件提供了底层的驱动,如:显示驱动,音频驱动,照相机驱动等。2.系统运行库层这一层通过一些 C/.
2021-08-13 11:51:22
310
原创 Android 热更新 微信的tinker方案 腾讯的bugly集成
以前看到游戏的更新不需要直观看到下载安装就已经更新好了,觉得这个更新方案很NB,然后知道了热更新,但是也没有深究最近公司突然说需要热更新,不要安装也可以解决一些小bug。一、为什么需要热更新正常的流程是:新版本上线,发现问题或用户反馈bug,紧急修复,上线版本,用户重新安装。每次出现bug都要重新安装,这个会让客户奔溃,然后卸载的热修复流程:新版本上线,发现问题或用户反...
2019-12-18 13:51:23
349
原创 获取验证码 倒计时 CountDownTimer
项目中不可避免的要使用倒计时,之前会用之前一直使用Handler + Runnable来实现,但是自从发现CountDownTimer了后,发现CountDownTimer挺好用比如要做一个获取验证码的倒计时新建CountDownTimerUtils继承CountDownTimer重写onTick()这个是间隔时间内执行比如说设置1s执行一次 那么就1秒自己调用一次这个...
2019-10-10 14:54:30
195
原创 自定义EditText-带清除按钮
一个带清除按钮的输入框其实很简单,第一步是设置图标private void init() { // 获取EditText的DrawableRight,假如没有设置我们就使用默认的图片,获取图片的顺序是左上右下(0,1,2,3,) mLeftDrawble = getCompoundDrawables()[0]; if (mLeftDrawble == null)...
2019-10-10 14:22:35
478
原创 客户端无埋点异常监控-Android
目的 为了更好的拿到用户的操作数据,操作习惯,线上的错误日志,为了能在出现问题时能更快,更准的找到问题,解决问题收集方式 1.第一类是代码埋点 即在需要埋点的节点调用接口直接上传埋点数据,友盟、百度统计等第三方数据统计服务商大都采用这种方案 2.第二类是可视化埋点 即通过可视化工具配置采集...
2019-10-07 15:00:01
461
原创 客户端单元测试-Android
单元测试的作用为了使工作完成的更加轻松,设计更加的完善,减少调试的时间提高代码的质量。什么是单元测试单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。Android 端的单元测试什么是mvp -->区分mvc,mvp,mvvm关于单元测试对于单元...
2019-10-07 14:45:31
571
原创 Android mvc,mvp,mvvm模式记录
文章目的:(1)了解并区分MVC,MVP,MVVM。(2)知道这三种模式在Android中如何使用。mvcMVC,Model View Controller,是软件架构中最常见的一种框架,简单来说就是通过controller的控制去操作model层的数据,并且返回给view层展示,具体见下图工作原理:用户触发点击事件,View层发指令到Controller层,Cont...
2019-05-20 14:36:24
692
原创 vivo x7 SimpleDateFormat使用奔溃问题
突然有反馈说vivo x7 有奔溃,查看了日志发现报java.lang.IllegalArgumentException: Unknown pattern character 'Y'这个问题查看代码发现SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");试着把YYYY改为yyyySimpleDateForm...
2019-05-10 13:24:40
272
原创 TabLayout 的使用 更改下划线的长度,和一个奇葩的问题
使用 TabLayout 1.xml中添加布局<android.support.design.widget.TabLayout android:id="@+id/tab" android:layout_width="@dimen/x500" android:layout_height="@dimen/y100" android:layout_marg...
2018-11-19 11:22:54
697
原创 界面有Edittext时有些手机进入界面会自动弹出键盘,消除自动弹出键盘
消除自动弹出键盘在xml 的最外面的布局中加入2行代码android:focusable="true"android:focusableInTouchMode="true"
2018-06-19 10:16:47
2984
1
转载 java.math.Math类常用的常量和方法:
Math.PI 记录的圆周率Math.E记录e的常量Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.cos 余弦函数 Math.acos 反余弦函数Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数Math.toDegrees 弧度转化为角度 Math.toRadians 角度转化为弧度Math.ceil ...
2018-05-29 13:59:20
367
原创 Android 自定义View 刻度表
圆形刻度表 public class TestDialView extends View { private Context context; private int jindu = 60; //判断是否在改变 private boolean isDown; //写字的笔 private Paint paintText; //外圈笔 private...
2018-05-25 17:55:13
834
原创 自定义view的onMeasure方法 简单用法
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int height = getSize(100, heightMeasureSpec); ...
2018-05-25 14:37:29
210
原创 Android 自定义View 启动页面跳转按钮
看到过有个项目中,启动页面一张图片,右上角是一个圆形跳过,并且有一个逐渐缩小的圆弧首先,先画一个实心灰色圆,在中间画一个跳转字,在外边画一个圆弧 启动动画就设置圆弧的开始角度和结束角度public class JumpOverView extends View { private Context context; //写字画笔 private Paint paintText; ...
2018-05-25 14:04:36
891
原创 Android 跳转传值的方法
一般有三种方法1.startActivity ActivityA --> ActivityBActivityA中 Intent intent = new Intent(ActivityA.this,ActivityB.class);startActivity(intent);ActivityB中intent = getIntent();intent 传递数据 在A发送 intent.putE...
2018-05-21 15:14:07
2163
原创 Android Sqlite简单使用
1.新建一个SqlDBHelper类继承SQLiteOpenHelper用来创建数据库public class SqlDBHelper extends SQLiteOpenHelper { // 数据库名字 private static String name = "lsqTest.db"; // 版本 private static int version = 1; ...
2018-05-21 14:20:21
1164
原创 Tablayout 和 FrameLayout
有一个需求,在不点击Tablayout的tab做fragment的切换的时候,需要先removeOnTabSelecteListener(),再调用选择切换fragment的方法,切换后再条用AddOnTabSelecteListener(),否则切换fragment方法会执行2次,程序报错因为会重复添加fragment...
2018-04-28 13:44:52
1197
原创 TextView 加下划线 、 中划线
//中画线textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); // 设置中划线并加清晰 //下划线textView.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //取消设置的线textView.getPaint().setFlags...
2018-04-27 15:51:59
2256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人