- 博客(33)
- 资源 (4)
- 收藏
- 关注
原创 Android 插件化
1.插件化宿主中如何加载插件apk 和插件资源1.1 将网络下载的插件从sd卡中读取到cache目录1.2 加载插件的dexclassloader1.3 通过PackageManager来获取插件中的第一个Activity1.4 加载我们的资源 使用AssetManager的addAssetPath 方法构建一个AssetManager 实例 然后创建一个Resource插件中的Activity2.1 插件中的基类要持有宿主工程的上下文并覆写Activity 中的调用的系统Api ..
2021-10-12 09:43:39
158
原创 Uri 转真实路径
public static String getPath(final Context context, final Uri uri) { final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; // DocumentProvider if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) .
2021-06-10 15:39:08
672
原创 线程的取消和中断的代码实践
https://blog.youkuaiyun.com/w1014074794/article/details/51111376基于这篇博客 。测试了一下 future.cancel和thread.intterupt的方式,我发现这两种方式并不一定置位中断线程的标志位,这种置位发现是概率性的。有可能被中断线程捕获不到。所以没有采用这两种方式。第一种方式也有一些问题,因为第一种方式使用的boolean 变量,而这种方式虽然是volatile的但是 该变量是基本类型,所以属于值传递。当重新赋值的时候该变量的地址是会
2020-07-09 20:48:21
167
转载 synchronized(this) 与synchronized(class) 之间的区别
https://www.cnblogs.com/huansky/p/8869888.html
2020-07-09 20:32:38
221
原创 Android 事件处理逻辑
前言:事件是怎么从Activity到ViewGroup的。问:我们知道,事件产生于用户按下屏幕的一瞬间,事件生成后,经过一系列的过程来到我们的Activity层,那么事件是怎样从Activity传递到根ViewGroup的呢?答:事件到达Activity时,会调用Activity#dispatchTouchEvent方法,在这个方法,会把事件传递给Window,然后Window把事件传递给...
2020-03-18 10:54:30
192
原创 横竖屏切换的时候 生命周期及现场恢复
生命周期如下:onPause ---》onSaveInstanceState ----》onStop -----》onDestroy ------》onCreate---》onStart ----》onRestoreInstanceState---》onResume。我们可以在onSaveInstanceState(Bundle outBundle)方法中去保存界面当前的...
2020-03-17 14:48:59
189
原创 android API 根据系统的时区来设置时间----GregorianCalendar类
public final static String FORMAT_Y_M_D_E_A_H_M = "yyyy年MM月dd日 EEEE ahh:mm";public String getTime(){Calendar startTime1 =new GregorianCalendar();//mark一下--------GregorianCalendar类的setTimeZone方法...
2019-11-29 18:12:26
427
转载 ContentProvider 使用方法——————mark一下
概述ContentProvider是Android中提供的专门用于不同应用间数据交互和共享的组件。ContentProvider实际上是对SQLiteOpenHelper的进一步封装,以一个或多个表的形式将数据呈现给外部应用,通过Uri映射来选择需要操作数据库中的哪个表,并对表中的数据进行增删改查处理。ContentProvider其底层使用了Binder来完成APP进程之间的通信,同时使用匿...
2019-11-25 20:04:34
264
原创 Android 获取缓存文件的目录,文件的目录,外部存储的目录
getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的作用一.getCacheDir、getCacheDirgetCacheDir()方法用于获取/data/data//cache目录getFilesDir()方法用于获取/data/data//files目录二.getExternalFiles...
2019-11-25 19:16:57
2900
转载 手持ActivityLifecycleCallbacks,监听前后台状态如此舒服
https://www.jianshu.com/p/e7f64e6bc2cc
2019-11-21 11:03:46
155
转载 不错的帖子
自动化测试https://www.jianshu.com/p/b373aec43c01 UI自动化测试https://blog.youkuaiyun.com/jgw2008/article/details/78087449 Espresso和UIAutomator - 完美的结合服务发现https://blog.youkuaiyun.com/swanabin/article/details/520...
2019-07-15 10:43:42
139
原创 git命令小记
git命令1.git pull的时候发生与本地修改冲突的时候解决方式git stashgit pullgit stash pop 2. git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。 3. git stash pop: 从Git栈中读取最近一次保存的内容...
2019-07-09 15:54:58
242
转载 聊下git pull --rebase
https://www.cnblogs.com/wangiqngpei557/p/6056624.html
2019-07-04 15:39:05
247
原创 android studio 单元测试生成测试报告以及生成单元测试代码覆盖率报告
如果要计算AndroidTest的覆盖率,只需要在模块的build.gradle里的buildTypes闭包里添加开启覆盖率统计即可。debug { testCoverageEnabled true}这个功能貌似在android 5.0以上可以,我试过两个5.0以下的手机,覆盖率都是零。要生成报告,可以在AS里找到Gradle菜单,找到verification -&...
2019-06-24 20:30:19
5126
转载 Android中自定义属性的使用
Android中自定义属性的使用自定义属性: 是指定义可以在布局文件的标签中使用的属性。如TextView控件中的Text属性,但是它是由系统提供的,现如今是由我们自己定义。使用自定义视图属性的好处: 这样就可以通过布局xml的方式给视图对象指定自己定义的任意属性值, 而不是仅仅只能使用系统中内定的属性啦。属性值的类型(format)有如下几种: 1、refe...
2019-06-19 14:13:53
200
转载 android中的图像矩阵变换Matrix的所有方法
http://blog.youkuaiyun.com/flash129/article/details/8234599
2017-05-16 15:58:02
536
转载 java自定义注释
java自定义注解Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。1、元注解元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。1.1、@
2017-05-12 10:47:34
371
原创 android 中的每日构造 ——android stuido 中的build.gradle示例
import org.tmatesoft.svn.core.wc.*apply plugin: 'com.android.application'//发布时间def releaseTime() { return new Date().format("yyyyMMdd", TimeZone.getTimeZone("GMT"))}//获取svn的版本号def getSvnRevi
2017-05-09 16:11:02
371
原创 adb shell常用命令集合
一、查看adb 所连接的设备adb devices二、连接同一局域网的某一Ip的设备adb connect 182.168.1.131三、推文件到设备(示例)adb push /home/fiberhome/Opsimulator_DV/project/UITest2/bin/UITest2.jar /data/local/tmp/四、执行Uiautom
2017-05-09 15:55:44
435
转载 java 匿名内部类
匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法12345678910111213
2017-05-09 09:56:10
222
原创 java IO流处理实战;完成文件读取和写入,使用到BufferedReader 、PrintStream等
package com.parse.demo;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java
2017-04-18 09:38:24
926
原创 git提交至github上使用说明
第一步:建立git仓库 cd到你的本地项目根目录下,执行git命令git init11第二步:将项目的所有文件添加到仓库中git add .11如果想添加某个特定的文件,只需把.换成特定的文件名即可第三步:将add的文件commit到仓库 这条的命令是在你已经add了一个或多个文件过之后,然后修改了这些文件,就可以使用该命令进行提交。-m后面就是提交的注
2017-04-13 16:54:24
306
原创 android ndk第一步使用ndk和Cmake编译.so文件
示例中使用了两种方法来编译生成.so。ndkBUild生成native-app.so和Cmake编译成nativea-app.so,注意点1.首先生成头文件:使用命令javah -classpath ..\..\build\intermediates\classes\debug -bootclasspath D:\soft\android-sdk-2016-edn\androi
2017-04-13 16:38:50
1459
原创 java 的builder模式——设计思想
如果类的构造器或者静态工厂中具有多个参数,设计这种类时,Builder模式就是不错的选择。具体做法:不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器,得到一个builder对象。然后客户端在builder对象上调用类似于setter的方法,来设置每一个相关的可选参数。最后,客户端调用无参的bulid方法来生成不可变的对象。例子:public class Nutriti
2015-06-02 21:10:03
462
转载 Android图像处理之Bitmap类
关于Android bitmap 类http://www.open-open.com/lib/view/open1333418945202.html
2015-02-14 11:10:40
330
原创 MySql的下载和安装
鉴于对许多同学下载Mysql时找不到所需要的版本。我推荐大家使用http://dev.mysql.com/downloads/mysql/中的Windows(x86,64bit),MySQL Installer MSI点击下载后进入http://dev.mysql.com/downloads/windows/installer/5.6.html中找到Windows (x86, 32-bit
2014-12-29 23:12:09
530
原创 Tomcat的安装与配置
步骤:1.登录tomcat的官网http://tomcat.apache.org/2.在7.0.57的节点下面选择32-bit Windows zip (pgp, md5)(第三个)或者64-bit Windows zip (pgp, md5)(第4个)这个试你的系统是多少位的而定,请注意最后一个32-bit/64-bit Windows Service Insta
2014-12-29 16:59:49
589
原创 使用JDOM读取XML信息
JDOM的介绍:JDOM是一个开源项目,它基于树形结构,利用了纯JAVA技术实现对XML文档解析、生成、序列化及多种操作。JDOM对XML的读取示例:1.首先需要导入JDOM包(见我的附件)2.建立xml文件例: 8G 200 1580 10G 500 3000 3.
2014-12-27 23:24:53
532
原创 对于eclipse中导入项目源码出现感叹号的解决方法
原因:包引用错误解决办法:重新添加本地的包。去除原来项目中JAR包的引用步骤:1.检查自己项目包的引用地址。property——>buid path——>add ExternalArchevies——>选择自己项目需要的JAR包。2.在build path——>configuration build path中把以前添加的JAR包的引用去除。3.eclipse的感叹号就消失了。
2014-12-27 17:11:54
1131
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人