
android
csdn_mm
这个作者很懒,什么都没留下…
展开
-
代码设置桌面壁纸或者屏保
今天公司让弄一个把图片和视频设置为屏保和壁纸的功能,刚开始在网上找了很多资料 设置壁纸很好实现 一句话就可以了,这个可以参考这个人写的代码 [图片视频设置为壁纸](https://github.com/DingMouRen/VideoWallpaper) 但是实现设置锁屏屏保就不大好实现了原创 2021-07-31 11:47:50 · 4073 阅读 · 0 评论 -
android studio 更改代码不生效 卸载APP之后才生效
这两天遇到一个问题, 特别的恶心,更改代码后 运行时代码不生效,只有将APP卸载后才生效,并且如果软件不卸载,以后永远展示的是第一次安装时的效果,debug也是第一次时的代码 超级恶心,在网上查了好多 有说关闭instant run的 有说debug路径更改的,我没有这种情况啊 就是不好使,有的同行说 只能跳槽了,额。。。为了找到原因 尝试了各种办法 ,此处省略一万字。。。问题来了 引起...原创 2019-04-18 19:25:53 · 3477 阅读 · 8 评论 -
一个Recyclerview适配多种集合数据,多布局呈现,告别多层嵌套listview
今天项目中用到了这么一个需求,一个recyclerview中适配多个集合的数据。效果如下:可能有的人第一反应是recyclerview中再嵌套一个listview,这种方法虽然能实现效果,但是可能会引起滑动冲突,还有就是这里面有两组list数据,如果有三组呢,四组呢,嵌套多少listview啊,今天就说下如何用一个recyclerview实现适配多种list。思路: 咱们将数据分解一...原创 2018-07-04 20:58:15 · 16883 阅读 · 15 评论 -
Android 安全退出App完美实现
本文主要介绍两种方式退出APP,一种是基于Activity的启动模式singleTask模式实现的,一种是基于全局Activity管理类实现的。强烈推荐第一种方法实现,简单又方便。基于Activity的启动模式singleTask模式实现 singleTask是Activity启动模式中的一种,当startActivity时,它先会在当前栈中查询是否存在Activity的实例,如果存在,则...原创 2018-06-08 11:08:50 · 8981 阅读 · 5 评论 -
Android优化方案之--Fragment的懒加载实现
转载地址:https://blog.csdn.net/ljcitworld/article/details/77528585一、背景在Android应用中,ViewPager是我们不可避免使用的一个控件,因为它可以使我们在占用较少空间的同时,增强内容的丰富性,同时以其内部流淌着Google的血液,所以它几乎成了每一个App的标配控件。但是,假如ViewPager的每一个Fragment都需要通过网...转载 2018-05-23 11:42:54 · 599 阅读 · 0 评论 -
360度监听屏幕横竖屏切换
直接上方法创建OrientationEventListener对象并实现里面的方法mOrientationListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) { @Override publi...原创 2018-05-22 09:54:35 · 870 阅读 · 0 评论 -
MVP架构实例讲解-登录界面
MVP优缺点就不介绍了,主要说下应用,今天已程序登录的界面讲解如何用MVP架构,写的不好的地方欢迎指正 在介绍之前,先看下demo的目录结构 定义网络相关接口 网络请求都是共通的,所以可以把网络部分单独摘出来。 首先定义网络请求状态接口。所有的网络请求都包括开始,成功,不成功。所以网络请求状态接口如下所示public interface RequestStatus<T...原创 2018-05-07 22:52:18 · 2175 阅读 · 0 评论 -
代码上传到jcenter及填坑
首先我们看看写的gradle代码的含义:compile 'com.first:FirstLibrary:1.0.0'其组成是这样的:GROUP_ID:ARTIFACT_ID:VERSIONGROUP_ID指的是com.first,类似于包名;ARTIFACT_ID指的是FirstLibrary,类似于类库的名称;VERSION是1.0.0,也就是版本号。注册账号在b...原创 2018-04-26 09:41:17 · 1740 阅读 · 1 评论 -
Spinner的用法介绍(兼容性问题)
今天碰到一个spinner在华为mate10上显示异常的问题。如下图 正常显示应该是这样的 如下图 回顾下spinner的用法一.布局文件中配置 <Spinner android:paddingRight="20dp" style="@style/spinner_bg" andro...原创 2018-03-27 15:02:50 · 1906 阅读 · 0 评论 -
回调的简单实现
首先,新建一个接口CallBackApublic interface CallBackA { void showA(String str);}第一种方法,通过构造方法传入interface新建ClassA,编写参数为CallBackA的构造方法 public ClassA(CallBackA callBackA) { this.call...原创 2018-03-08 11:34:31 · 588 阅读 · 0 评论 -
沉浸式状态栏简单实现
//设置状态栏为透明或者半透明 public static void translucentStatusBar(Activity activity, boolean hideStatusBarBackground) { Window window = activity.getWindow(); //添加Flag把状态栏设为可绘制模式 wi...原创 2018-03-07 17:41:45 · 410 阅读 · 0 评论 -
LeakCanary使用详解
转载地址:http://blog.csdn.net/itachi85/article/details/77826112?utm_source=gold_browser_extension如果使用MAT来分析内存问题,会有一些难度,并且效率也不是很高,对于一个内存泄漏问题,可能要进行多次排查和对比。 为了能够简单迅速的发现内存泄漏,Square公司基于MAT开源了LeakCa转载 2018-03-07 15:59:57 · 599 阅读 · 0 评论 -
Retrofit2.0应用
Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit底层基于OkHttp实现的,与其他网络框架不同的是它更多使用运行时注解的方式提供功能使用前的准备工作 添加依赖 compile'com.squareup.retrofit2:retrofit:2.1.0' compile'com.squareup.retrofit2:原创 2018-02-12 17:41:48 · 187 阅读 · 0 评论 -
Android图片加载框架最全解析 带你全面了解Glide 4的用法
转载出处:http://blog.csdn.net/guolin_blog/article/details/78582548Glide 4概述刚才有说到,有些朋友觉得Glide 4相对于Glide 3改动非常大,其实不然。之所以大家会有这种错觉,是因为你将Glide 3的用法直接搬到Glide 4中去使用,结果IDE全面报错,然后大家可能就觉得Glide 4的用法完全变掉了转载 2018-01-03 09:25:13 · 342 阅读 · 0 评论 -
EventBus 3.0实现Activity和fragment通信、fragment和fragment通信
eventBus3.0 fragment之间通信原创 2017-12-21 14:11:52 · 7671 阅读 · 1 评论 -
Android 微信支付集成
准备工作1.先在微信开发者平台注册账号:开发者平台地址 https://open.weixin.qq.com/ 2.注册完之后,需要申请开发者资质认证,这个是要交费的,还需要填写公司信息啥的 3.认证完之后就可以创建应用了 将应用的信息填完之后提交之后,等待微信官方的审核,几天的等待。。。 4.审核通过之后,可以得到appid 5.申请微信支付功能,提交完申请又是漫长的等待,几天之后原创 2017-12-15 15:20:26 · 1794 阅读 · 0 评论 -
Android微信支付流程及返回码-1之坑
转载地址:http://crocutax.com之前做微信支付的时候,直接是以库形式引入项目的,虽然一直觉得微信支付的开发文档不太理想,但是印象中也没有遇到什么大坑。今天项目组的一个小伙伴突然告诉我微信支付一直失败,根本调不起来支付页面,onResp() 中的返回码一直是-1,而且他好像已经搞了好几个小时了。于是我pull了一下项目代码开始排查问题。最终发现问题有两个:微信转载 2017-12-11 17:20:30 · 6139 阅读 · 0 评论 -
Android so文件的制作封装与跨平台引用
结合网上众多jni实现流程整理了一套完整且可行的jni教程,有不足的地方欢迎指出与探讨!!废话不多说直接上实现流程:看网上大多都是用命令生成.c .cpp文件,每次都得编译命令去生成有点小麻烦,本文介绍直接用studio配置命令一键生成.so文件,一劳永逸。直接在project下开始:1、打开File | Sett转载 2017-12-05 11:05:35 · 1505 阅读 · 0 评论 -
GreenDao存储list集合数据
假如在实体类A中有一种List类型的数据也需要保存到数据库中,该如何处理呢??**答案很简单,可以转换一下思路,首先考虑下如果是String类型的数据,首先遍历List数据,然后将所有的String对象都append到一个StringBuilder中,然后保存在数据库中即可。 事实上,GreenDao已经为我们考虑到了这种情况,因此才有了 PropertyConverter 这个接口在Prope原创 2017-12-04 13:49:28 · 7340 阅读 · 2 评论 -
阿里云HotFix热修复应用
集成步骤:创建应用 登录移动热修复控制台:https://hotfix.console.aliyun.com/,点击右上角创建App在MHub控制台点击右上角创建产品,填入产品名称、行业分类和描述。产品创建 2.点击创建应用按钮,填写APP名称、端类型、packageName/bundleId 完成应用创建 3.创建完成后点击左侧服务列表选择移动热修复,进入移动热修复控制台 里面有我们一原创 2017-11-28 17:35:46 · 2037 阅读 · 0 评论 -
用SpannableString打造绚丽多彩的文本显示效果
引语转载地址http://www.jianshu.com/p/84067ad289d2TeXtView大家应该都不陌生,文本展示控件嘛! 就用TextView显示普普通通的文本,OK,很简单,Android入门的都会,没入门的在门缝外看两眼也都会,哈哈,开玩笑。那要是设计在开发需求中要求类似微信聊天表情一样在TextView中插入表情图片呢? 有的小伙伴就会说啦,“Text转载 2017-11-24 11:52:04 · 298 阅读 · 0 评论 -
Android 短信验证 Mob3.0
今天公司项目用到了短信验证(公司最后用了聚合的短信接口),看了下mob,感觉还很好用,于是决定写下了,以备以后用到。 注:一个手机号码一天最多只能收到10次验证码,超过10次就不发送了获取AppKey和App Secret 首先,你需要有Mob的账号,到这个网址http://www.mob.com/注册。注册完登录后,进入后台,如下图 其次,添加应用,如下图 添加完成后,点击左侧的设置就原创 2017-11-08 17:40:18 · 1680 阅读 · 1 评论 -
Android 基于TCP协议的Socket通信
TCP/IP协议是一种可靠的网络协议,它在通信的两端各建立一个socket,从而在通信的两端形成网络虚拟链路。两端的程序就可以通过虚拟链路通信。java使用socket对象来代表两端的通信接口。并通过socket产生I/O流来进行网络通信 IP协议是Internet上使用的一个关键协议,通过使用IP协议,使Internet成为一个允许连接不同类型的计算机和不同操作系统的网络 ...原创 2017-10-31 19:58:24 · 1603 阅读 · 0 评论 -
Android 项目中打开另一个应用、软件重启
有时候我们可能有这个需求,就是在软件中打开另一个软件。这时候,只要知道另一个软件的包名,就可以轻松实现。代码如下: PackageManager packageManager = getPackageManager(); Intent intent = packageManager.getLaunchIntentForPackage("com.test"); sta原创 2017-10-31 11:16:41 · 1853 阅读 · 0 评论 -
Android 将Android项目打包成aar文件并在其他项目中引用,打包成jar包
首先说一下jar包和aar包有什么区别?1.打包之后生成的文件地址:*.jar:库/build/intermediates/bundles/debug(release)/classes.jar*.aar:库/build/outputs/aar/libraryname.aar2.jar包只包含了classes文件,不包含资源文件;aar不仅包含了classes文件,还包含资源文件 并且,aar的这原创 2017-10-27 14:20:53 · 14474 阅读 · 0 评论 -
Android 友盟错误分析的用法
友盟的错误分析能将软件中的异常信息提交到友盟平台,自动提交,不用手动提交,下面这个图是官方对错误分析的介绍使用前的准备1.配置gradle compile 'com.umeng.analytics:analytics:latest.integration'2.获得Appkey 集成友盟SDK之前,您首先需要到友盟官网注册并且添加新应用,获得Appkey特别提醒:我们建议开发者在注册账号时使用企原创 2017-10-25 11:51:00 · 2134 阅读 · 1 评论 -
Android 蓝牙开发基础操作
蓝牙开发权限<!-- 允许程序进行发现和配对新的蓝牙设备--> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- 允许程序连接配对过的蓝牙设备--> <uses-permission android:name="andr...原创 2017-10-23 15:15:01 · 1093 阅读 · 0 评论 -
Android GreenDao3.2.2简单使用
greendao的优点就不说了,直接说怎么用,方便以后查阅,这是我在csdn上的第一篇博客,哈哈第一步,在build.gradle(Project:) 里面添加依赖 注意:依赖包的版本号要和下面导入的greendao的版本号一致第二步,在build.gradle(Module:app) 里面设置 1.apply plugin: ‘org.greenrobo原创 2017-10-12 11:19:13 · 2304 阅读 · 0 评论