![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 63
Hi以梦为马
以梦为马,诗酒乘年华~
展开
-
Android设计模式及应用
1 概述1.1 定义设计模式是一种被反复使用的代码设计经验的总结,其目的是为了复用代码,让代码可读性更强。1.2 原则开闭原则:对扩展开放,对修改关闭单一职责原则:一个类应该实现单一的职责,两个完全不一样的功能不应该封装在同一个类中里氏替换原则:抽象和继承的体现,任何基类可以出现的地方,子类一定可以出现,它是集成复用的基础。只有当子类可以正常替换基类,且功能不受影响时,基类才实现真正复用,而子类也可在基类的基础上实现自有功能依赖倒置原则:面向接口编程,而不是面向实现编程,降低类之间的耦合性原创 2021-04-28 15:30:30 · 352 阅读 · 0 评论 -
Android Presentation双屏异显效果的实现
1.场景说明日常生活中,有时候会遇到Android设备连接两个屏幕进行显示的问题,比如酒店登记信息时,一个屏幕用于员工操作,一个屏幕显示相关信息供顾客查看。这里就涉及到android的双屏异显的问题,实现android的双屏异显,Google也提供了相应的API方法Presentation。2.Presentation介绍要了解API的具体调用,推荐先查看官方的文档:Presentation文档Android从4.2开始支持双屏显示,开发时需 minSdkVersion >= 17 。Andr原创 2021-04-23 18:16:04 · 1995 阅读 · 0 评论 -
android 应用宝上应用隐私权限声明的处理
android 应用宝上应用隐私权限声明的处理场景说明最近运维同学反馈,在应用宝上传应用审核的时候被打回,原因是用户隐私权限的处理,通知内容如下然后查看了一下市面上淘宝等其他应用的样式,发现效果如下所示:根据上面的内容可知,主要是需要在应用第一次安装的时候,提醒用户隐私权限相关的声明,并且用户可以进入隐私权限界面查看相关隐私内容。逻辑实现通过上面的说明,结合市面上常用的实现方式,该功能的流程图如下所示:由于判断是否是第一次进入和隐私权限界面在大多数的应用中都已经存在,因此本文主要介绍对话原创 2020-05-15 18:50:15 · 9276 阅读 · 0 评论 -
ReactNative对接Android步骤
ReactNative对接Android步骤1.开发环境搭建1.1 安装依赖必须安装的依赖有:Node、Python2、JDK 和 Android Studio。虽然你可以使用任何编辑器来开发应用(编写 js 代码),但必须安装 Android Studio 来获得编译 Android 应用所需的工具和环境。Node, Python2, JDK建议直接使用搜索引擎搜索下载 Node 、...原创 2020-04-23 10:40:03 · 1134 阅读 · 0 评论 -
android 调起第三方地图并添加标注
在地图应用相关的开发中,经常会应用到打开第三方地图应用,并在打开的地图上显示标注信息,本文将具体说明目前国内三大地图:百度地图、高德地图、腾讯地图的具体实现效果。 判断地图是否安装:https://www.jianshu.com/p/ea092e243aaa坐标转换:http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposi...原创 2018-09-11 10:52:38 · 3028 阅读 · 1 评论 -
Android通知栏微技巧,8.0系统中通知栏的适配
本文转载至:https://blog.csdn.net/guolin_blog/article/details/79854070大家好,今天我们继续来学习Android 8.0系统的适配。之前我们已经讲到了,An...转载 2018-09-13 13:20:29 · 341 阅读 · 2 评论 -
Android 8.0应用快捷方式(ShortcutManager)的使用
在Android系统上,有时候会看到在桌面上长按应用图标弹出应用快捷列表,例如美团、支付宝、微博、印象笔记、QQ邮箱等,效果图如下所示: 用户可以通过这些快捷键,直接访问应用具体的界面,并且长按这些快捷键可以在桌面上创建一个该快捷键的应用图标,比如长按上图中的收钱快捷键,拖动即可在桌面创建一个支付宝收钱快捷方式。 这个效果是Android 7.1之后新增的一个功能:应用快捷方式Shortc...原创 2018-09-11 14:34:02 · 8795 阅读 · 0 评论 -
Android 通过百度地图实现膜拜单车首界面效果
最近在学习一些百度地图相关的API应用,中间有一个功能是实现类似膜拜单车首页的效果。本文将介绍通过百度地图来实现膜拜单车首界面的效果。先看下膜拜单车效果图(本文截取的是微信小程序的效果图) 效果分析根据上图中膜拜单车的效果,主要实现功能是:进入地图界面获取定位,移动定位到地图中心点,获取中心点周边Poi信息,拖动地图,中心点图标不动,地图拖动停止,重新请求中心点周边Poi。根据上述功能,...原创 2018-08-28 20:20:18 · 1036 阅读 · 4 评论 -
Android多媒体相关框架
文章内容来源:https://github.com/Trinea/android-open-project 本文主要介绍一些github上开源的多媒体相关的框架,设计到视频、音频和图片等内容cocos2d-x 跨平台的 2d 游戏框架,支持 Android、IOS、Linux、Windows 等众多平台 项目地址:https://github.com/cocos2d/cocos2d-x...转载 2018-08-03 15:35:29 · 791 阅读 · 0 评论 -
Android P应用适配指南
AndroidP兼容性变化1 对非 SDK 接口的限制1.1 介绍非sdk的接口存在着稳定性问题,随着android版本的变化随时都有可能被移除,AndroidP开始,为了更好的提升app的兼容性,正对隐藏的非sdk接口进行限制,通过名单控制进行使用限制,具体规则限制如下:1.2 影响范围所有运行在AndroidP系统上的应用1.3 如何适配(1)对于黑名单及深灰名单中的接口,应用...原创 2018-10-15 11:17:04 · 2057 阅读 · 0 评论 -
Android 8.0通知权限的相关处理
之前的文章曾经介绍过Android 8.0通知适配的一些方法(详见:Android通知栏微技巧,8.0系统中通知栏的适配),本文即是在该基础上解决一个开发过程中遇到的问题,不清楚的可以先行查看之前的博客内容,了解Android 8.0之后,通知栏相关的适配内容。问题描述:本文所涉及的内容是,在开发过程中,我们会遇到实时更新状态栏通知信息,比如下载的时候,下载进度信息我们需要在通知栏上进行实时...原创 2019-02-14 10:41:16 · 2660 阅读 · 0 评论 -
Android 多个输入框的自动跳转
在Android的项目开发过程中,经常会遇到输入手机验证码的需求,常见的处理方式是设置一个输入框,提醒用户输入获取到的验证码,如下图所示:这种类型的验证码就是对EditText控件做简单的处理即可,还有一种交互效果是另外一种样式,如下图所示:这一种交互方式是通过多个输入框来实现的,并且实现了 输入框的自动跳转等效果,本文主要介绍的就是这种效果的实现方式,首先我们先来看一下最终实现的效果:...原创 2019-05-09 10:40:09 · 2071 阅读 · 0 评论 -
Android 判断Fragment对用户是否可见
背景最近在开发中遇到了一个问题。我们的app需要统计用户的页面路径,也就是用户使用各个页面的情况。这就需要在不同的页面跳入和跳出时记录下来。但是我们的app主要是由Fragment构成的。而在不同的使用情况下,判断Fragment是否可见的方法是不一样的。下面对这些不同的使用情况分开分析。不同的情况在Activity中直接使用这种情况是最简单的,也就是在Activity使用XML引入,或者...原创 2019-05-27 15:02:55 · 6161 阅读 · 0 评论 -
Android 仿京东顶部搜索框滑动伸缩动画效果
最近使用京东发现,京东顶部的搜索框有一个动态的伸缩效果,根据用户的手势滑动,伸缩搜索框。觉得效果还不错,就看了下其他的应用有没有这种伸缩的效果,发现安居客也使用了类似的一种效果,然后就想着实现这样的一种动画效果。首先看下第三方的效果图:京东效果:安居客效果:我们最终实现的效果:仿京东效果:仿安居客效果:看完效果图,接下来,我们开始具体实现上面的效果:布局文件的编写根据效果...原创 2019-06-17 10:52:51 · 14537 阅读 · 5 评论 -
Android 小米全面屏手势底部虚拟按键的适配
在项目的开发过程中,发现小米部分手机有一个全面屏手势功能,该功能可隐藏底部虚拟按键,通过手势的方式来实现返回和Home功能。效果如下所示:当开启全面屏手势的时候,就会存在一个问题,我们通过以下代码来获取的屏幕高度DisplayMetrics metrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getM...原创 2019-07-11 17:12:41 · 10121 阅读 · 2 评论 -
Glide 4.0中图片宽高自适应时显示异常的解决
问题描述之前写过一篇有关Glide的使用的文章:Android Glide图片加载框架使用过程中遇到的问题总结 ,这篇文章主要针对的是Glide 3.0使用过程中遇到的问题,最近一直在使用Glide 4.0做图片的加载,在最近的项目开发过程中,涉及到了宽度固定,高度自适应的情况(应用场景:流式布局、活动弹窗图等),当时的处理方式是在布局文件中添加如下代码:<ImageView a...原创 2019-08-19 10:39:18 · 4575 阅读 · 4 评论 -
Android OkHttp中Https的处理
在android的开发过程中,我们目前常用到的网络请求框架基本都是基于Okhttp,而Https网络通信在APP的开发中也被应用的越来越多,Okhttp默认是支持https网络请求的,但是支持的Https网站必须是CA机构认证了的,对于自签名的网址,还是不能访问的,访问直接抛出如下异常信息:onFailure: java.security.cert.CertPathValidatorExc...原创 2018-07-30 14:35:28 · 9306 阅读 · 0 评论 -
android Snackbar新控件解析
Dialog和Toast,我们在日常的开发中一定非常熟悉,常常被用来作为Android应用内提示性信息的两种展示方式。然而Google在Design包中又提供了一种新的选择,那就是Snackbar。今天主要介绍Snackbar新控件的使用,以及三种提示信息展示方式的比较。什么是SnackbarSnackbar 是 Android 5.0 新特性——Material Design 中的一...原创 2018-07-18 13:32:35 · 14704 阅读 · 0 评论 -
Android基础笔记一之测试与文件操作
一.Android测试1.测试的分类1.1. 根据测试是否有源代码a.黑盒测试:不知道源代码,测试应用程序的业务逻辑b.白盒测试:写测试代码,测试源代码里面的业务方法1.2. 根据测试的粒度a.方法测试(function test):对某个方法进行测试b.单元测试(unit test):junit测试框架,对程序的某个单元模块进行测试c.集成测试(integrati原创 2014-01-29 23:44:12 · 1234 阅读 · 0 评论 -
Android模仿三星手机系统滑动条滑动时滑块变大的特效
使用三星手机的过程中发现三星手机系统自带的滑动条有一个特效,比如调节亮度的滑动条,在滑动滑块的过程中,滑块会变大,功能很小但是体验却很好,于是决定做一个这样的效果出来,好了废话不多说了,下面开始实现我们知道在SeekBar控件中有两个很重要的属性,一个是进度条(即android:progressDrawable属性),一个是滑块(即android:thumb属性),我们主要用到的是滑块的特效,原创 2015-03-20 09:57:17 · 2361 阅读 · 1 评论 -
Android Eclipse下工程移植到Android Studio详细步骤
重新申请了一台电脑之后,最近开始试着使用Android studio对项目进行开发,安装好studio之后首先要做的就是之前Eclipse上面项目的移植问题,今天尝试了几个不同的项目,顺便参考了不同的网上资料,资料比较多,就想着自己整理一份以备不时之需,开始具体的步骤:1.Eclipse上要一直项目的输出,选中项目右键 --> Export --> Android --> Generate G原创 2015-04-02 18:14:52 · 2436 阅读 · 1 评论 -
Android混淆时出现的proguard returned with error code 1.See console问题
最近使用项目进行Android的混淆处理,工程中加入了多个第三方的jar包,直接使用project.properties中的proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt进行混淆处理,打包APK的时候出现了proguard returned with error code 1.S原创 2015-05-06 09:54:21 · 3497 阅读 · 1 评论 -
Android Studio上修改SVN地址
公司网络更新,服务器地址也随之发生了修改,本以为不会出现什么问题,结果在向服务器提交代码的过程中,才意识到SVN的服务器地址也发生了变化,首先尝试着删除了SVN Repositories 下的服务器地址,添加变更后的地址,无效!接着尝试着修改了Configure Branches配置信息,结果直接出现了如下图的现象没办法,到必应上去找一下SVN服务器修改后(没办法,不太喜欢度娘),编译原创 2016-01-21 17:58:04 · 22065 阅读 · 5 评论 -
Android通过Okhttp3实现socket长连接
Android通过Okhttp3实现socket长连接由于项目中用到了实时刷新服务器数据的功能,通常的方式有两种: 1.客户端定时请求服务器,然后刷新本地数据(这种方式客户端请求量较大,对服务端带宽也有要求)。 2.通过客户端与服务器端建立socket长连接的方式,客户端获取到服务器数据变化,进行数据的刷新操作(需要客户端和服务器配合,建立socket长连接)。 两种方式在之前的工作过程...原创 2018-03-26 16:00:38 · 21933 阅读 · 15 评论 -
Android通过WebView实现截图分享功能
在APP项目的开发过程中,经常会用到分享图片的功能,有时候还需要根据当前用户信息获取指定的分享图片,比如要求在用户分享图中显示用户名、Uid、用户头像等信息。想到的实现方法主要有两点: 1.通过android SDK自带的Canvas方法进行绘制。 2.通过webView实现客户端与H5交互,然后将H5界面做截图处理。 本文主要介绍第二种方式的实现过程,第一种方式的实现方法,后续有时间会在博...原创 2018-03-27 14:11:43 · 3568 阅读 · 3 评论 -
Android ViewPager嵌套ViewPager+Fragment问题
最近在项目中又遇到了ViewPager互相嵌套的问题,代码实现很简单,主要可能出现的问题是子ViewPager的fragment滑动出现白屏,这个问题的出现是FragmentManager方法调用错误,android中涉及到FragmentManager的方法主要有:getChildFragmentManager()、getFragmentManager()和getSupportFragmentM...原创 2018-04-10 14:46:57 · 6549 阅读 · 1 评论 -
Android Glide图片加载框架使用过程中遇到的问题总结
目前android开发中常用的图片框架主要集中在ImageLoader,Picasso,Fresco,Glide,各框架之间的优劣网上有很多分析文章,在此不做单独分析,本文主要介绍在开发过程中使用Glide的时出现的问题,以及对应的解决方法。有关Glide的相关介绍推荐郭神的文章——Android图片加载框架最全解析1.加载图片变绿加载图片变绿,主要原因是图片压缩所致,使用webp显示图片...原创 2018-03-28 15:04:00 · 2407 阅读 · 0 评论 -
Android Studio项目部署到码云(oschina)
在项目的开发过程中,我们经常会用到版本控制,常用的有SVN和Git,比如目前我们项目组内部资源的获取使用SVN,代码的管理使用Git。使用Git需要远程仓库,常见的远程仓库有Github和Oschia,github上面项目多,但是国内访问较慢,本文主要介绍将项目部署到码云上的方法。准备工作1.Android Studio的安装和配置 2.git的安装 3.登录oschina码云部署...原创 2018-03-29 13:11:29 · 1681 阅读 · 0 评论 -
android BottomSheetDialog新控件解析,实现知乎评论列表效果
android BottomSheetDialog解析,实现知乎评论列表BottomSheetDialog使用解析Android Support Library 23.2里的 Design Support Library新加了一个Bottom Sheets控件,Bottom Sheets顾名思义就是底部操作控件,用于在屏幕底部创建一个可滑动关闭的视图,可以替代对话框和菜单。其中包含Bo...原创 2018-06-27 19:17:57 · 16720 阅读 · 15 评论 -
android ConstraintLayout约束布局的使用
本文出自张鸿洋的博客说明Google I/O 2016上,Android团队为开发者带来了ConstraintLayout,一种构建于弹性Constraints(约束)系统的新型Android Layout,约束布局允许你在相同视图层级中(不是相互层叠的视图组合)制作大而复杂的布局。它类似于相对布局那样所有的视图位置是根据子布局或父布局决定的,但是它比相对布局更加灵活,并且在Andro...转载 2018-06-28 12:15:04 · 3230 阅读 · 0 评论 -
Android ANR问题总结
本文转载:https://www.jianshu.com/p/fa962a5fd939 在实际情况中,当Android项目的用户量特别大时候,一些细小的问题也会被放大,ANR问题就是一个典型的例子。 一些ANR问题只会发生在用户实际使用的情景,当系统资源比较紧张等一些特殊情况下才会遇到,而这些ANR问题有很大一部分是因为我们的代码不合理导致,这就需要我们定位问题,修复问题,并且在以后的代码设计...转载 2018-07-11 11:59:41 · 2120 阅读 · 1 评论 -
android 数据库框架GreenDao的使用
android的开发过程中,我们经常会用到数据存储的功能,目前android中常用的存储方式主要有:SharedPreferences存储数据:以key-value(键值对)的方式存储一些轻量级的数据本地文件存储数据本地数据库存储数据(基于sqlite)服务器在线存储 本文主要介绍本地数据库存储的一种实现方式,通过GreenDao创建本地数据库。 目前市面上比较常用的android...原创 2018-07-23 14:18:31 · 502 阅读 · 0 评论 -
Android基础笔记二之SQLite数据库
三.SQLite数据库1. 数据库的创建1.1. 创建一个类,继承SQLiteOpenHelper类1.2. 覆盖父类中的构造方法:super(context,name,factory,version)第一个参数为为上下文,第二个参数为数据库名称,第三个参数为数据库查询结果的游标工厂,第四个参数为数据库的版本>=11.3. 覆盖父类中的方法onCreate(SQLiteDat原创 2014-01-29 23:47:11 · 1101 阅读 · 0 评论