- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 判断App是否处于前台
方法一: //当前应用是否处于前台 private boolean isForeground(Context context) { if (context != null) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);...
2018-07-31 10:06:39 1343
原创 什么是Restful API
作为Android开发者经常与后端接口打交道,有时面试也会被问到这个问题,这里简单总结记录一下。关于RESTful API的介绍网上有很多,不过都说的太啰嗦了,一句话总结就是: 用URL定位资源,用HTTP动词来表达对资源的操作。什么意思呢,看个例子:资源描述(用名词):http://api.example.com/v1/friends //表示好友列表http://api...
2018-07-30 09:58:39 1219
原创 Http与Socket区别
HTTP:超文本传输协议,首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通...
2018-07-30 09:03:30 205
转载 Android 对TextView添加删除线,下划线,加粗,斜体等效果
效果图 代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:la...
2018-07-27 09:53:23 1047
转载 Android EditText限制输入字符的5种实现方式
最近项目要求限制密码输入的字符类型, 例如不能输入中文。 现在总结一下EditText的各种实现方式, 以比较各种方法的优劣。 第一种方式: 设置EditText的inputType属性,可以通过xml或者java文件来设置。假如我要设置为显示密码的形式,可以像下面这样设置:在xml中, android:inputType="textPassword"在java文件中,可以...
2018-07-27 09:41:29 8278 1
原创 Android Studio 3.0 填坑指南
收藏几篇网友整理的问题总结:Android Studio 3.0项目迁移所遇到的坑[填坑系列]Android Studio 3.0配置更改Android Studio3.0更新之路(遇坑必入)Android Studio3.x新的依赖方式(implementation、api、compileOnly)Android Studio3.0之后dependencie依赖由compile变为...
2018-07-27 09:30:48 398
原创 Activity启动另一个Activity并返回的完整生命周期
Android的简单基本问题,这里记录一下从一个Activity创建后启动另一个Activity并返回的完整log输出: 从log可以看出,当前Activity启动另一个Activity时,总是要等到另一个Activity的onResume方法走完才会返回当前Activity的生命周期继续执行,这是因为Activity的onResume执行完毕才算创建完成。当返回当前Activity时,...
2018-07-23 09:53:44 8662
原创 Android Studio编译提示警告xxx已过时
例如:警告: [deprecation] android.hardware中的Camera已过时一般是警告,不是错误,也可以打包成功,但编译有时会失败。屏蔽警告方法: app的目录下build.gradle添加:lintOptions { checkReleaseBuilds false abortOnError false}根目录下build.gradle添加...
2018-07-23 09:15:10 15917 14
原创 INSTALL FAILED CONFLICTING PROVIDER问题完美解决方案
在安装Android应用时出现INSTALL FAILED CONFLICTING PROVIDER问题,是不是感觉很抓狂呢,下面就跟大家分享一下出现这个问题的原因及解决方案。问题原因在Android中authority要求必须是唯一的,比如你在定义一个provider时需要为它指定一个唯一的authority。如果你在安装一个带有provider的应用时,系统会检查当前已安装应用的a...
2018-07-17 10:52:56 785
原创 Android禁止EditText自动弹出软键盘的方法
平时开发中经常遇到的很小的问题,这里记录一下。 一般在AndroidManifest.xml中添加了android:windowSoftInputMode=&quot;adjustResize&quot;或者adjustPan的话,页面中包含EditText控件进入时会自动弹出软件盘。1.在包含EditText的父布局中添加android:focusable=&quot;true&quot;和android:focusableIn...
2018-07-17 10:05:06 21714 4
原创 Java死锁的原因例子及解决方法
Java发生死锁的根本原因是:在申请锁时发生了交叉闭环申请。即线程在获得了锁A并且没有释放的情况下去申请锁B,这时,另一个线程已经获得了锁B,在释放锁B之前又要先获得锁A,因此闭环发生,陷入死锁循环。死锁发生的例子1:public class DeadLockA extends Thread { @Override public void run() { t...
2018-07-17 09:26:04 24648 9
原创 Android Studio上传项目到Maven仓库的方法
1.在项目根目录下新建uploadConfig.properties配置文件:USERNAME=usernamePASSWORD=passwordGROUP_ID=com.test.libraryMAVEN_REPO_SNAPSHOT_URL=http://192.168.86.130:8081/repository/{snapshot仓库名}/MAVEN_REPO_RELEASE_URL...
2018-07-13 09:32:32 2551 3
原创 Java的String.trim()方法无效的原因
最近遇到String.trim()无效的问题,字符串后面明明有空格就是去不掉,搜索了下资料,原来是因为trim()方法只能去掉半角空格,因为在英文中用的是半角,中文才有全角。。。两种方法解决:1.重写trim()方法:/** * 去除字符串前后各种编码类型的空格 * update 2019 */public class StringUtil { /**普通的英文半角...
2018-07-13 09:06:18 10835 2
原创 Android Studio配置多个代码仓库repositories
收集了一些。方便copy使用。repositories { mavenCentral() maven { url "https://jitpack.io" } maven { url "http://maven.aliyun.com/nexus/content/groups/public/" } maven { url 'http://maven.oschina.n...
2018-07-12 15:47:49 5896
原创 Java终止线程的三种方法
使用标志位退出线程使用stop方法强制终止线程使用interrupt终止线程1. 使用标志位退出线程这种也是最常用的方法,就是定义一个boolean型的标志位,在线程的run方法中根据这个标志位是true还是false来判断是否退出,这种情况一般是将任务放在run方法中的一个while循环中执行的。public class ThreadFlag extends Thread...
2018-07-12 10:06:31 15659
原创 AS编译异常Suggestion: use tools:overrideLibrary="" to force usage
错误信息: Error:Execution failed for task ‘:app:processDebugManifest’. Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 16 declared in library [xxx.xxx:1.0.0] ...
2018-07-11 09:25:18 3467
转载 UML时序图
一、时序图 时序图是一种强调时间顺序的交互图,在时序图中,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,较下级对象依次放在右边,然后把这些对象发送和接受的消息沿Y轴方向按时间顺序从上到下放置。这样就提供了控制流随着时间推移的清晰的可视化轨迹。二、时序图元素1、角色 系统角色,可以是人、及其甚至其他的系统或者子系统2、对象对象包括三种命名方式: 第一种...
2018-07-10 01:57:25 2305
原创 Java 23种设计模式汇总链接
OO六大设计原则最全总结篇 UML类图之间的关系创建型模式: 工厂方法模式 单例模式 抽象工厂模式 建造者模式 原型模式结构型模式: 适配器模式 桥接模式 装饰者模式 外观模式 组合模式 代理模式 享元模式行为型模式: 策略模式 观察者模式 模板方法 命令模式 迭代器模式 状态模式 中介者模式 责任链模式 备忘录模式 访问者模式 解释器模...
2018-07-10 00:56:41 349 1
原创 怎样在实践中正确的应用设计模式
保持简单 当你设计时,尽可能的用最简单的方式解决问题。你的目标应该是简单,而不是“如何在这个问题中应用模式”。千万不要认为:如果没有应用设计模式解决问题,就不是一个经验丰富的开发人员。我们只是说,为了让你的设计更加的简单和具有弹性,有时候应用设计模式是最好的方法。尽量让你的设计保持简单,这样才会让其他开发人员认可你的做法。何时应用设计模式 如果在你的设计中确定某个模式可以解决某个问题,那就...
2018-07-03 09:37:46 1212
原创 桥接模式
定义: 将抽象和实现解耦,使两者可以独立地变化。设计类图: 桥接模式中的角色:Abstraction抽象化角色,定义该角色的行为,持有对实现化角色的引用,一般是抽象类RefinedAbstraction修正抽象化角色,引用实现化角色对抽象化角色进行修正Implementor实现化角色,是一个接口或实现类,定义实现化角色的行为和属性ConcreteImplemento...
2018-07-03 09:30:55 423
Android性能优化学习源码
2023-11-26
Android内存OOM优化详解.pdf
2023-11-26
Android中进程的ADJ值.pdf
2023-11-26
C++参考手册C++参考手册C++参考手册C++参考手册
2023-11-01
Android类加载机制、插件化、热修复
2023-10-24
RangSeekBar
2023-10-21
Android JNI中C++层与Java层的对象交互实例
2023-10-16
JNI技术之动态注册与JNI线程.pdf
2023-10-16
ffmpeg处理音视频流程
2023-10-16
音视频入门基础知识笔记
2023-10-16
音视频编解码相关的基础知识点
2023-10-16
Android做的视频播放器MediaPlayer
2012-08-12
MediaPlayer
2012-07-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人