- 博客(28)
- 资源 (7)
- 收藏
- 关注
原创 360插件化方案RePlugin学习笔记-汇总
上篇 360插件化方案RePlugin初体验 简单介绍了一下RePlugin的内置插件化配置方式,但在开发过程中具体使用有很多问题还需要慢慢探究。本文之前是写在一起的,比较长,看起来不太方便,就分别抽了出去,这里算是做一下汇总。一、模拟外置插件方式360插件化方案RePlugin学习笔记-外置插件二、数据持久化360插件化方案RePlugin学习笔记-数据持久化三、资源的共...
2018-03-14 09:15:11
432
原创 360插件化方案RePlugin学习笔记-插件与宿主间的通信方式
1.使用Intent传递数据在跳转的Intent中携带数据,常规使用方法,不再举例。 参考360插件化方案RePlugin初体验 中跳转intent,向intent中放入数据进行传递,也可使用startActivityForResult传递数据并跳转到插件,再通过setResult从插件传递数据给宿主。 2.使用广播新建TestPluginReceiver.kt...
2018-03-14 09:07:37
2610
原创 360插件化方案RePlugin学习笔记-插件使用宿主中的类
使用场景1:插件的xml布局中有以宿主的全类名作为节点的时候在application配置RePluginConfig时,有一行代码是:// 允许“插件使用宿主类”。默认为“关闭” c.setUseHostClassIfNotFound(true);这行代码设置为true时,插件项目中找不到该类,会在宿主项目中查找。 使用场景2:插件代码中用到宿主项目的类及类中的字...
2018-03-07 08:46:06
3324
1
原创 360插件化方案RePlugin学习笔记-资源共享
本来没写这个的,但是后来用的时候发现还是有坑的。 一、使用“插件”的资源1.判断是否安装了“插件”,如果没有安装,先安装“插件”2.已安装“插件”,获取“插件”资源ID: (获取 R.string.app_name 为例)通过反射//获取“插件”加载类val classLoader = RePlugin.fetchClassLoader("plugin1")//获...
2018-03-07 08:42:36
1371
1
原创 360插件化方案RePlugin学习笔记-数据持久化
数据持久化有文件存储、SharedPreferences、数据库存储、ContentProvider、网络存储几种方式。1.文件存储(不包括缓存目录下存储)、网络存储跟平时使用一样2.SharedPreferences使用 在“宿主”中存放val sharedPreferences = applicationContext.getSharedPreferences("te...
2018-03-07 08:40:12
770
原创 360插件化方案RePlugin学习笔记-外置插件
本文介绍一下RePlugin外置插件使用方式,使用的是官方demo2中的模拟配置。步骤一:把需要作为外置插件的项目打包生成demo1.apk步骤二:把apk拷贝到宿主项目assets/xxx/下,xxx命名随意,保持一致即可这里是跟官方demo一样,结构如图: 步骤三:在触发下载外置插件的地方调用代码 //判断是否已安装demo1插件,如未安装就下载安装,如...
2018-03-03 11:06:26
1013
原创 360插件化方案RePlugin初体验
前天跟朋友聊天提到他们要做个跟360插件化方案类似的框架,领导让他们先了解一下360的实现思路,我也就跟着尝试了一下。RePlugin 是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。这是GitHub上对于RePlgin的描述,我的理解:RePlgin使项目模块间...
2018-02-12 17:07:06
1197
原创 Android 生成长图并添加水印(三)
本文为生成长图系列最后一章,写一下WebView生成长图。 如有不清楚的地方,请先看下前两篇或者在下方留言交流,前两篇传送门: 1.Android 生成长图并添加水印(一) 2.Android 生成长图并添加水印(二) 还是先附上效果图,效果图是加载的我简书首页的链接: 布局代码就不再粘贴了,自行写个WebView就行。直接写页面代码: 在页面初始化方法里 setContent
2018-02-07 18:11:52
845
原创 Android 生成长图并添加水印(二)
本文主要介绍一下RecyclerView生成长图。 是接着上一篇Android 生成长图并添加水印(一)写的,不过单独看也是可以的,如有不清楚的地方可以先看上一篇或在下方留言。 先附效果图: 再撸代码: 页面布局没什么好写的,有RecyclerView就行,上条目布局item_recycler_list.xml:layout> data> vari
2018-02-06 18:28:07
627
原创 Android 生成长图并添加水印(一)
本来是想做一下ListView生成长图的,最后发现ListView未显示部分获取不到,就把ListView改成了NestedScrollView包裹LinearLayout,在LinearLayout中动态添加条目布局。 先看一下效果图: 布局activity_weather_future:android.support.v4.widget.SwipeRefreshLayout
2018-02-03 18:21:13
5951
原创 使用SkinManager实现换肤功能
试着用鸿洋大神写的SkinManager实现了换肤功能。一、配置 在app下build.gradle中添加依赖://换肤功能compile 'com.zhy:changeskin:4.0.2'这样就配置好了,然后在程序入口进行初始化。二、全局初始化 在自己创建的继承application的类中添加://换肤sdk初始化SkinManager.getInstanc
2018-02-01 13:30:10
4413
1
原创 Databinding的使用
这段有时间就看了下Databinding,简单记录一下Databinding的使用方式!一、Databinding简单尝试 首先在Module app下build.gradle中配置databindingandroid{ ... dataBinding { enabled true } ...}easy!这样就配好了。
2018-01-30 19:03:52
9863
1
原创 AndroidStudio 配置 AspectJ 环境实现AOP
昨天看了一段android配置aspectj实现AOP的直播视频,就试着自己配置了一下,可能是因为我自己的AndroidStudio环境的问题,碰到了不少的坑(其实还是因为对gradle理解的不多),但总归是配置好了,就分享一下。试了两种方式,不过项目下的build.gradle,没什么变化,直接看一下代码吧: build.gradle(项目下)buildscript { e
2018-01-27 18:41:51
2665
1
原创 Retrofit2的使用
第一次使用Retrofit2,并没有使用RxJava,解析返回的是String字符串在app的build.gradle中添加依赖:compile 'com.squareup.retrofit2:retrofit:2.3.0'//字符串解析器compile 'com.squareup.retrofit2:converter-scalars:2.3.0'//Gson解析器//compile 'c
2017-11-27 16:39:34
429
原创 Android判断定位功能是否可用
定位功能是否可用由定位服务和定位权限共同决定: 判断定位服务:/** * 手机是否开启位置服务,如果没有开启那么所有app将不能使用定位功能 */ public static boolean isLocServiceEnable(Context context) { LocationManager locationManager = (LocationM
2017-11-27 15:15:39
6574
1
原创 Android跳转到应用商店详情页面
最近有一个需求,产品经理按照IOS发布新版后在appstore评论或者评分功能设计的,让Android跳转到本机应用商店中本应用的详情页。 上网查了一些资料,实现步骤如下:弹出对话框: /** * 应用评价对话框 * * @param activity 上下文 * @return 对话框 */ public static Dialog sh
2017-11-27 14:55:02
5227
3
原创 Android apk反编译
有一个项目要上线,测试人员正在进行测试,闲暇之余想起还没做过反编译,就网上找一些工具,反编译了一下自己的apk。 工具使用了dex2jar-2.0和jd-gui-windows-1.4.0对代码进行了反编译和查看,记录一下步骤。第一步: 创建一个用来测试反编译的文件夹(如:反编译),把自己的应用apk解压到该文件夹中,怎么解压?apk后缀改成.zip,再使用解压工具进行解压,生成如下文件夹...
2017-11-27 14:06:05
340
原创 Eclipse项目移植到AndroidStudio爬坑记
从EC移植到AS有两种方式 **一种是:直接Eclipse中File –> Export–>Generate Gradle build files,修改一系列配置,然后在AndroidStudio中导入,再对错误进行一一修改 第二种是:在AndroidStudio中新建工程,将Eclipse中的应用目录下资源文件、代码、类库、动态加载库一一拷贝到新建的工程中,再引入依赖库,之后修改配置文件,修改
2017-07-08 17:14:06
1385
原创 自定义通讯录索引
先看一下效果图吧! 我们需求就是在右侧显示字母和“#”,只显示所列名字拼音的首字母,没使用的不显示,若有名字拼音不是“A-Z”开头的,显示“#”。 如果需求是显示全部26个字母和“#”,或需要触摸显示放大字母,可自行修改。 需要用到的jar包:
2017-05-18 13:59:23
463
转载 MySQL v5.7.18 版本解压安装
本文转载自:http://www.cnblogs.com/tongy0/p/6739188.html最新需要用到MySQL,由于许久没用了,就找了篇安装介绍,感觉写的挺仔细。 下载MySQLhttps://dev.mysql.com/downloads/mysql/5.1.html#downloads个人机子是64位的,所以选择下载:Windows (x86, 64-bit), ZIP Archi
2017-05-18 11:53:34
1377
3
原创 Java、Js中split方法的区别
这是一个偶然发现的问题。 因为常用split方法都只是使用了一个参数,Android开发时突然遇到一个以‘,’分割的字符串,其中可能会有空值(如:“a,,”),使用split(“,”)只能获取到长度为1的数组,而我需要根据数组长度判断有几个值,并根据值是否为空设置默认展示。 想了好一会都没想到怎么解决,在我准备使用replace进行一系列替换的时候,突然发现split是有两个参数的方法的:spl
2017-05-10 13:36:51
2441
2
原创 Android6.0动态权限申请
在android6.0中需要对危险权限进行动态申请,否则,在用到相关权限而并没有开启时,会出现Crash。 官方列出的危险权限如下: 此处演示以fragment中请求定位为例:private static final int REQUEST_LOCATION_CODE = 88;//判断是否打开了权限if (ContextCompat.checkSelfPermission(activit
2017-05-08 18:37:57
395
原创 手机浏览器打开本机已安装应用
首先需要在应用中已经设置了scheme,IOS需在项目配置及页面配置中设置scheme,Android在清单文件中配置如下代码:<activity android:name=".activity.SplashActivity" android:screenOrientation="portrait"> <intent-filte
2017-05-03 18:01:06
2266
原创 圆形时钟控件
这是我在一个项目中用到的时钟控件,也是在网上找的别人的代码,在这记一下,为了以后用到的时候便于找到。 package com.example.administrator.wy_exclusivecalender.view;/** * Created by qby on 2017/1/21 0021. */import android.content.Context;import androi
2017-03-27 16:18:38
3175
转载 微信小程序开发入门教程
做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了。闲话不多说,我们先来看看其有哪些官方文档。微信公众平台开发者文档统一入口为:https://mp.weixin.qq.com/wiki,这里面大部分内容都是以前就有的,微信开发都是基于此份文档。 现在的变化是在这份
2016-11-15 10:17:06
1544
原创 百度定位
http://download.csdn.net/detail/qby_nianjun/9583038“>Demo下载地址1. libs中添加:locSDK_6.13.jar 新建jniLibs, 创建armeabi目录添加so文件:locSDK6a.so 2. AndroidManifest.xml中添加:<!-- 使用定位功能所需权限 --><uses-permiss
2016-07-22 10:59:46
306
原创 旋转木马3D环形特效
根据英文版CarouselDemo改写了其中的部分代码,实现伪3D环形的旋转木马效果,所有条目都可被点击,非最前端条目点击后会先旋转到最前端,再执行点击事件。 源码下载地址:http://download.csdn.net/download/qby_nianjun/9530318
2016-05-25 03:41:06
2318
1
原创 自定义轮播图,实现无限轮播、自动轮播、按下停止轮播
本文将所有轮播图的功能实现全放在了自定义ViewPager中,若你的ViewPager需要实现轮播功能,只需要将ViewPager替换为CycleViewPager(注:本文V4包为低版本,如需要,请自行将监听更改为addOnPagechangeListener)。 主页面代码与正常使用ViewPager一致,演示采用的是在代码中实例CycleViewPager对象。
2016-05-22 01:58:44
2370
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人