Android
brave_shine
复杂的世界里,一个就够了。【One Is All】
展开
-
百度定位
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 · 312 阅读 · 0 评论 -
AndroidStudio 配置 AspectJ 环境实现AOP
昨天看了一段android配置aspectj实现AOP的直播视频,就试着自己配置了一下,可能是因为我自己的AndroidStudio环境的问题,碰到了不少的坑(其实还是因为对gradle理解的不多),但总归是配置好了,就分享一下。试了两种方式,不过项目下的build.gradle,没什么变化,直接看一下代码吧: build.gradle(项目下)buildscript { e原创 2018-01-27 18:41:51 · 2681 阅读 · 1 评论 -
Android 生成长图并添加水印(一)
本来是想做一下ListView生成长图的,最后发现ListView未显示部分获取不到,就把ListView改成了NestedScrollView包裹LinearLayout,在LinearLayout中动态添加条目布局。 先看一下效果图: 布局activity_weather_future:android.support.v4.widget.SwipeRefreshLayout原创 2018-02-03 18:21:13 · 5976 阅读 · 0 评论 -
360插件化方案RePlugin初体验
前天跟朋友聊天提到他们要做个跟360插件化方案类似的框架,领导让他们先了解一下360的实现思路,我也就跟着尝试了一下。RePlugin 是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。这是GitHub上对于RePlgin的描述,我的理解:RePlgin使项目模块间...原创 2018-02-12 17:07:06 · 1214 阅读 · 0 评论 -
Android 生成长图并添加水印(二)
本文主要介绍一下RecyclerView生成长图。 是接着上一篇Android 生成长图并添加水印(一)写的,不过单独看也是可以的,如有不清楚的地方可以先看上一篇或在下方留言。 先附效果图: 再撸代码: 页面布局没什么好写的,有RecyclerView就行,上条目布局item_recycler_list.xml:layout> data> vari原创 2018-02-06 18:28:07 · 647 阅读 · 0 评论 -
360插件化方案RePlugin学习笔记-数据持久化
数据持久化有文件存储、SharedPreferences、数据库存储、ContentProvider、网络存储几种方式。1.文件存储(不包括缓存目录下存储)、网络存储跟平时使用一样2.SharedPreferences使用 在“宿主”中存放val sharedPreferences = applicationContext.getSharedPreferences("te...原创 2018-03-07 08:40:12 · 781 阅读 · 0 评论 -
360插件化方案RePlugin学习笔记-资源共享
本来没写这个的,但是后来用的时候发现还是有坑的。 一、使用“插件”的资源1.判断是否安装了“插件”,如果没有安装,先安装“插件”2.已安装“插件”,获取“插件”资源ID: (获取 R.string.app_name 为例)通过反射//获取“插件”加载类val classLoader = RePlugin.fetchClassLoader("plugin1")//获...原创 2018-03-07 08:42:36 · 1376 阅读 · 1 评论 -
360插件化方案RePlugin学习笔记-插件使用宿主中的类
使用场景1:插件的xml布局中有以宿主的全类名作为节点的时候在application配置RePluginConfig时,有一行代码是:// 允许“插件使用宿主类”。默认为“关闭” c.setUseHostClassIfNotFound(true);这行代码设置为true时,插件项目中找不到该类,会在宿主项目中查找。 使用场景2:插件代码中用到宿主项目的类及类中的字...原创 2018-03-07 08:46:06 · 3344 阅读 · 1 评论 -
Android 生成长图并添加水印(三)
本文为生成长图系列最后一章,写一下WebView生成长图。 如有不清楚的地方,请先看下前两篇或者在下方留言交流,前两篇传送门: 1.Android 生成长图并添加水印(一) 2.Android 生成长图并添加水印(二) 还是先附上效果图,效果图是加载的我简书首页的链接: 布局代码就不再粘贴了,自行写个WebView就行。直接写页面代码: 在页面初始化方法里 setContent原创 2018-02-07 18:11:52 · 867 阅读 · 0 评论 -
360插件化方案RePlugin学习笔记-外置插件
本文介绍一下RePlugin外置插件使用方式,使用的是官方demo2中的模拟配置。步骤一:把需要作为外置插件的项目打包生成demo1.apk步骤二:把apk拷贝到宿主项目assets/xxx/下,xxx命名随意,保持一致即可这里是跟官方demo一样,结构如图: 步骤三:在触发下载外置插件的地方调用代码 //判断是否已安装demo1插件,如未安装就下载安装,如...原创 2018-03-03 11:06:26 · 1040 阅读 · 0 评论 -
360插件化方案RePlugin学习笔记-插件与宿主间的通信方式
1.使用Intent传递数据在跳转的Intent中携带数据,常规使用方法,不再举例。 参考360插件化方案RePlugin初体验 中跳转intent,向intent中放入数据进行传递,也可使用startActivityForResult传递数据并跳转到插件,再通过setResult从插件传递数据给宿主。 2.使用广播新建TestPluginReceiver.kt...原创 2018-03-14 09:07:37 · 2630 阅读 · 0 评论 -
Databinding的使用
这段有时间就看了下Databinding,简单记录一下Databinding的使用方式!一、Databinding简单尝试 首先在Module app下build.gradle中配置databindingandroid{ ... dataBinding { enabled true } ...}easy!这样就配好了。原创 2018-01-30 19:03:52 · 9879 阅读 · 1 评论 -
使用SkinManager实现换肤功能
试着用鸿洋大神写的SkinManager实现了换肤功能。一、配置 在app下build.gradle中添加依赖://换肤功能compile 'com.zhy:changeskin:4.0.2'这样就配置好了,然后在程序入口进行初始化。二、全局初始化 在自己创建的继承application的类中添加://换肤sdk初始化SkinManager.getInstanc原创 2018-02-01 13:30:10 · 4435 阅读 · 1 评论 -
旋转木马3D环形特效
根据英文版CarouselDemo改写了其中的部分代码,实现伪3D环形的旋转木马效果,所有条目都可被点击,非最前端条目点击后会先旋转到最前端,再执行点击事件。 源码下载地址:http://download.csdn.net/download/qby_nianjun/9530318原创 2016-05-25 03:41:06 · 2350 阅读 · 1 评论 -
自定义轮播图,实现无限轮播、自动轮播、按下停止轮播
本文将所有轮播图的功能实现全放在了自定义ViewPager中,若你的ViewPager需要实现轮播功能,只需要将ViewPager替换为CycleViewPager(注:本文V4包为低版本,如需要,请自行将监听更改为addOnPagechangeListener)。 主页面代码与正常使用ViewPager一致,演示采用的是在代码中实例CycleViewPager对象。原创 2016-05-22 01:58:44 · 2383 阅读 · 3 评论 -
圆形时钟控件
这是我在一个项目中用到的时钟控件,也是在网上找的别人的代码,在这记一下,为了以后用到的时候便于找到。 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 · 3195 阅读 · 0 评论 -
Android6.0动态权限申请
在android6.0中需要对危险权限进行动态申请,否则,在用到相关权限而并没有开启时,会出现Crash。 官方列出的危险权限如下: 此处演示以fragment中请求定位为例:private static final int REQUEST_LOCATION_CODE = 88;//判断是否打开了权限if (ContextCompat.checkSelfPermission(activit原创 2017-05-08 18:37:57 · 404 阅读 · 0 评论 -
手机浏览器打开本机已安装应用
首先需要在应用中已经设置了scheme,IOS需在项目配置及页面配置中设置scheme,Android在清单文件中配置如下代码:<activity android:name=".activity.SplashActivity" android:screenOrientation="portrait"> <intent-filte原创 2017-05-03 18:01:06 · 2283 阅读 · 0 评论 -
自定义通讯录索引
先看一下效果图吧! 我们需求就是在右侧显示字母和“#”,只显示所列名字拼音的首字母,没使用的不显示,若有名字拼音不是“A-Z”开头的,显示“#”。 如果需求是显示全部26个字母和“#”,或需要触摸显示放大字母,可自行修改。 需要用到的jar包:原创 2017-05-18 13:59:23 · 469 阅读 · 0 评论 -
Eclipse项目移植到AndroidStudio爬坑记
从EC移植到AS有两种方式 **一种是:直接Eclipse中File –> Export–>Generate Gradle build files,修改一系列配置,然后在AndroidStudio中导入,再对错误进行一一修改 第二种是:在AndroidStudio中新建工程,将Eclipse中的应用目录下资源文件、代码、类库、动态加载库一一拷贝到新建的工程中,再引入依赖库,之后修改配置文件,修改原创 2017-07-08 17:14:06 · 1392 阅读 · 0 评论 -
Android apk反编译
有一个项目要上线,测试人员正在进行测试,闲暇之余想起还没做过反编译,就网上找一些工具,反编译了一下自己的apk。 工具使用了dex2jar-2.0和jd-gui-windows-1.4.0对代码进行了反编译和查看,记录一下步骤。第一步: 创建一个用来测试反编译的文件夹(如:反编译),把自己的应用apk解压到该文件夹中,怎么解压?apk后缀改成.zip,再使用解压工具进行解压,生成如下文件夹...原创 2017-11-27 14:06:05 · 346 阅读 · 0 评论 -
Android跳转到应用商店详情页面
最近有一个需求,产品经理按照IOS发布新版后在appstore评论或者评分功能设计的,让Android跳转到本机应用商店中本应用的详情页。 上网查了一些资料,实现步骤如下:弹出对话框: /** * 应用评价对话框 * * @param activity 上下文 * @return 对话框 */ public static Dialog sh原创 2017-11-27 14:55:02 · 5239 阅读 · 3 评论 -
Android判断定位功能是否可用
定位功能是否可用由定位服务和定位权限共同决定: 判断定位服务:/** * 手机是否开启位置服务,如果没有开启那么所有app将不能使用定位功能 */ public static boolean isLocServiceEnable(Context context) { LocationManager locationManager = (LocationM原创 2017-11-27 15:15:39 · 6589 阅读 · 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 · 441 阅读 · 0 评论 -
360插件化方案RePlugin学习笔记-汇总
上篇 360插件化方案RePlugin初体验 简单介绍了一下RePlugin的内置插件化配置方式,但在开发过程中具体使用有很多问题还需要慢慢探究。本文之前是写在一起的,比较长,看起来不太方便,就分别抽了出去,这里算是做一下汇总。一、模拟外置插件方式360插件化方案RePlugin学习笔记-外置插件二、数据持久化360插件化方案RePlugin学习笔记-数据持久化三、资源的共...原创 2018-03-14 09:15:11 · 438 阅读 · 0 评论