移动端
Jonly_W
开发不动了,准备辞职回家送外卖,唉
展开
-
判断是否在线程中来更新UI
判断是否实在线程中 是的话切换切换 然后更新UIif (Looper.getMainLooper().getThread() != Thread.currentThread()) { runOnUiThread(new Runnable() { @Override public void run() { ..原创 2021-12-27 13:55:04 · 1163 阅读 · 0 评论 -
IllegalStateException 记录一个报错
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.如上 上面有报错信息 还有解决办法You need to use a Theme.AppCompat theme (or descendant) with this activity.把你的MainActivity 继承的 AppCompatActivity .原创 2021-12-22 16:50:15 · 1273 阅读 · 0 评论 -
List<String> list 去重
分享一个 List<String> list 集合去除重复数据的方法list=list.stream() .distinct() .collect(Collectors.toList());安全高效无痛苦 你值得拥有!原创 2021-12-21 14:41:40 · 1795 阅读 · 0 评论 -
Android 设置打包命名
//修改apk 的 文件名 applicationVariants.all { variant -> variant.outputs.all { output -> def date = new Date().format("yyyy_MM_dd_hh_mm", TimeZone.getTimeZone("GMT+08")) if (variant.buildType.name == "debug") { ...原创 2021-12-15 16:05:39 · 2321 阅读 · 0 评论 -
开发环境--》测试环境--》生产环境
开发环境(development):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告。(程序员接到需求后,开始写代码,开发,运行程序,看看程序有没有达到预期的功能;)测试环境(testing):一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产机上。(程序员开发完成后,交给测试部门全面的测试,看看所实现的功能有没有bug,测试人员会模拟各种操作情况;)生产环境(production):是指正式提供对外服务的,一般会原创 2021-12-09 14:25:45 · 233 阅读 · 0 评论 -
Android 代码获取sha1值
public static String sHA1(Context context) { try { PackageInfo info = context.getPackageManager().getPackageInfo( context.getPackageName(), PackageManager.GET_SIGNATURES); byte[] cert = info.signatur...原创 2021-12-07 14:54:20 · 460 阅读 · 0 评论 -
Android中RelativeLayout的常用位置设置属性
RelativeLayout常用位置设置原创 2021-11-19 10:29:54 · 1971 阅读 · 0 评论 -
JAVA 中的Iist 去重方法
1 循环list中的所有元素然后删除重复public static List removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ) { if (list.get(j原创 2021-11-12 13:39:04 · 243 阅读 · 0 评论 -
Android 获取位置信息(经纬度以及坐标)
首先第一步要添加权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 第二步是要获取权限因为咱们的6.0及以上的版本把这一类的权限定义为敏感权限/危险权限,所以在6.0之后我们要去动态去获取权限,这一步就省略了 ,如果还原创 2021-11-10 17:10:00 · 2301 阅读 · 1 评论 -
Android 获取设备开机时间
public static String getSystemStartupTime() { long time = System.currentTimeMillis() - SystemClock.elapsedRealtime(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1 = new Date(time); return ..原创 2021-11-10 16:52:54 · 3946 阅读 · 0 评论 -
Android 反射机制
最近在项目中遇到个小问题 简单来说就是Library的类中去获取 app中的数据(变量,公私,有参 无参构造方法),唉 思来想去没有找个解决办法 ,经过百度查找后 想起来以前的反射机制,奈何 反射机制的相关知识已经丢完了,只好又草草了解一下。接下来带大家来简单学习下 什么是反射,具体代码怎么写。什么是反射机制?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为..原创 2021-11-10 15:32:54 · 215 阅读 · 0 评论 -
可控制的循环使用
int r = 2;开始循环thread t = new thread();Thread c = new Control(t);t.setSleep(true);c.setDaemon(true);t.start();c.start(); /** * 循环上报司机信息 */ class thread extends Thread { private boolean isSleep = true; p.原创 2021-11-09 11:23:44 · 265 阅读 · 0 评论 -
阿里云 热更新EMAS / Hotfix 爬坑记录
废话不多说 什么优缺点 大家肯定已经比较过。如果不知道热更新是个啥 大家可以自行百度这个到没有贬低哪家的意思,现在做功能大家都想找个简单快捷的集成方式 所以还是决定听话不吃亏 哈哈哈在开始之前 我是遇到了一个问题 截止发文前 官方工单还没给我一个解决办法 在高版本上 打出来的包 无法进行生成补丁 一直会卡在构建 ,so 目前的办法是降低 版本 我的之前是7+的 后改到了 3+ 所以有用高版本的兄弟萌要注意下那么好 接下来就进入正式的爬坑之路,1 首先...原创 2021-10-26 17:54:39 · 1975 阅读 · 0 评论 -
Android开发之MQTT的使用
首先要了解MQTT是啥子东西? 之前从来没有听说过啊没办法,许多事情是不能等你准备就绪才可以去做的,生活就是这样,这狗JB生活,淦!这次就把刚做好的MQTT 使用的过程记录一下 分享给大家。如果对MQTT还不太熟悉的小伙伴可以先去百度下 了解下MQTT 是个什么东西。MQTT官网:http://mqtt.org/MQTT介绍:http://www.ibm.comMQTT Android github:https://github.com/eclipse/paho.mqtt.and..原创 2021-10-20 10:40:01 · 5445 阅读 · 0 评论 -
android 自定义view
在咱们的开发过程中 经常遇到要自定义view的需求自定义view有三种1.组合型的(今天就简单整理下)啥事组合型?就是把多个已有的view 组合到一起 成为一个新的控件来使用 比如TextView + ButtonView = 全新的控件 这样使用起来比较方便 可以复用2.继承型的 继承别的控件成为新的控件 这样既可以保留原有的的父类特性 又可以添加一些新的特性 也是常用的3.自绘控件 这种比较复杂点 因为里面的所有绘制逻辑和流程都需要自己来完成 先略过不说重点来讲讲...原创 2021-09-14 17:41:31 · 140 阅读 · 0 评论 -
android studio 各个历史版本下载
https://developer.android.google.cn/studio/archive#android-studio-3-0?utm_source=androiddevtools&utm_medium=website原创 2020-12-22 12:06:47 · 1266 阅读 · 0 评论 -
浅谈Android项目组件化架构
前言用android studio开发的同学应该都知道,androidstudio的架构是project-module形式,也就可以理解为一个项目由多个模块组成。在刚接触android studio时,它的这种架构引出了我一个想法------我们的app也可以使用这样的架构,一个app由多个模块组成,各个模块在自己的module包里。举个简单例子例如我有一个app,有几大模块:首页、视频、我,那么我们构建项目时,就可以分开三个module来构建这几大模块,而不是把这几大模块都放在一个module里面原创 2020-11-30 16:33:22 · 339 阅读 · 0 评论 -
Android中大小两种字体对齐 -- 实现上或者下对齐的解决方法
最近公司项目中,一般是显示一个小的 ¥ 然后一个大大的数字 并且底部对齐。但是在Android里面,TextView往往都是具有一定的空间剩余的,比如你一个TextView是16dp的字体大小,那它一般的高度会达到18~20dp,字体越大,这个数字差别就会越大。原来,这是Google为了显示上下标而给TextView预设的padding,用属性android:includeFontPadding即可设置,将这个属性设置为false即可去除padding(默认为...原创 2020-11-19 16:42:30 · 1720 阅读 · 0 评论 -
Android Mediaplayer+Surfaceview 实现背景循环播放视频
在项目开发过程中 遇到了一个需求 在login页面要做成动态视频背景的效果 简单的说就是背景做个10s视频播放 不可点击 没有进度条 循环播放 还不能影响其他的一些 功能需求 那么我的第一个想法就是RelativeLayout 布局 然后里面用 videoview 来实现 视频的播放 结果倒是实现了 但是效果差点意思 原来的视频尺寸是 宽》高的 结果全屏后直接压缩了 高》宽了 我先上两张图看效果 一个是修改前 二是修改后 额.......原创 2020-11-12 10:44:00 · 991 阅读 · 2 评论 -
类似banner效果 recyclerview item往左自动滚动 可设置速度和移动距离大小
首先自定义 AutoPollRecyclerView 继承 recyclerviewpublic class AutoPollRecyclerView extends RecyclerView { private static final long TIME_AUTO_POLL = 100; AutoPollTask autoPollTask; private boolean running; //标示是否正在自动轮询 private boolean canRun;/.原创 2020-11-11 16:18:09 · 446 阅读 · 1 评论 -
Android 发送短信验证倒计时60s
开发中经常能遇到发送验证码登录 绑定手机号的验证码获取功能 我大概先整理下整个流程 这样比较清晰明了 首先我们给用户展示的是一个 textview 来显示数据(更新的秒数) 还需要textview 来触发整个事件 onclick 先创建个CountDownTimer 再。。。 没几号代码 你们自己抄吧 贼鸡儿简单 CountDownTimer timer = new CountDownTimer(60 * 1000, 1000) { @Override public void.原创 2020-11-11 15:01:46 · 324 阅读 · 0 评论 -
Android 6.0 以上动态获取权限(亲测可用)
至从android6.0之后,权限在清单文件AndroidManifest.xml里面申明都没有作用了,所以今天如果开发每一款app,都需要动态获取权限,那么我们将怎么动态获取权限呢?下面我举个列子我们需要获取的权限有存储权限、电话权限、定位权限、相机权限。获取权限代码相对固定,复制粘贴就可以。只是贴出主要代码,大家注重思路即可。权限有些是在app内部调用相关功能的时候赋予权限,而有些是在一开始初始化就处理,我这里是后者1 AndroidManifest.xml 中直接声明所需权限...原创 2020-11-11 14:47:43 · 964 阅读 · 1 评论