
Android
Android
sunywz
这个作者很懒,什么都没留下…
展开
-
Android自定义Timer实现发送手机验证码倒计时
Android自定义Timer实现发送手机验证码倒计时,继承自CountDownTimer来实现该功能。public class TimeCount extends CountDownTimer { private TextView textView; //参数依次为总时长和计时的时间间隔 //写死倒计时结束是60s,即:millisInFuture = 60000 //间隔为1s,即:countDownInterval = 1000 public TimeCo原创 2020-09-03 17:23:37 · 302 阅读 · 0 评论 -
Android Kotlin ARouter组件化构建项目
远古应用: App(一堆的代码)远古应用升级版: App + Base(抽取通用代码)远古应用Pro: App + Base + lib(lib_log,lib_network,lib_map)MVCMVP (MVC升级版本) m(data) v(ui) p(impl)->逻辑组件化 App + (N + Module(App)) - N Library如何动态构建组件化?AppModule 笑话 地图 星座 语音设置 系统设置 天气 应用管理 开发者模式lib lib_base l原创 2020-08-24 19:36:57 · 332 阅读 · 0 评论 -
Android动态添加删除recycleview并动态保存recycleview中的的数据
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <inc.原创 2020-08-24 19:23:05 · 1271 阅读 · 0 评论 -
Kotlin Gradle DSL统一构建脚本
使用Kotlin编写settings.gradle.kts将工程根目录的settings.gradle改为settings.gradle.kts并修改相应的属性include(":module_weather")include(":module_voice_setting")include(":module_setting")include(":module_joke")include(":module_developer")include(":module_constellation")i原创 2020-08-24 19:18:34 · 1053 阅读 · 0 评论 -
win7安装flutter 无法将“Unblock-File”项识别为 cmdlet
无法将“Unblock-File”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后重试。所在位置 行:1 字符: 13Unblock-File <<<< -Path 'D:\flutter\flutter/bin/internal/update_dart_sdk.ps1'; & ‘D:\flutter\flutter/bin/internal/update_dart_sdk.ps1’Category原创 2020-07-09 16:50:22 · 1058 阅读 · 0 评论 -
compileOnly的使用场景
运行时不需要,例如仅源代码注解或注释处理器;编译时仅需要其API,但具体实现由别的module实现所以 compileOnly经常用于解决依赖冲突等问题,一般第三方库中,比较常用的依赖,如support、gson、Eventbus等等。作者:格外吉尔链接:https://www.jianshu.com/p/825004db000c来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...转载 2020-07-08 11:48:06 · 737 阅读 · 0 评论 -
ADB脚本一键安装安卓(Android)应用到/system/app目录
将脚本与安装包放置在同目录下,编写以下脚本set frameworkdir=%~dp0adb rootping -n 3 127.0.0.1>nulpauseadb remountadb push %frameworkdir%ZService-ANDR.apk /system/apppauseadb rebootadb push %frameworkdir%改成你的应用名称.apk /system/app...原创 2020-06-20 08:33:44 · 1165 阅读 · 0 评论 -
Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别
一个帖子的整理:Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别如果你不带参数的实例化:Handler handler = new Handler();那么这个会默认用当前线程的looper一般而言,如果你的Handler是要来刷新操作UI的,那么就需要在主线程下跑。情况:1.要刷新UI,handler要用到主线程的looper。那么在主线程 Handler handler = new Handler()转载 2020-06-11 09:07:02 · 552 阅读 · 0 评论 -
遍历比较两个ArrayList HashMap并删除指定键值对
需求如下:数据结构为:ArrayList<HashMap<String, Object>>1:[{nodeID=1,scenestate=0},{nodeID=2,scenestate=0}]2:[{add=add}]1和2对比,如果在2中查找,找不到和1相等的元素,就删除1中scenestate的键值对最终结果应该为:[{nodeID=1},{nodeID=2}]代码实现如下: List<HashMap<String, Object>> c原创 2020-06-20 08:34:41 · 387 阅读 · 0 评论 -
Android TV开发|遥控器点击时更改按钮字体颜色
实现需求如下:遥控器点击时更改按钮字体颜色声明变量private int wihtebtnid = 0;private int[] btnInt = { R.id.setroom, R.id.assoication, R.id.comfiguration, R.id.switchimage, R.id.routeinfor, R.id.routeset };private Button[] setBtn = { setroom, Asso, comfig, simg, routeinfor原创 2020-05-27 16:57:39 · 549 阅读 · 0 评论 -
Android TV开发|AlertDialog+listview实现Spinner遥控器选择时有背景色
由于最近接触Android TV开发,项目版本较为老旧,为了更改遥控器选择spinner时的背景颜色,效果不大理想,改用弹窗+listview实现。主要核心代码如下:LayoutInflater LayoutInflater = (LayoutInflater) DevKzSetActivity.this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View customdialog2view = LayoutInflate原创 2020-05-27 16:47:50 · 525 阅读 · 0 评论 -
崩溃异常|BluetoothLeScanner.startScan(android.bluetooth.le.ScanCallback)' on a null object reference
java.lang.RuntimeException:Unable to start activity ComponentInfo{com.ywz.meet/com.ywz.meet.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.bluetooth.le.B...原创 2020-05-04 22:41:25 · 1727 阅读 · 0 评论 -
Android10 BLE蓝牙4.0扫描不到设备
在Android 6.0及以上版本中开启蓝牙扫描后扫描不到数据问题在Android 6.0之前的版本中能够完美运行,但换到Android 6.0 及以上系统的手机运行时搜索不到数据。这是因为在Android 6.0及以上系统中低功耗蓝牙添加了距离检测功能,所以扫描时需要开启定位功能权限,在更高版本中甚至需要开启精准定位权限 <uses-permission android:nam...原创 2020-05-04 17:04:53 · 3020 阅读 · 0 评论 -
关于android中postDelayed方法的讲解
这是一种可以创建多线程消息的函数使用方法:1,首先创建一个Handler对象Handler handler=new Handler();2,然后创建一个Runnable对象Runnable runnable=new Runnable(){ @Override public void run() { ...转载 2020-05-01 15:24:13 · 483 阅读 · 0 评论 -
Android文字基线Baseline算法的使用讲解
引言Baseline是文字绘制时所参照的基准线,只有先确定了Baseline的位置,我们才能准确的将文字绘制在我们想要的位置上。Baseline的概念在我们使用TextView等系统控件直接设置文字内容时是用不到的,但是如果我们想要在Canvas画布上面绘制文字时,Baseline的概念就必不可少了。我们先了解一下Android中Canvas画布绘制文字的方法,如下图:参数示意:tex...原创 2020-04-30 15:29:23 · 933 阅读 · 0 评论 -
01.自定义View入门——onMeasure,onDraw,自定义属性
1.自定义View简介自定义View可以认为继承自View,系统没有的效果(ImageView,TextView,Button), extends View , extends ViewGroup2.onMeasure()// 获取宽高的模式int widthMode = MeasureSpec.getMode(widthMeasureSpec); // 获取前两位int heightM...原创 2020-04-29 15:56:13 · 349 阅读 · 0 评论 -
为什么Android要用Binder通信
原创 2020-04-29 15:50:26 · 372 阅读 · 0 评论 -
android handler 的removeMessages的使用
今天,简单讲讲android里如何使用handler的removeMessages函数。这个很简单,之前自己也一致在使用,所以这里记录一下。具体的如下:removeMessages会将handler对应message queue里的消息清空,如果带了int参数则是对应的消息清空。队列里面没有消息则handler会不工作,但不表示handler会停止。当队列中有新的消息进来以后handler还...转载 2020-04-25 23:10:05 · 1608 阅读 · 0 评论 -
Android Activity生命周期
1.流程图2.部署流程定义3.启动流程实例 说明: 1)操作数据库的act_ru_execution表,如果是用户任务节点,同时也会在act_ru_task添加一条记录查询我的个人任务说明: 1)因为是任务查询,所以从processEngine中应该得到TaskService 2)使用TaskService获取到任务查询对象TaskQuery 3)为查询对象添加查询过滤条件,使用taskA原创 2017-06-04 21:55:34 · 3375 阅读 · 0 评论 -
Android怎么保证service不被杀死
1.知识点回顾2.系统登录(Session)public Employee findEmployeeByName(String name) { String hql = "from Employee o where o.name=?"; List<Employee> list = this.getHibernateTemplate().find(hql, name);原创 2017-06-06 20:35:44 · 1074 阅读 · 1 评论 -
Android广播的两种注册方法有什么区别
8.请假单业务的编辑保存和删除 删除属于简单操作,不写入博客了。9.申请请假(启动流程实例)10.查找正在执行的个人任务列表11.使用类动态指定下一个任务的办理人day41.办理任务(获取任务节点form key中的值)原创 2017-07-10 09:22:57 · 1153 阅读 · 0 评论 -
Android布局中padding和margin的区别
1.新建maven项目,搜索webapp2.pomhttps://mvnrepository.com/<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</sco原创 2017-08-30 02:33:49 · 390 阅读 · 0 评论 -
Android开发 一般工厂模式实践
根据meta-data创建用户想要的播放器,在App的AndroidManifest.xml中配置元数据 <!--播放器配置信息--> <meta-data android:name="playertype" android:value="2" />此Module为播放器IPlay...原创 2020-03-22 20:44:50 · 197 阅读 · 0 评论 -
startService和bindService
https://jingyan.baidu.com/article/84b4f56598d88b60f7da3272.html原创 2017-06-02 11:41:31 · 693 阅读 · 0 评论 -
IntentService和Service区别
1.nginx安装环境nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ PCREPCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达转载 2017-06-18 21:54:21 · 4124 阅读 · 0 评论 -
Android-MVP中介者模式
#include <cstdio>#include <cstring>const int maxn=256;bool judeg(char str[]){int len=strlen(str); for (int i = 0; i < len / 2; i++) { //i枚举字符串的前一半 if (str[i] != str[len - 1 - i]) {//如果对原创 2017-11-19 00:01:10 · 448 阅读 · 0 评论 -
Android自定义View-点赞动画效果View-Demo
#include <cstdio>#include <cstring>int main() { char str[90]; gets(str); int len = strlen(str), r = 0, h = 0;//r为行,h为列 char ans[90][90];//ans[0]-ans[r]存放单词 for (int i = 0; i < len;原创 2017-11-19 00:37:19 · 642 阅读 · 0 评论 -
IPC-AIDL简单入门Demo
我这边是换了一个镜像就好了,具体操作步骤如下(我是MAC):~:mkdir .pip~:cd .pip ~:vi pip.conf 将以下内容放入文件pip.conf中 [global] timeout = 6000 index-url = http://pypi.douban.com/simple/ [install] use-mirrors = true mirror...原创 2018-05-11 15:22:05 · 6390 阅读 · 0 评论 -
Android安卓apk反编译for macOS
测试环境: GP5.25 , fjs版本2.32,解析json所需要的jar依赖包 (PS: 如果没有记错是fjs2.32版本及以上才支持java bridge,所以GP 5.25以下的同学就不要用这种方式去测试)测试内容: 利用此fjs版本对java bridge的支持,实现4gl调用WEB API,实现json传递测试步骤如下:1.下载本次测试需要的jar依赖包,百度搜索就有 “Java...原创 2019-08-06 09:19:30 · 235 阅读 · 0 评论 -
Android View截图之DrawingCache的使用
1、Program stopped at ‘cin_aint340.4gl’, line number 1121.FORMS statement error number -1338.The function ‘cl_exe_rep’ has not been defined in any module in the program.解决办法:1、做报表打印格式时,在azzi988里面添加报...原创 2019-07-25 14:47:09 · 918 阅读 · 1 评论 -
即时通讯App|发送图片消息的实现
即时通讯App——发送图片消息的实现前置知识:1、onActivityResult()的用法假如有两个Activity A,B。如今需要从A的界面跳转到B的界面执行相应的操作。操作执行完毕之后,从B的界面跳转回A的界面,或许还会返回一些数据交给A处理,这样的数据交流可以利用回调函数onActivityResult()实现。业务流程1、读取相机/相册图片2、发送图片消息3、photo...原创 2020-02-29 23:18:29 · 2035 阅读 · 0 评论 -
Android自定义注解实现View绑定
重要概念:元注解、@Retention、@Target。元注解: 元注解是一种基本注解,但是它能够应用到其它的注解上面。@Retention:注解的保留期RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。RetentionPolic...原创 2020-02-19 00:10:20 · 375 阅读 · 0 评论 -
Android Jetpack基础——Navigation
实现效果如图Navigation:有三个主要的部分:Navigation graph:也就是Navigatation的xml文件,包含所有的需要跳转的目标NavHost:一个容器,用于显示NavController:控制跳转流程具体实现新建两个Fragment,HomeFragment和DetailFragment。在Activity xml中为Fragment添加NavHost...原创 2020-01-07 21:06:19 · 282 阅读 · 0 评论 -
Android自定义进度条的简单使用
实现如图所示:代码如下:1、SimpleView2package com.example.testdialog;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Canvas;import android.graphics.Color;impo...原创 2019-11-07 10:51:44 · 871 阅读 · 0 评论 -
使用ProgressBar实现进度条
MainActivity.javapackage com.imooc.android_progressbar;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.app.ProgressDialog;import android.content.原创 2017-02-10 13:13:13 · 2057 阅读 · 0 评论 -
RadioGroup
1、设置监听器时implements onCheckChangeListener 导入包选择 android.widget.radioGroup下的接口!! 2、哪个按钮被选中?在方法中设置参数checkId public void onCheckChanged(RadioGroup, int checkId){ switch(checkId){ case R.id.radio0: Lo原创 2017-01-19 18:29:44 · 406 阅读 · 0 评论 -
ToggleButton
toggleButton用法: 2.在MainActivity中对控件进行操作 a.初始化控件。(findViewById方法) b.对toggleButton控件进行监听。(tb.setOnCheckedChangeListener方法) c.检测到toggleButon的状态发生改变时,改变背景图片。(img.setBackgroundResource方法) 给Tog原创 2017-01-19 17:03:47 · 470 阅读 · 0 评论 -
MultiAutoCompleteTextView
MultiAntoCompleteTextView在MainActivity中的实现 1.初始化控件 2.设置适配器 3.初始化数据源 4.将MultiAutoCompleteTextView控件和适配器联系起来 5.设置控件的分隔符<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2017-01-19 16:21:51 · 819 阅读 · 0 评论 -
AutoCompleteTextView
1.在activity中初始化控件AutoCompleteTextView 2.设置数据源String[] res ={” “,” “,” “,” “}; 3.设置适配器,ArrayAdapter (this,android.R.layout.simple_list_item_1,res) 4.将适配器和控件绑定 acTextView.setAdapter(adapter)<Relativ原创 2017-01-19 12:54:22 · 335 阅读 · 0 评论 -
android实现跑马灯效果
实现跑马灯效果 1、定义textView标签的4个属性:android:singleLine=”true”//使其只能单行android:ellipsize=”marquee”//去掉省略号android:focusable = “true”//使其循环android : focusableInTouchMode = “true”2、自定义类继承TextView:实现三个构造函数;复写isfocu原创 2017-01-19 11:41:24 · 385 阅读 · 0 评论