Android其它笔记
文章平均质量分 75
Android其它内容相关笔记
丞恤猿
人生就如西西弗斯推石头上山:
while(true){
滚下来();
推上去();
}
展开
-
Android Gradle依赖配置与依赖冲突解决
1.implementation 与Gradle2.0的compile对应,会将直接依赖包同时添加到编译时路径、运行时路径,依赖包会被打入输出包中(aar或apk)。差别在于对间接依赖包的处理上,使用implementation时直接依赖包不会向上层传递自己内部的依赖关系。 举例,A依赖B,B依赖C。 对于A而言:B会同时加入A的编译时路径、运行时路径;但C不会加入A的编译时路径,只会加入A的运行时路径。 因此,A在编译时只能访问B对外暴露的类和接口,不能访问C对外暴...原创 2022-05-12 15:56:38 · 4123 阅读 · 0 评论 -
Android NDK和JNI简略总结、使用示例
一、JNI (Java Native Interface) JNI是Java提供的与系统Native库交互的一种机制。 Java代码运行在JVM中,JVM可以跟操作系统来调用系统的Native动态链接库。 这些动态链接库由C/C++源代码来编译生成,在不同操作系统中格式不同,例如在linux平台下会编译为.so或.a文件,在window平台下会编译为dll文件,在mac os下会编译为jnilib。 Android是基于Linux的,所以在Android平台上JNI调...原创 2022-04-30 19:23:24 · 870 阅读 · 0 评论 -
Android常用adb指令
##.手机/电脑间文件或文件夹的复制指令adb pull:从手机复制文件到电脑adb pull [手机中的源路径] [电脑中的目标路径]例:adb pull /sdcard/aaa/log.txt /Users/bigbang/des/log.txtadb push:从电脑复制文件到手机adb pull [电脑中的源路径] [手机中的目标路径]例:adb push /Users/bigbang/des/log.txt/sdcard/aaa/log.txt##...原创 2022-04-05 21:05:39 · 2703 阅读 · 0 评论 -
Android签名概要总结——对称加密/非对称加密、数字签名、公钥证书、ca认证机构、安卓app签名
##.对称加密: 通信的双方使用相同的秘钥,来进行加密和解密。运算效率高,但这种通信方式不安全,因为缺少安全便捷的途径将秘钥传递给对方,一旦秘钥泄漏,信息将毫无安全性。##.非对称加密: 非对称加密算法中,加密和解密使用的秘钥不同,当使用其中一个秘钥进行加密时,只有用另一个秘钥才能正常解密,二者要配对使用。公钥可以公开发布,而私钥只有自己知道。双方通信时,都将自己的公钥发给对方,对方用公钥加密消息发给自己,这样只有自己才拥有私钥来解密。例如:A、B双方通信中,A可以随意将A的公钥发给...原创 2022-04-05 21:01:52 · 3740 阅读 · 0 评论 -
Android中compileSdkVersion、minSdkVersion、targetSdkVersion和buildTools简要说明
#.compileSdkVersion, minSdkVersion 和 targetSdkVersion1.minSdkVersion:应用兼容的SDK API最低版本,若手机系统低于minSdkVersion将无法安装; AndroidStudio中写代码时调用的API,若在兼容的版本区间中部分版本不存在,则开发者需要做版本判断来做兼容性处理,否则AndroidStudio会提示错误的,没法正常通过编译。2.compileSdkVer...原创 2022-04-05 20:55:10 · 6931 阅读 · 0 评论 -
Android Gradle相关总结
Gradle插件版本、Gradle构建工具版本、Android SDK buildToolsVersion之间的匹配关系 Gradle构建工具是独立于Android Studio的项目,是一种自动化构建工具,用于帮助管理工程的编译、打包、签名、依赖管理、运行、测试等流程。它是一个方便进行各种配置和自动打包构建的“大管家”,可用于管理各种类型的项目,不只是Android。因为它不是专为Android项目设计的,那些与Android代码编译、与Android项目结构特点紧密相关的工作不是它来具体实现的,...原创 2022-04-05 20:51:26 · 2444 阅读 · 0 评论 -
Android项目结构、编译与打包流程
#.Android项目结构###.总的结构###. /src/main下的结构res: 存放各类资源 res/drawable:理论上对应低分辨率图片,但一般此文件夹并不放图片文件,图片文件放在下面两个文件夹中。 一般把自定义的xml图形文件放在此文件夹中。 res/drawable-xhdpi:图片资源,对应高分辨率。高分辨率屏幕优先从此取资源。 res/drawable-xxhdpi:图片...原创 2022-04-05 20:48:41 · 1576 阅读 · 0 评论 -
Android IntentFilter匹配规则
#.IntentFilter匹配规则<intent-filter> <action….. /> <category ….. /> <data ….. /></intent-filter>AndroidManifest.xml中1.Activity的的声明区域中,可以包含多个<intent-filter>; 一个<intent-filter>中可以包含多个action...原创 2022-04-04 16:38:03 · 741 阅读 · 0 评论 -
Android guide doc 阅读笔记:Intent
#简介:Intent是用于传递消息的对象类型,可用于启动三类组件 并在组件之间传递信息:Activity、Service、BroadcastReciever#Intent分类:1.显式Intent:指明了Component属性,即指明了目标组件的Intent。 1.1通过构造方法设置:new Intent(Activity1.this, Activity2.class); 1.2通过setClass()方法设置:Intent.setClass( Act...原创 2022-04-04 16:37:38 · 353 阅读 · 0 评论 -
Android进程保活(如何尽可能避免APP被杀死)
#.Android进程的优先级Android系统中进程有不同的优先级,在系统需要优化和回收资源时,会先杀死优先级低的进程。所以要保活一个进程,就要想办法尽可能去提升它的优先级。##1.前台进程 —— Foreground process用户当前操作所必需的进程。通常在任意给定时间前台进程都为数不多。只有在内存不足以支持它们同时继续运行这一万不得已的情况下,系统才会终止它们。A. 拥有用户正在交互的 Activity(已调用onResume())B. 拥有某个 Service,后者绑定原创 2022-04-02 14:19:03 · 5364 阅读 · 0 评论 -
BridgeWebview原理简略分析
整体理解:1.Java端和JS端各自维护着两个Map和一个消息队列。 一个Map维护着 提供给对方调用的方法,键值对;在registerHandler时添加。 一个Map维护着 对方调用自己时提供的回调方法,键值对; 在执行callhandler时,创建相应的Id, 并与CallbackFuction相关联存入HashMap。(在直接调用时,该ID被原创 2017-07-27 15:13:46 · 696 阅读 · 0 评论 -
Android 闹钟AlarmManager简略使用说明
参考文献中第一篇写的已经非常简练符合我需求,摘取里面最有用的一段:1、AlarmManager的常用方法有三个:(1)set(int type,long startTime,PendingIntent pi);该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作。(2)setRepeating(int type,long原创 2017-07-27 15:26:19 · 500 阅读 · 0 评论 -
Android 网络连接基本方式
就目前我所了解,可以分为两大类,Socket方式 和 Http方式。其中,Socket方式所需使用的类,及Http方式中HttpUrlConnection类,都是JDK中的java类,跟传统java网络编程无差异。1.Socket是针对传输层协议的,据说可以支持多种协议,不过java中貌似主要用来进行基于TCP/IP协议的网络编程。它只是在两个网络进程间建立起稳定点到点连接,可原创 2017-08-04 02:22:42 · 3046 阅读 · 0 评论 -
Handler、Looper、MessageQueue
概括性说明: 一个线程可以与一个Looper对象相关联,而一个Looper对象内部管理着一个消息队列(MessageQueue),它不停地按顺序循环分发其中的消息。一个Looper对象可以关联多个Handler对象,每个Handler对象都可以通过Looper往消息队列中发送消息,并接受到Looper分发的消息事件。 额外补充: 1.主线程的原创 2017-07-25 11:56:28 · 229 阅读 · 0 评论 -
Android PendingIntent简略总结
Android PendingInteng简略总结:其实就是Intent的封装类,可以指定未来某个时刻发送,直译过来就是"待定的Intent”。Intent对象发完在系统中就“耗散”了,而PendingIntent有可能继续存活在系统中。一般用于被用作一些场景下的响应事件,例如闹钟触发后的响应PendingIntent, 或者通知栏被点击后的响应PendingIntent。原创 2017-07-25 10:54:02 · 474 阅读 · 0 评论 -
Intent数据传递两种常见方式
一、方法1://发送Intent intent = new Intent(xxx.this, xxx.class);Bundle bundle = new Bundle();bundle.putString( "tag1", "aaa");bundle.putInt("tag2", 22);intent.putExtras( bundle );s原创 2017-07-25 10:39:44 · 1390 阅读 · 0 评论 -
Android横竖屏切换时,状态和信息的维护
Android手机在进行横竖屏切换时,会销毁当前Activity,然后重新创建一个Activity实例,执行其onCreate()方法,有时候一些状态信息需要事先保存,切换屏幕方向后,再加载出来,以便有良好用户体验。保存——加载信息的方法有很多:1.当然可以使用一些后台存储机制来实现,但是那样太费事,而且运行效率恐怕要打折。2.Android本身提供了一套很好的机制:原创 2017-07-25 10:29:20 · 446 阅读 · 0 评论