![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
飞奔的小付
这个作者很懒,什么都没留下…
展开
-
Android调用系统拨号功能
1.点击拨号按钮直接外呼电话,不显示拨号界面 String phoneNum = inputPhoneNumber.getText().toString(); Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneNum));startActivity(intent);2.点击拨号按钮后跳转到拨号界面,并没有外呼原创 2015-08-25 22:07:35 · 671 阅读 · 0 评论 -
面向对象原则之里氏替换原则
一.简称 英文全称是Liskov Substitution Principle, 缩写是LSP二.定义 如果对每一个类型为S的对象O1,都有类型为T的对象O2,使得以T定义的所有程序P在所有的对象O1都替换成O2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。 简单的说就是所有引用基类的地方必须能透明地使用其子类的对象。通俗点讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不原创 2017-07-05 11:08:38 · 641 阅读 · 0 评论 -
面向对象之接口隔离原则
一.简称英文全称InterfaceSegregation Principles,缩写是ISP。二.定义一种定义是:客户端不应该依赖于它不需要的接口;另一种定义是类间的依赖关系应该建立在最小的接口上。三.问题比如当我们用到流的时候,在最后都要做关闭操作,我们既要判断非空操作,又要try…catch,写一串代码,如果只用到一个类还好,要是类多的话,就要写很多了,是可忍孰不可忍。四.解决既然都要实现了Cl原创 2017-07-09 09:59:25 · 388 阅读 · 0 评论 -
小米手机调用系统相册异常
在做项目的时候,需要调取手机本地的图片并上传到服务器,在小米手机上测试的时候,获取的cursor为null,在其他手机上是没有问题,查询资料发现,在Android4.4之后返回的不再是图片的绝对路径,而是图片的编码,我们需要做一些转换处理才能使用。 public static Uri geturi(android.content.Intent intent,Context context) {原创 2017-09-04 16:08:38 · 2611 阅读 · 0 评论 -
app:processDebugManifest 错误
今天在开发中遇到了这个错误,在此记录一下解决办法。Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see logs我勒个去,这日志信息也太少了吧,我又不是大仙,别急,有办法查看更多的信息。在AndroidStudio的terminal原创 2017-08-28 16:59:56 · 2793 阅读 · 0 评论 -
WebView开发详解
目录 一.前言 现在很多app并不是纯原生开发,而是会嵌套网页,比如一些经常会变动的页面往往会采用嵌套h5网页的形式展现。Android中就有一个专门用来加载html网页的组件,这个组件就是Webview。 二.概述 Webview是Android开发中常见的控件,内部实现是采用渲染引擎来展示内容,Android4.4以前采用Webkit渲染引擎,4.4版本及原创 2018-01-11 16:34:18 · 1815 阅读 · 0 评论 -
ProGuard技术详解
目录 一.简介 ProGuard是一个开源的Java代码混淆器,在Android中一提起ProGuard,我们通常第一想到的是用来混淆代码的,其实它的功能并不仅限于此,有以下四个功能: (1)压缩(Shrink):侦测并移除代码中无用的类、字段、方法和特性 (2)优化(Optimize):对字节码进行优化,移除无用的指令 (3)混淆(Obfuscate):使用a,b,c,d这样简短而原创 2018-01-17 16:02:08 · 3118 阅读 · 0 评论 -
SQLite数据库版本升级
一.简介 我们在开发应用的时候,存储数据可能会用到数据库。第一个版本时所设计的数据库结构,如果在以后的app版本中需要增加业务逻辑,数据库的表可能要做相应的修改,那么原来的数据库结构就不能用了,这时就需要对数据库进行升级。二.升级方案 1.让用户将应用卸载然后再安装最新版本的app 2.对数据库进行升级 对于第一种方案,用户卸载老版本就会造成数据丢失,这样...原创 2018-03-12 17:01:56 · 9439 阅读 · 0 评论 -
单例模式
一.前言 在日常开发中或者在面试中用到的设计模式最多的就是单例模式,这篇文章简单的讲一下单例,包括单例的概念,好处,特点,几种写法及怎样防止攻击单例。 二.概念 单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例 三.好处 对于频繁使用的对象,可以省略创建对象的时间,由于new操作的次数减少,因而对系统内存的使用频率也会降低,将减轻GC压力...原创 2018-04-03 17:15:46 · 174 阅读 · 0 评论 -
开闭原则
1.简称 开闭原则的全称是Open close Principle ,缩写是OCP2.定义 软件中的对象(类、模块、函数等)应该 对于扩展是开放的,对于修改是封闭的。3.问题 在软件的生命周期内,因为变化、升有代码进级和维护等原因需要对软件原行修改时,可能会将错误引入原本已经测试过的旧版本中,破环原有系统。4.解决 尽量使用扩展的方式实现变化,但在实际开发中往往修改原有代码、扩展代码同时进行原创 2017-07-02 07:22:09 · 399 阅读 · 0 评论 -
GreenDao3.2.2使用
转载请注明出处:http://blog.csdn.net/feibendexiaoma/article/details/73912660 一.前言 官方文档是这样解释的: greenDAO是一款开放源代码的Android ORM,使SQLite数据库的开发变得有趣。 它减轻开发人员处理低级数据库需求,同时节省开发时间。 SQLite是一个令人敬畏的嵌入式关系数据库。 不过,编写SQL和解析查询原创 2017-06-29 15:28:12 · 3219 阅读 · 0 评论 -
Caused by: java.lang.ClassNotFoundException: Didn't find class "XXX" on path: DexPathList[[zip file
在工作中遇到Caused by: java.lang.ClassNotFoundException: Didn’t find class “XXX” on path: DexPathList[[zip file “/data/app/net.sourceforge.simcpux-2.apk”],nativeLibraryDirectories=[/data/app-lib/net.sourcef原创 2015-08-05 15:16:36 · 15927 阅读 · 0 评论 -
Caused by: java.lang.IllegalArgumentException: Can't use FLAG_RECEIVER_BOOT_UPGRADE here的解决
在发送广播时,不要给Intent设置任何的FLAG_ACTIVITY_标志,如appIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);不然会报错 。如果用4.4之后的编译版本编译,在android 4.4版本之后,google修复了这个bug,但之前的版本会出现这个错误,原创 2015-11-23 10:22:05 · 690 阅读 · 0 评论 -
NavigatorView抽屉效果
一. 简介Android 5.0之后推出了Design新特性,大大方便了开发者,以前编写抽屉使用DrawerLayout,现在使用DrawerLayout包含NavigatorView。NavigationView需要接收几个必要的参数、一个用于显示头部的布局(可选)以及用于建立导向选项的菜单,这些都设置完之后,你就只添加监听选中事件的listener就行了。二. 使用(1)在Res文件夹下新建me原创 2017-02-08 15:45:12 · 947 阅读 · 0 评论 -
CollapsingToolbarLayout实现翻转的toolbar
Android5.0后引入design设计,利用design很容易实现翻转效果 效果图 中间布局的搜索框滚动到顶部后,固定在标题栏。 先看xml代码<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="h原创 2017-02-24 11:41:12 · 370 阅读 · 0 评论 -
创建圆角Dialog风格的Activity
前言 在开发中有时我们需要用到dialog,可是系统提供的dialog有时不能满足我们的要求,比如显示位置等,不够灵活,我们这时可以创建activity,使其风格和dialog一样。 实现 1.创建样式 在res/values/styles.xml中<style name="DialogActivityStyle" parent="Theme.AppCompat.Light.Dialog">原创 2017-05-12 14:57:32 · 923 阅读 · 0 评论 -
FindBugs-IDEA插件的使用
前言 Findbugs很多人都并不陌生,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。这个插件可以帮助我们查找隐藏的bug,比较重要的功能就是查找潜在的null指针。 在编写代码的过程中,我们可能不会一直记得检查空的引用,在我们测试时可能很难发现问题,但是应用上线之后,面对大量的用户,很多问题就会浮现出来。所以在编码时,使用findbugs检查一下很有必要。安装原创 2017-05-31 16:59:03 · 112267 阅读 · 14 评论 -
AndroidStudio安装kotlin插件
前言 2017 Google I/O大会宣布将Kotlin语言作为安卓开发的一级编程语言,Kotlin由JetBrains公司开发,与Java 100%互通,并具备诸多Java尚不支持的新特性。在之前这个语言就已经支持了安卓平台开发,但是直到今天谷歌开发者大会上才宣布对该语言的全面支持和维护。使用kotlin就脱离了Java虚拟机机制? 并不是的。Kotlin语言目前还是一个基于JVM(Java原创 2017-05-22 14:00:47 · 4064 阅读 · 0 评论 -
单一职责原则
1.简称单一职责原则的英文名称是Single Responsibility Principle, 简称RSP。2.定义就一个类而言,应该仅有一个引起它变化的原因,简单的说,一个类中应该是一组相关性很高的函数、数据的封装。即一个类只负责一项职责,而不应该同时负责多个职责。3.问题比如C类负责两个不同的职责D1和D2。D1功能需求发生变化时,更改C类,有可能使原本正常运行的D2发生错误,代码耦合性太高,原创 2017-06-29 15:20:01 · 247 阅读 · 0 评论 -
Cannot download 'https://plugins.jetbrains.com/pluginManager/?action=download
当想要在androidstudio中下载插件的时候,出现上述问题下载超时导致无法下载插件,这时可以在设置中修改选项解决。1).2).Appearance&Behavior -->System Settings -->Updates3).将Use secure connection选项去掉勾选4).保存设置之后就可以下载插件了通过以上修改设置就可以愉快的下载插件...原创 2018-12-03 10:50:05 · 6999 阅读 · 1 评论