Android

Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

2020-05-09
需求解读 由于定制rom给用户具体需求如下: 入工厂测试app自动打开adb调试模式,退出就关闭,防止客户的用户安装其它应用(直接通过改变Settings.Global.ADB_ENABLED字段) 打开usbdebug不提示弹出框 禁止调试图标出现在通知状态栏 过程分析 通过字段关闭和开启usb调试模式 通过开启开发者模式最终发现开启或者关闭是改变如下字段: Settings.Global.putInt(getContentResolver(),Settings.Global.ADB_ENAB

Andorid jar库源码Bolts原理解析

2020-05-08
Bolts: 作用: 用于链式执行跨线程代码,且传递数据 栗子: 复制代码 Task.call(new Callable<Boolean>() { @Override public Boolean call() throws Exception { return true; } }, Task.UI_THREAD_EXECUTOR); Task.callInBackground(new Callable<Boolean>() { @Override public Boolean c

Flutter 中 Dart的Mixin示例详解

2020-05-08
原文在这里.写的不错,推荐各位看原文. 这里补充一下Mixin的定义: 只要一个类是继承自Object的而且没有定义构造方法,那么这个类可以是一个Mixin了.当然,如果你想让mixin的定义更加的清晰,可以使用mixin关键字开头来定义.具体请参考这里 原文截图体会一下风格. 正文 在经典的面向对象编程语言里一定会有常规的类,抽象类和接口.当然,Dart也有它自己的接口,不过那是另外的文章要说的.有的时候阴影里潜伏者另外的野兽:Mixin!这是做什么的,如何使用?我们来一起发现. 没有mixi

android studio 3.6.1导入项目报错提示无法下载classpath里的内容

2020-05-06
报错: Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all artifacts for configuration ':classpath'. 原因: 百度说是无法下载classpath里的内容,具体不是很清楚 解决方法: 百度到了很多方法,单个尝试都解决不了,然后把解决方法结合 在bu

Flutter 系统是如何实现ExpansionPanelList的示例代码

2020-05-06
在了解ExpansionPanelList实现前,先来了解下MergeableMaterial,它展示多个MergeableMaterialItem组件,当子组件发生变化时,以动画的方式打开或者关闭子组件,MergeableMaterial的父控件需要在主轴方向是一个没有限制的控件,比如SingleChildScrollView.Row.Column等. 基本用法如下: SingleChildScrollView( child: MergeableMaterial( children: [ Ma

Android 自定义View实现多节点进度条功能

2020-05-05
前言 最近项目有一个节点进度条的小需求,完成后,想分享出来希望可以帮到有需要的同学. 真机效果图 自定义View完整代码 开箱即用~,注释已经炒鸡详细了 /** * @description: 节点进度条 * @author: DMingO * @date: 2020/4/15 */ public class PointProcessBar extends View { /** * 未选中时的连线画笔 */ private Paint mLinePaint; /** * 选中时的连线画笔 */

Flutter中mixin的使用详解

2020-05-05
mixin是什么 mixin应该怎么理解呢,对Java系出身的我来说,这是一个新概念,各类资料的介绍也没找到一个清晰的定义.从个人理解来看,可以把它想象为Kotlin中的接口(和Java的区别是可以带非抽象的属性和方法),而多个mixin可以相互覆盖以实现组合,提供了非常大的灵活性,也可以达到类似多重继承的效果. 页表页面 这是一个普通的展示数据,上拉加载更多数据的列表. 其中有一个类型为List<T>的数据列表listData,有个page数据用于分页,isLoading用来判断是否正在加载

Flutter 首页必用组件NestedScrollView的示例详解

2020-05-05
昨天Flutter 1.17版本重磅发布,新的版本主要是优化性能.修复bug,有人觉得此版本毫无亮点,但也从另一方面体现了Flutter目前针对移动端已经较为完善,想了解具体内容,文末有链接,如果你想升级到最新版本,建议慎重,有些人升级后项目无法运行. 今天介绍的组件是NestedScrollView,大部分的App首页都会用到这个组件. 可以在其内部嵌套其他滚动视图的滚动视图,其滚动位置是固有链接的. 在普通的ScrollView中, 如果有一个Sliver组件容纳了一个TabBarView,

AndroidStudio构建项目提示错误信息“unable to find valid certification”的完美解决方案

2020-05-04
手抖了一下,把AS升级到了最新版本,然后就悲剧了,公司的项目跑不起来,提示"unable to find valid certification",新建项目也是一样的提示.之前总结的解决方案都用了,没一个好使的,经过两个下午的折腾,终于还是被我整好了,感动的泪水都要流出来了 (╥╯^╰╥) 直接放我的最新解决方案,look~ 第一步:如下所示,在项目的build.gradle的两个repositories中添加阿里public镜像,最好放在google() 前面: buildscrip

Android Studio 实现将support库改成Androidx

2020-04-30
方法一:在IDE中Refactor栏选择 Migrate to Androidx 这个操作会提醒我们备份数据 方法二:修改gradle.properties,加入一下两行 android.useAndroidX=true android.enableJetifier=true 如果你有包名命名不规范的现象存在,可能会出现转化错误,需要你手动修改不规范的包名 补充知识:解决Android Studio无法导入android.support.v4.app.Fragment 运行别人的项目的时候代码中

AndroidStudio重新share代码和上传到svn新地址教程

2020-04-29
一.最近公司代码大整理,需要废除之前的svn代码服务器,把所有的代码规范整理上传到新的svn服务器上,而大家都知道studio上传代码前有一个share步骤,然后再是import. 而我也试了网上的一些方法,发现都是不行的,现在将我的方法整理出来给大家. 1.网上贴出的第一个方法:右击工程选择"subversion"->"Reloacate",这种方法也是不行的. 2.网上贴出的第二种方法:找到项目根目录下的".idea"->&quo

Android studio 禁用AndroidX方式

2020-04-28
gradle.properties文件中添加 android.useAndroidX=false #禁用AndroidX android.enableJetifier=false #禁止第三方jar包使用androidX 补充知识:解决Android Studio androidx 包冲突问题 如果包冲突了会包如下这样的错: Android dependency 'androidx.core:core' has different version for the compile (1.0.0)

浅析Android加载字体包及封装的方法

2020-04-28
TextView加载字体包 在 Android 中,若需要使得某个TextView加载字体包,使用以下方式即可: Typeface typeFace =Typeface.createFromAsset(getAssets(),"fonts/Bold.otf"); textView.setTypeface(typeFace); 至于字体包的位置: 通过以上方法,可以使得一个TextView加载某种字体包,但是,还有这种需求: 部分TextView加载字体包 每个TextView加载的字体

Flutter 透明状态栏及字体颜色的设置方法

2020-04-28
注:底色透明是否生效与android版本有关,版本过低设置无效 1.在main.dart内设置 void main(){ runApp(new MyApp()); if (Platform.isAndroid) { //设置Android头部的导航栏透明 SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle( statusBarColor: Colors.transparent, //全局设置透明 statusBarIc

Android项目中实体类entity的作用详解

2020-04-27
估计很多入门安卓的朋友对entity很困惑,为什么要写实体类?有什么用?写来干什么? 对于实体类的理解我入门的时候也是困惑了好久,后面用多了才慢慢理解,这篇博客就当复习和笔记. Java中entity(实体类)的写法规范 在日常的Java项目开发中,entity(实体类)是必不可少的,它们一般都有很多的属性,并有相应的setter和getter方法.entity(实体类)的作用一般是和数据表做映射.所以快速写出规范的entity(实体类)是java开发中一项必不可少的技能. 在项目中写实体类一般

android studio git 删除已在远程仓库的文件或文件夹方式

2020-04-27
有时候我们会不经意的吧不必要的文件传到git的远程仓库上like this... 如果你也碰到这情况,请别急,点根烟然后继续往下看 先进git的安装目录运行git-bash.exe 然后用cd命令切换到项目的根目录如下如 然后再执行命令 git rm -r .idea --cached 其中.idea是我想删除的文件夹,所以用了rm -r命令,如果你想删除的是文件,则用rm就行,慎用rm -r!!!! 然后执行提交命令 git commit -m '删除不必要的文件' 最后进android st

Android Studio 实现九宫格功能

2020-04-27
运行结果 1.图 2.动图 九个图标是设置的,你也可以设置4 * 4 = 16都可以. 3.分享个GIF动图的.exe 代码activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http

Android PC端用ADB抓取指定应用日志实现步骤

2020-04-27
主要功能: 用于在PC端通过ADB工具抓取指定android真机上运行的指定包名应用的调试日志,并生成本地txt文件. 实现步骤: 1.准备ADB调试软件: 2.根据包名找到进程pid; 新建一个txt文件,重命名为"getpid.bat",把下面代码复制到该文档中,保存: 包名"com.wtoe.demo"可替换为自己所需要抓取日志的包名. @echo off adb shell "ps | grep com.wtoe.demo" 3.根据包名

Android studio保存logcat日志到本地的操作

2020-04-27
windows环境下 1.输出logcat日志到本地文件 adb logcat -> F:/logcat.txt 2.输出带时间的logcat日志到本地文件: adb logcat -v threadtime -> F:/logcat.txt 输入以上命令后,adb自动保存logcat日志到指令的文件,,按ctrl + c结束保存. 补充知识:Android真机调试不打印log Android开发过程中,有时候用真机调试时明明执行了log打印,但是控制台就是不输出,可能是因为手机的log打印功

Android 实现把bitmap图片的某一部分的颜色改成其他颜色

2020-04-27
把bitmap图片的某一部分的颜色改成其他颜色 private Bitmap ChangeBitmap(Bitmap bitmap){ int bitmap_h; int bitmap_w; int mArrayColorLengh; int[] mArrayColor; int count = 0; mArrayColorLengh = bitmap.getWidth() * bitmap.getHeight(); mArrayColor = new int[mArrayColorLengh]