自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 问答 (2)
  • 收藏
  • 关注

转载 Retrofit(OKHttp)多BaseUrl情况下url实时自动替换完美解决方法

前言多数项目中会出现用到多个BaseUrl的情况,而Retrofit未提供实时切换BaseUrl的方法,且我们在使用Retrofit以及OkHttp时,通常使用单例模式创建Retrofit和OkHttpClient,也不可能每个请求都创建一个Retrofit实例。面对这个实际问题,我们需要做的不仅仅是解决当前问题,更应该从根本上解决该问题,即实现任何情况下的自动切换BaseUrl。 主要用

2018-01-23 16:18:26 14402 3

转载 Android8.0未知来源应用安装权限最好的适配方案

Android8.0未知来源应用安装权限最好的适配方案你弄啥嘞24 天前Android8.0的诸多新特性中有一个非常重要的特性:未知来源应用权限以前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,所有的未知来源的应用都可以被安装。Android8.0的变化是,未知应用安装权限的开关被除掉,取而代之的是未知来源应用

2018-01-20 15:14:56 17204 2

转载 解决Android7.0 更新安装包时不能自动安装问题

项目中发现在自动更新功能的时候,下载好了apk的文件后在android7.0系统中不能自动跳到安装界面,后来搜索了一番解决了问题,但感觉没有描述清楚,所以补充一下。每个Android版本的发布,对于安全性问题的要求越来越高,也为Android程序员增加了额外的工作量。Android6.0引入动态权限控制(Runtime Permissions),Android7.0引入私有目录被限制访问和Str

2018-01-20 15:11:33 6789

转载 Android之android studio如何把项目分享到github并提修改的代码到Github

android studio如何提交代码到Github第一步、下载git                 第二步:在android studio指定git路径              File->Settings                测试Git是否可用  第三步、我们需要https://github.c

2017-12-26 16:42:33 327

转载 JSTL 标签大全详解

一、JSTL标签介绍1、什么是JSTL?        JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已!       如果你使用MyEclipse开发JavaWeb,那么在把项目发布到Tomc

2017-12-06 11:08:56 239

转载 Android基础入门教程——2.2.6 AbsoluteLayout(绝对布局)

Android基础入门教程——2.2.6 AbsoluteLayout(绝对布局)标签(空格分隔): Android基础入门教程本节引言:前面已经介绍了,Android中的五大布局,在本节中会讲解第六个布局AbsoluteLayout(绝对布局), 之所以把这个放到最后,是因为绝对布局,我们基本上都是不会使用的,当然你也可以直接跳过这一 篇博文,不过作为一个

2017-11-30 08:59:08 389

转载 Android基础入门教程——2.2.5 GridLayout(网格布局)

本节引言:今天要介绍的布局是Android 4.0以后引入的一个新的布局,和前面所学的TableLayout(表格布局) 有点类似,不过他有很多前者没有的东西,也更加好用,可以自己设置布局中组件的排列方式可以自定义网格布局有多少行,多少列可以直接设置组件位于某行某列可以设置组件横跨几行或者几列另外,除了上述内容外,本节还会给大家使用gridLayout时会遇到的

2017-11-29 17:36:22 1168

转载 Android基础入门教程——2.2.4 FrameLayout(帧布局)

本节引言:FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出 一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式 却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件 的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前

2017-11-29 17:17:27 323

转载 Android基础入门教程——2.2.3 TableLayout(表格布局)

本节引言:前面我们已经学习了平时实际开发中用得较多的线性布局(LinearLayout)与相对布局(RelativeLayout), 其实学完这两个基本就够用了,笔者在实际开发中用得比较多的也是这两个,当然作为一个好学的程序猿, 都是喜欢刨根问题的,所以虽说用得不多,但是还是有必要学习一下基本的用法的,说不定哪一天能用得上呢! 你说是吧,学多点东西没什么的,又不吃亏!好了,扯淡

2017-11-29 15:28:18 301

转载 Android基础入门教程——2.2.2 RelativeLayout(相对布局)

本节引言:在上一节中我们对LinearLayout进行了详细的解析,LinearLayout也是我们 用的比较多的一个布局,我们更多的时候更钟情于他的weight(权重)属性,等比例划分,对屏幕适配还是 帮助蛮大的;但是使用LinearLayout的时候也有一个问题,就是当界面比较复杂的时候,需要嵌套多层的 LinearLayout,这样就会降低UI Render的效率(渲

2017-11-29 14:49:23 200

转载 Android基础入门教程——2.2.1 LinearLayout(线性布局)

本节引言:本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 而今天我们要讲解的就是第一个布局,LinearLayout(线性布局),

2017-11-29 14:28:16 299

转载 Android性能优化之使用线程池处理异步任务

说到线程,我想大家都不陌生,因为在开发时候或多或少都会用到线程,而通常创建线程有两种方式:1、继承Thread类 2、实现Runnable接口虽说这两种方式都可以创建出一个线程,不过它们之间还是有一点区别的,主要区别在于在多线程访问同一资源的情况下,用Runnable接口创建的线程可以处理同一资源,而用Thread类创建的线程则各自独立处理,各自拥有自己的资源。

2017-11-11 10:52:54 223

转载 Android开发--更换字体

开发中,经常遇到需要更换字体格式,设计妹子为了让UI更美,设置了很多让人着(tong)迷(ku)的字体,但是蓝瘦归蓝瘦,还是得撸起袖子开干。Android系统中,默认提供三种字体:"sans", "serif", "monospace"如果设置字体为系统字体之一,在XML中,直接设置字体格式:1、sans<TextView Android:id="@+id/

2017-10-14 17:01:25 1328

转载 Android开发高级进阶——多进程间通信

如果一个进程占用内存超过了这个内存限制,就会报OOM的问题,很多涉及到大图片的频繁操作或者需要读取一大段数据在内存中使用时,很容易报OOM的问题。为了彻底地解决应用内存的问题,Android引入了多进程的概念,它允许在同一个应用内,为了分担主进程的压力,将占用内存的某些页面单独开一个进程,比如Flash、视频播放页面,频繁绘制的页面等。一. 什么是多进程?多进程就是多个进程的意思,

2017-09-06 11:53:57 293

转载 Kotlin 实现Activity之间的跳转 和 布局控件的简单调用

开始自学kotlin的时候,为了方便简单的在这做下记录,简单使用Activity之间的跳转在MainActivity中布局正常添加一个button按钮如下代码: Button android:layout_width="wrap_content" android:layout_height="wrap_content"

2017-08-17 10:08:43 845

转载 用Kotlin实现Android点击事件

近期,Google宣布Kotlin成为了Android一级开发语言。于是就刚刚简单的研究了一下,查资料的时候发现现成的资料还是很少的,于是决定自己记录一下,方便以后查看,也供其他人一个参考。在android中,点击事件大致分为三种写法:1. 匿名内部类。2. Activity实现全局OnClickListener接口。3. 指定xml的onClick属性。今天用Kotlin实现

2017-08-17 10:06:42 2634

转载 Android Https相关完全解析 当OkHttp遇到Https

一、概述其实这篇文章理论上不限于okhttp去访问自签名的网站,不过接上篇博文了,就叫这个了。首先要了解的事,okhttp默认情况下是支持https协议的网站的,比如https://www.baidu.com,https://github.com/hongyangAndroid/okhttp-utils等,你可以直接通过okhttp请求试试。不过要注意的是,支持的https的网站基本都是C

2017-08-05 15:58:20 631

转载 Android ANR的产生与分析

ANR即Application Not Responding应用无响应,一般在ANR的时候会弹出一个应用无响应对话框。也许有些开发者在使用某些手机开发中不在弹出应用无响应弹出框,特别是国产手机Android4.0以上的系统中,即使在开发者选项中设置了“显示所有应用无响应-为后台应用显示无响应ANR对话框”,主要是因为在某些国产手机系统中就将该选项屏蔽了,应用超过了一定时间无响应也不会弹出ANR对话

2017-08-04 16:19:30 8721

转载 Android Studio运行NDK程序,简单的JNI实例

一、JNI概述JNI 是Java Native Interface的缩写,中文翻译为“Java本地调用”,JNI 是本地编程接口。它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行互操作。就是说,JNI是一种技术,通过这种技术可以做到两点:1.Java程序中的函数可以调用Native语言写的函数,Nati

2017-07-24 12:20:48 411

转载 Android studio如何更改gradle版本?

在android 多人开发的时候,Android studio 已经成为我们开发人员必备的利器;多人开发,发现共享在仓库时候,自己的gradle版本不对应,那么我们需要统一;现在我们开始来看下怎样更改Android studio 的gradle版本号;步骤阅读工具/原料Android studiogradle 2.

2017-07-21 10:10:34 1736

转载 Android Studio 进行单元测试完整教程

前言为了这个AndroidStudio的单元测试,从下午搞到晚上才搞明白咋操作。我学一个新知识总是那么坎坷,经历无数的错误路径,才可能找到正确的路在哪儿。我的AndroidStudio我的AndroidStudio是1.5.1版本,但是进行单元测试应该很早的版本就可以了,至少可以追溯到1.0注意事项当你google查找AndroidStudi

2017-07-15 17:15:07 1928

转载 github .md文件的各种语法

https://github.com/guoyunsky/Markdown-Chinese-Demo

2017-07-05 16:34:59 1573

转载 Android 屏幕适配:最全面的解决方案

前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档郭霖: Android官方提供的支持不同屏幕大小的全部方法Stormzhang:Android 屏幕适配鸿洋:Android 屏幕适配方案凯子: Android屏幕适配全攻略(最权威的官方适配指导)自身的思考&实践给你带来一种全新、全面而逻辑清晰的Andro

2017-06-29 16:28:43 495

转载 weight和weightSum

看到本文的标题,很多童鞋会一脸不屑的说,这有什么不了解的。不就是通过weight来给子布局按比例来分配空间嘛!好,这个答案也对也不对。 此时有人会疑惑了,为什么也对也不对? 我先来举两个最常见的例子:xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/re

2017-06-28 15:39:03 471 1

转载 Gradle Build速度加快终极方法

Android Studio用起来越来越顺手,但是却发现Build的速度实在不敢恭维,在google和度娘了几把(....)之后,大体就是分配更高的内存,步骤:Setting-->搜索gradle-->Build Tools下的Gradle选项,右侧Gradle VM options-->改参数-Xmx2048m -XX:MaxPermSize=512m还一种就是在gradle.pro

2017-06-28 15:07:34 362

原创 Android开发中需要注意哪些坑

作为一个有两、三年Android应用开发经验的码农,自然会遇到很多坑,下面是我能够想起的一些坑(实践证明不记笔记可不是个好习惯),后面有想到其它坑会陆续补上。1.在Android library中不能使用switch-case语句访问资源ID:在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案2.不能在Activity没有完全显示时

2017-06-27 14:23:31 269

转载 如何看待 Kotlin 成为 Android 官方支持开发语言?

Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言。一时间朋友圈和Android圈被各种刷屏。当然我也顺势而为发布了一篇的文章《为什么我要改用Kotlin》,着实狠狠地蹭了一波热度(尽管这样会被鄙视)。眼下Android圈已经躁动了,甚至严重到如果对Kotlin视而不见就显得自己不像一个合格的Android程序员。本文尝试从一个客观全面一点儿的角度来看待

2017-06-27 09:44:14 305

转载 抽象类与接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。       抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予Java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。      一、抽象类       我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类

2017-06-23 14:33:10 297 1

转载 【单例模式】的多种实现方式

最近项目中为了系统中避免创建多个实例,teamleader让我把项目代码优化一下(应用单例模式),后面将单例模式的学习心得分享给团队同事,同事也给了我一些意见,现在写出来分享给大家,博友多多知道哈,写的不好给点意见哈!现在从三方面讲解单例模式:(1)单例模式概念(2)单例模式特点(3)常见的实现方式单例模式概念:作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例

2017-06-23 10:27:15 346

转载 retrofit2中ssl的Trust anchor for certification path not found问题,屏蔽https验证

在retrofit2中使用ssl,刚刚接触,很可能会出现如下错误。1java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.究其原因就是没有找到本地的证书。非常简单的错误

2017-06-05 08:48:32 6735

转载 Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格

为了能跟上技术发展的脚步,我改用Android Studio了,虽然也有其他较新的安卓开发软件,但是现在对我来说该软件还是比较适合的。我原来一直用Eclipse做安卓开发,也用惯了Eclipse的快捷键,刚开始用Android Studio的做安卓开发的时候很不习惯,写代码效率很低。然后就自己就上网查代码怎么写可以提高效率,问好友,当然他也用的是Android Studio。我就是这么执着,终于知

2017-05-31 14:43:03 1501

转载 JS唤醒Android APP(包括在外部浏览器和WebView)

1.AndroiManifest.xml中配置请在App启动的第一个Activity的那个节点中加入intent-filter> action android:name="android.intent.action.VIEW"/> category android:name="android.intent.category.D

2017-05-25 08:49:22 1441

转载 Android Studio Gradle多渠道打包(动态设定App名称,应用图标,背景图片,状态栏颜色)、配置签名文件

动态设定App名称,应用图标Module设置build.gradle文件apply plugin: 'com.android.application'android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com

2017-05-18 16:11:03 2905

转载 android-async-http框架库使用基础

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊!开源项目链接Android-async-http仓库:Git clone https://github.com/loopj/android-async-httpandroid-async-http主页:http://loopj.com/an

2017-05-17 15:25:42 433

转载 五种单例模式

解法一:只适合单线程环境(不好)package test;/** * @author xiaoping * */public class Singleton { private static Singleton instance=null; private Singleton(){ } public static Single

2017-05-17 14:24:00 193

转载 抽象类和接口联系与区别

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者

2017-05-05 10:22:33 256

转载 Android之Android studio基本调试和快捷键

第一种调试方法:如果APP是单进程,直接debug运行,如下图第二种调试方法:第二种就是调试当前已经处于运行状态下的App,这也是我们用的更多的一种调试手段,即Attach debugger to Android process。点击运行按钮右侧第三个按钮,弹出Choose Process窗口,选择对应的进程,点击OK按钮即可进入调试模式,此时,我们便可以在需要

2017-05-04 09:11:58 2454

转载 深度了解Android 7.0 ,你准备好了吗?

WeTest 导读8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,首发推送了多款Nexus设备。除了修复常规BUG,Android 7.0还新增了分屏、新的Notification、VR支持等新特性。8月22日,谷歌正式推送Android 7.0 Nougat(牛轧糖)正式版,他们还会三个月一次推送开发版,而曝光的消息看,第一个开发版就是A

2017-03-21 18:00:06 312

转载 如何使用Android Studio打包混淆的Jar

使用AS打包混淆Jar包,百度一下,一片一片的,但是很多都是零零散散的写得不是很详细或是直接拷贝,按照他们的教程测试总不是很顺利,所以这里我就把我个人学习AS打包混淆Jar的成果总结出来,希望对大家有帮助。个人觉得写得还是比较详细的使用gradle混淆打包Jar使用AS开发项目,引入第三方库是非常方便的,我们只需要在build.gradle中配置一行代码就可以轻松引入我们需要的

2017-03-15 17:11:58 4063 2

转载 Android Studio 如何打JAR包

Android Studio 如何打JAR包在eclipse中我们知道如何将一个项目导出为jar包,供其它项目使用。 在AS中可以通过修改gradle才处理。 我们新建一个项目MakeJar,在项目中新建一个modle-类型为android-library 如图:app为我们的主工程,librarydemo是我们要将其生成jar包的model. 在library d

2017-03-15 17:10:28 388

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除