- 博客(10)
- 资源 (2)
- 收藏
- 关注
转载 Android中子线程真的不能更新UI吗?
支持原创:https://blog.youkuaiyun.com/xyh269/article/details/52728861Android的UI访问是没有加锁的,这样在多个线程访问UI是不安全的。所以Android中规定只能在UI线程中访问UI。但是有没有极端的情况?使得我们在子线程中访问UI也可以使程序跑起来呢?接下来我们用一个例子去证实一下。新建一个工程,activity_main.xml布局如下所示:<?xml version="1.0" encoding="utf-8"?>&
2021-02-07 20:01:49
170
原创 Mac电脑安装配置Wireshark 抓包工具,解决Https无法抓包问题
可以找到binary所在路径为/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
2021-01-13 09:55:37
5614
转载 Android之TelephonyManager类的方法详解
TelephonyManager类主要提供了一系列获取手机与通讯相关的状态和信息的get方法,包括手机用户的信息、手机SIM的状态、电信网络的状态等。TelephonyManager类的对象的获取:TelephonyManager tm=(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);在开发的时候不要忘记了在配置文件中为其添加相应的权限哦<!--允许读取电话状态SIM的权限--><uses-p
2021-01-11 15:57:11
6450
2
原创 Android reckon 控制项目打包版本
reckon用法github地址:[https://github.com/ajoberstar/reckon]根项目 gradle配置buildscript { apply from: 'versions.gradle' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4...
2020-12-31 00:02:16
321
转载 Android Environment类的接口详解
Android应用开发中,常使用Environment类去获取外部存储目录,在访问外部存储之前一定要先判断外部存储是否已经是可使用(已挂载&可使用)状态,并且需要在AndroidManifest.xml文件中添加外部存储读和写的权限。Environment类中提供了几个静态常量用于标识外部存储的状态,这些状态都是String类型MEDIA_BAD_REMOVAL 在没有挂载前存储媒体已经被移除。MEDIA_CHECKING 正在检查存储媒体。MEDIA_MOUNTED 存储媒体已经挂载,并
2020-12-28 18:05:12
643
转载 Android Jacoco 代码覆盖率测试入门 | 白盒测试
前言代码覆盖(Code Coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到 80% 或 90%。于是乎,测试人员会费尽心思设计案例覆盖代码。关于代码覆盖率的意义,Martin Fowler 大佬(《重构》作者)曾经写文章指出:把测试覆盖作为质量目标没有任何意义,但我们应该把它作为一种发现未被测试覆盖的代码的手段。正文
2020-12-23 11:31:08
605
转载 常用 Git 命令清单
我每天使用 Git ,但是很多命令记不住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [p
2020-12-23 10:12:55
91
转载 详细介绍AndroidStudio工程的settings.gradle、Project的build.gradle、Module的build.gradle、gradle/wrapper作用
Gradle是一种构建脚本,用Groovy语言实现,一种类似于java的语言。AndroidStudio使用Gradle作为构建工具,是构建工具就必须管理依赖库,当工程中使用了开源库时只需在build.gradle中告知gradle从哪个远程库下载就可以了。GroovyGroovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性
2020-12-23 09:59:00
1900
转载 解决mac下zsh: command not found: adb问题
开发连接第三方安卓模拟器的时候通常会用到命令:adb connect 127.0.0.1:5555结果却提示zsh: command not found: adb这个问题通常是由于电脑没有配置android环境变量导致。首先需要找到android sdk安装的位置,最简单的方式就是打开android studio的设置(command+,),然后搜索android sdk即可找到sdk的安装路径,这里以我的为例:/Users/yongliang/Library/Developer/Androi
2020-12-22 16:39:40
1008
原创 Android JNI 打印日志
Android JNI 打印日志1、导入头文件#include<android/log.h>2、先定义一个全局变量,再定义一些输出的LOG函数#include<android/log.h>#define TAG "myDemo-jni" // 这个是自定义的LOG的标识#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__) // 定义LOGD类型#define LOGI(..
2020-12-14 22:55:36
709
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人