- 博客(26)
- 收藏
- 关注
原创 Dart中的对象和类
Dart中的对象和类Dart面向对象的介绍Dart中创建类及使用类Dart中自定义类的默认构造函数Dart中自定义类的命名构造函数Dart中把类单独抽成一个模块Dart中的私有方法和私有类中的getter和setter修饰类中的初始化列表一. Dart面向对象的介绍面向对象编程(OOP)的三个基本特征是:封装、继承、多态 ...
2019-10-10 15:55:06
1013
原创 Android 混淆
Android 混淆:混淆的意义如何开启混淆混淆的规则常用的混淆模板拆分混淆文件一. 混淆的意义代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为,可以加大反编译的成本。二. 如何开启混淆A. eclipse中开启混淆1. 首先将project.properties中打开(去掉...
2019-09-20 17:24:39
395
原创 Dart中的函数
函数是 Dart程序运行的基本单元main函数内置函数可选参数函数匿名函数作用域闭包Lambda函数一、main函数main函数是应用的入口。每一个应用都必须有一个Main函数作为入口。main函数没有返回值。main函数的参数可以为空(啥都不写),也可以有一个 List类型的变量void main(){ print("hello w...
2019-09-11 17:59:00
502
原创 Dart 集合:List、Set、Map
Dart提供了3种核心的集合类型 List(列表)、Set(集合)和Map(映射)。一. List编程中最常使用的集合是数组。Dart以列表(List)对象的形式表示数组。列表(List)只是一组有序的对象。1. List种类固定长度列表可增长列表A. 固定长度列表固定长度列表的长度不能在运行时更改。1).声明列表var list_name = new List(in...
2019-08-26 15:01:35
2380
原创 ADB与手机无线调试
这几天做一个项目,手机与智能眼镜通过数据线连接,那怎么查看app运行时的日志信息呢?然后想到了无线调试模式,具体操作步骤如下:一. 前提准备1.手机开启usb调试2.手机与电脑处于同一局域网内,或者用手机提供wifi热点给电脑连接二. 打开手机端口1.用数据线将手机和电脑连接起来后在终端执行命令:adb tcpip 5555特殊说明:端口可以不是5555,这个官方默认使用的三. ...
2019-08-21 11:22:26
667
原创 Android 危险权限、权限组列表和所有普通权限
Android权限分为普通权限(Normal Permission)和危险权限(Dangerous Permission)。一 . 介绍:Normal Permission:在AndroidManifest.xml文件里配置好,App安装时就会默认获得这些权限,即使是在Android6.0系统的手机上,用户也无法在安装后动态取消这些normal权限。Dangerous Permission:...
2019-08-20 18:23:43
8055
原创 Dart 条件判断、循环控制
一、条件判断ifif…else…if…else if…else…switch和caseassert1. if…if (逻辑表达式){ 执行的代码}当逻辑表达式结果为true时,执行方法体中的代码。当方法体中的代码只有一句时,也可以写成:if (逻辑表达式) 执行的代码2. if…else…if (逻辑表达式){ 执行的...
2019-08-20 09:40:13
4543
原创 获取数字签名(.keystore)SHA1、MD5值
mac打开终端(win打开命令行)输入如下命令:keytool -list -v -keystore xxx.keystore然后输入秘钥库口令即可得到
2019-08-20 09:39:23
837
原创 获取apk的签名信息
mac打开终端(win打开命令行)输入如下命令即可:keytool -printcert -jarfile xxx.apk
2019-08-20 09:38:52
1280
原创 Dart常用数据类型
Dart常用的数据类型有:Numbers(数值)int (整形)double (浮点型)Strings(字符串)String (字符串类型)Booleans(布尔)bool (布尔类型)List(数组)在Dart中,数组是列表对象,所以大多数人只是成它们为列表Maps(字典 。)通常来讲,Map是一个键值对相对的对象。键和值可以是任何类型的对象一. Nu...
2019-08-19 13:00:47
770
原创 Dart介绍 环境搭建
一.Dart介绍: dart是有谷歌公司开发的计算机编程语言,它可以被用于web、服务器、移动应用和物联网等领域的开发。 Dart诞生于2011年,号称要取代JavaScript。但是过去的几年中一直不温不火。知道Flutter的出现,现在被人们重新重视。 要学会Flutter的前提,我们必须得先学会Dart。Dart官网。二.Dart环境搭建: 要在我们本地开发Dart程序的话...
2019-08-19 12:59:47
520
原创 Retrofit增加错误重连Interceptor
OkHttp中的retryOnConnectionFailure(true)方法可以实现错误重试,但不支持自定义重试次数。1.通过自定义一个Interceptor实现错误重试次数。1.1自定义RetryInterceptorpublic class RetryInterceptor implements Interceptor{ public int executionCount;...
2019-08-19 12:58:43
1216
原创 Retrofit网络请求参数注解
1.Retrofit介绍retrofit是在okhttp的基础上进行封装的,网络请求是通过okhttp实现的。具体使用细节可查看retrofit官网2.Retrofit注解Retrofit通过注解的方式,进行网络请求。根据功能分类,注解可以分为:2.1请求方法类:编号名称1GET2POST3PUT4DELETE5PATCH6...
2019-08-19 12:57:40
564
原创 Retrofit 动态修改BaseUrl
最近项目有关需求,需要app在调用不同模块时,发起不同url的请求。经过查找资料发现可以通过retrofit的拦截器解决。1.在网络请求接口中添加@Headers在网络请求接口中添加@Headers({“url_name:xxx”})。public interface RetrofitService{ String URL_WEATHER = "url_name:weather...
2019-08-19 12:57:05
1447
原创 动态代理实现mvp
就不说啥是mvp了,也不说啥是静态代理动态代理了,直接撸代码吧~一、创造轮子1.定义View父类接口public interface BaseView{}2.定义父类Presenter,持有V的引用public class BasePresenter<V extends BaseView>{ private static final String TAG = ...
2019-08-19 12:56:20
227
原创 Android Studio 可以正常编译但是代码爆红解决方法
今天打开AS,突然代码一片红,吓得我赶紧rebuild一下,想看看是不是哪儿的代码被我误删了,结果rebuild啥问题都没有,但是代码依旧爆红。在尝试了clean、rebuild,invalidate cache / restart之后,依然还是一片红。。。最终在stackoverflow上找到了相同的问题,解决方法如下:关闭 Android Studio,删除项目目录下面的 .idea 文...
2019-08-19 12:08:49
2441
3
原创 将返回的ResponseBody转为实体类
当网络请求返回ResponseBody时,如何将ResponseBody转为实体对象?1.如果是个无嵌套的普通的实体类,可使用如下方法:public Object JSONTOBean(ResponseBody body, Class clazz){ Object obj = null; try { String json = new String(b...
2019-08-19 12:08:05
3251
原创 android:allowBackup = false后编译报错
一.Android中的allowBackup属性1、allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是true。当allowBackup标志为true时,用户即可通过adb back...
2019-08-19 12:06:35
356
原创 Manifest merger failed with multiple errors解决办法
今天添加第三方包后,运行项目的时候报了如下的错误:不想猜也不想看一大堆的错误日志,直接一行命令定位到错误:mac下在AndroidStudio底部的Terminal, 执行如下:./gradlew processReleaseManifest --stacktracewindow下在AndroidStudio底部的Terminal, 执行如下:gradlew processDebu...
2019-08-19 12:05:51
200
原创 AS external tool 自定义工具(javah、ndk-build、ndk-build clean)
1.进入设置页面选中项目,单击File菜单,选择Setting进入设置界面。快捷键Command+,(mac平台)Ctrl+Alt+S (win平台)2.找到External Tools在设置界面,找到找到Tools --> External Tools,如下图,然后点击右边方框的“+”。3.配置参数3.1:javah按图填写相应的参数Program:$JDK...
2019-08-19 12:04:30
284
原创 AS3.1.2 Configuration on demand is not supported by the current version of the Android Gradle plugin
Android Studio 升级到3.1.2,Gradle插件报错:Configuration on demand is not supported by the current version of the Android Gradle plugin since you are using Gradle version 4.6 or above. Suggestion: disable co...
2019-08-19 11:54:29
303
原创 Android Studio打开项目提示 Connection refused
为了更新gradle,为Android Studio设置了代理,更新完gradle之后取消了代理设置,重启Android Studio后报错:Connection refused。设置代理的图:解决方案:如果你手动在此界面取消代理没有用因为AS会自动在.gradle文件下生成之前的代理文件,之后每次打开项目AS会自动读取代理地址导致Connection refused,简直就是个大坑逼。...
2019-08-19 11:17:28
1282
原创 Android Studio多项目引用同一个module
AS(AndroidStudio)在导入一个外部的本地module时,AS会复制一份module到当前项目目录下。在多个项目都引用同一个module时,并且该module正处于开发维护阶段需要频繁改动时,就要去每个项目中修改module的代码,同步起来会非常麻烦。有这样几种方法可以解决这个问题:一、将引用的module打成jar或aar,每个项目直接引用这个jar或aar。但如果引用该modu...
2019-08-19 11:05:56
1006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人