自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tongseng‘s Blog

求索之路,以此勉之

  • 博客(134)
  • 收藏
  • 关注

原创 AndroidStudio SSL peer shut down incorrectly 问题

AndroidStudio 编译时出现如下问题SSL peer shut down incorrectly或者某些jar包下载不下来,一般是因为墙的原因导致的。这时候我们就需要配置镜像来解决这个问题。(为了提高jar包的下载速度也可以配置)配置的方法就是在根build.gradle中添加镜像仓库,一般我们选择阿里的http://maven.aliyun.com/nexus/content/g...

2019-10-12 21:40:14 214

原创 常用正则表达式大全

一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^d{n}$3 至少n位的数字:^d{n,}$4 m-n位的数字:^d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(-)?d+(.d{1,2})?$8...

2019-04-16 15:54:57 233

转载 Android FileProvider详细分析

这是我读到的FileProvider最好的一篇,讲的很透彻,明白,记录下来供大家学习一、前言从 Android N(7.0) 开始,将严格执行 StrictMode 模式,也就是说,将对安全做更严格的校验。而从 Android N 开始,将不允许在 App 间,使用 file:// 的方式,传递一个 File ,否者会抛出 FileUriExposedException 的错误,会直接引发...

2019-04-15 17:54:17 4471

原创 Android APP升级

这篇文章也是在项目完成之后,项目中用到的一种APP的升级方式,主要效果就是升级之后再通知栏这个栏位中显示下载进度,等下载完成之后自动安装。完美适配Android 8.0。记录下来供后续参考使用。其中主要用到了几个关键的技术点:1、权限申请2、fileProvider的使用3、Broadcast Receiver的使用。4、文件下载和安装的工具类不再赘述,直接看代码。An...

2019-04-09 18:47:22 416 1

转载 Android分包方案multidex

对于功能越来越复杂的app的两大问题 一:我们自己应用的方法数超过了65536  我们所说的方法数限制,这个方法数包括了jar包,框架,还有我们自己应用的代码,当我们应用的代码超过65536时,结果如下: 我们看到,显示我们方法的引用是65579.而引用数最大是65536,建议我们开启分包方案。 二:我们应用的方法数没有超过65536,但是加上依赖的jar包,框架等,超过了6...

2019-02-26 14:53:34 2067

转载 Android之JNI动态注册native方法和JNI数据简单使用

1、介绍JNI注册方式JVM 查找 native 方法有两种方式:    1)、按照 JNI 规范的命名规则(静态注册)   2) 、调用 JNI 提供的 RegisterNatives 函数,将本地函数注册到 JVM 中(动态注册)静态注册的实现可以参考我的这篇博客https://blog.csdn.net/Tongseng/article/details/82633221 ...

2018-09-14 08:53:20 560

转载 Android Studio 使用ndk-build构建Jni

ndk-build是什么ndk-build 文件是 Android NDK r4 中引入的一个 shell 脚本。其用途是调用正确的 NDK 构建脚本。可以用这个命令来生成.so文件。ndk-build如何使用当你想使用该命令将.cpp/.c文件生成.so文件,必须有具备以下几个条件 需有有Android.mk文件,并且与对应的.cpp/.c文件在同一个目录下 需要有A...

2018-09-11 21:39:14 772

转载 Android Studio自动生成带系统签名的apk

如果你需要开发一个带有系统权限的app,往往需要配置SharedUserId,比如:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.cxq.signdemo" android:sharedUserId="android.uid.system"> ...

2018-08-22 22:05:00 307

转载 Android各种蓝牙设备的UUID

UUID是“Universally Unique Identifier”的简称,通用唯一识别码的意思。对于蓝牙设备,每个服务都有通用、独立、唯一的UUID与之对应。也就是说,在同一时间、同一地点,不可能有两个相同的UUID标识的不同服务。以上的文字主要是起到一个明白概念的作用。在Android手机方面不必过多考虑这点在这一点,因为几乎没有哪个手机会同时装两块蓝牙芯片~~~~~以下各种蓝牙服...

2018-08-22 21:31:01 1114

转载 蓝牙知识【协议栈简图】 【 UUID解析 】 【属性、Characteris、描述符和Service以及profile的关系】【蓝牙无线通道】【缩写词】

协议栈简图 UUID解析摘录于:清风电子的《手把手教你用蓝牙:蓝牙LED任务读写原理任务详解.pdf》 蓝牙Service、属性、Characteristic、描述符以及profile的关系下面内容摘录于:清风电子的《手把手教你用蓝牙:蓝牙LED任务读写原理任务详解.pdf》   蓝牙无线通道Advertising and Data Channe...

2018-08-22 21:29:31 1422

转载 对Android蓝牙UUID的理解

UUID先来段百度百科上的解释:UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。它保证对在同一时空中的所有机...

2018-08-22 20:51:19 1392

转载 一些完整的Android开源app项目

android开源项目有很多,但是完整的app项目不多,下面是最近我 整理的一些开源app项目:注: jcodecraeer网站上搜集了很多开源项目,更新很快,非常值得关注。一、photoup介绍:​photoup 是一款开源的相册类app,主要功能是将本地图片提交到facebook上去,虽然他的功能和facebook的远程服务相关,但是本身是可以被当作一款 相册应用的,具有相册应...

2018-08-22 20:22:20 1848

转载 ubuntu14.04 安装jdk 的两种方式

ubuntu 安装jdk 的两种方式:1:通过ppa(源) 方式安装.2:通过官网下载安装包安装.这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级使用ppa/源方式安装1.添加ppasudo add-apt-repository ppa:webupd8team/javasudo apt-get update2.安装oracle...

2018-08-22 19:35:08 341

转载 Android studio添加第三方库和so

添加so库的两种方式以下两种方式二选一方法一:1.在src/main中新建jniLibs文件夹 ,把.so复制进去即可方法二:1.在app/中新建libs文件夹,把.so复制进去2.在app/build.gradle中添加以下五行脚本即可(注:以下脚本意思是会把libs文件夹当成jniLibs文件夹,可以直接用so库了)sourceSets { main { jniLibs...

2018-06-01 11:05:13 363

转载 十大经典排序算法(动图演示)

0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。 0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,而a=b,排序之...

2018-04-09 12:31:48 377

转载 JAVA常用数据结构及原理分析

java.util包中三个重要的接口及特点:List(列表)、Set(保证集合中元素唯一)、Map(维护多个key-value键值对,保证key唯一)。其不同子类的实现各有差异,如是否同步(线程安全)、是否有序。常用类继承树:以下结合源码讲解常用类实现原理及相互之间的差异。Collection (所有集合类的接口)List、Set都继承自Collection接口,查看JDK API,操作集合常用的...

2018-03-31 10:38:09 255

转载 Android性能优化之内存管理

1、初识内存优化在Android的性能优化的各个部分里,内存的问题绝对是最令人头疼的一部分,虽然Android有垃圾自动回收机制不需要手动干预,但也恰因为此,出现内存问题如内存泄漏和内存溢出等,如果对内存管理机制不熟悉,会更加难以排查问题。因为内存方面的知识较多且不易理解,内存优化部分就分两篇文章进行,本文主要是关于Java、Android的内存分配、回收、GC等理论知识。2、内存分配谈Andro...

2018-03-28 20:24:51 261

原创 Java中堆与栈的介绍及区别

堆和栈都是Java中常用的存储结构,都是内存中存放数据的地方。堆:(对象)引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型常量),需要通过new等方式来创建。堆内存主要作用是存放运行时创建(new)的对象。(主要用于存放对象,存取速度慢,可以运行时动态分配内存,生存期不需要提前确定)栈:(基本数据类型变量、对象的引用变量)基本数据类型的变量(int、short、long、byt...

2018-03-28 17:49:26 311

转载 JAVA四种引用方式

java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。java对象的引用包括  强引用,软引用,弱引用,虚引用Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决定某些对象的生命周期;第二是有利于JVM进行垃圾回收。下面来阐述一下这四种类型引用的概念:1.强引用 是指创建一个对象并把这个对象赋给一个引用变量。比如:Ob...

2018-03-28 17:30:55 277

转载 用Android studio多渠道打包以及使用不同资源(包括icon或者其他图片等) 方法二

自己项目需要分渠道打包,且使用不同资源,所以,在百度之后,总结了一下:利用友盟分渠道打包,首先在manifest里面加一句:<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /><!-- 友盟分渠道打包-结束 -->然后在build.gradle...

2018-03-23 11:44:18 868

转载 Gradle多渠道打包(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)方法一

转载一篇其他人写的多渠道打包的文章,写的很仔细,收藏一下。最近有个需求一次要打包9个类型的App,而且常量和String.xml都有变量。虽然之前也是一直存在变量,但是每次也仅仅只打包一个。这让我每次改变量,打包9个。要是以后每次都打包9次,我得疯了。根据之前的了解,gradle 应该是可以解决这个问题的。所以就仔细研究了一番。先放一个完整的 多渠道/多环境 打包的配置,然后再来讲解。实现了:不同...

2018-03-23 11:43:02 606

原创 AndroidStudio多渠道打包

说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值:<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>       上面的value值Cha...

2018-03-23 11:10:11 340

原创 GreenDao3.2的基本使用方法

前言 GreenDao是一款操作数据库的神器,经过了2.0版本的升级后,已经被广泛的开发者使用。确实是很好用,入门简单,可以剩去了数据库的建表操作和数据库SQL的编写,博主用了一次之后爱不释手,和以前的数据库操作一大堆的代码将它缩成了一句话,舒服. GreenDao3.2的简介 认识GreenDao之前必须知道ORM(Object Relation Mapping对象关系映射),其表现...

2018-03-21 21:49:19 630

原创 分享一个牛哄哄的Android工具集合类

分享一个Android工具集合类,基本我们开发要用到的基本操作这里边基本全部囊括了,github地址:https://github.com/Blankj/AndroidUtilCodeDownloadGradle:compile 'com.blankj:utilcode:1.13.5'How to use// init it in the function of onCreate in ur Ap...

2018-03-21 11:44:08 1973 1

原创 Android开发学习笔记:初学WebView

   WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);2.调用WebView的loadUrl()方法,设置WevView要显示的网页:  互联网用:webVi...

2018-03-20 15:15:19 369

转载 Android Material Design新UI控件使用大全 三

序言在我们对NavigationView侧滑,TextInputLayout输入框,Snackbar弹出提示框,FloatingActionBar圆形button,TabLayout顶部导航栏及CoordinatorLayout有了一定的了解后,我们最后将对AppBarLayout,CollapsingToolbarLayout进行最后的分析,我们先看两张效果图,(因为暂时没找到好的方法来录制gi...

2018-03-18 00:25:42 1317

转载 Android Material Design新UI控件使用大全 二

序言上一篇中我们介绍了几个简单的新UI控件,相信很多小伙伴对Materil Design的视觉效果有了一定的了解,今天我们就继续介绍其他几个控件的玩儿法,让我们一探Materil Design的究竟,我们先来看一下我们今天要介绍的CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout及TabLayout, ok,我们接下来就逐一对这些控件进行解...

2018-03-18 00:24:35 338

转载 Android Material Design新UI控件使用大全 一

序言自从谷歌在2014年的IO大会上推出了Material Design新的设计规范后,安卓应用的整体美观程度提升了很大的一个层次, 安卓再也不是又黑又丑的界面,取而代之的是拥有丰富的颜色,美观的按钮,好的用户体验;但是刚开始的话这种设计规范只能在Android 5.0以上的手机上运行,导致开发者也只是自己去体验,在国内并没有大范围的推广,App的质量并不能大幅度的提升,但是作为改变世界的Goog...

2018-03-18 00:23:22 469

转载 ListView,Picasso,OKhttp综合Demo

本例子主要实现从网络中获取JPEG的图片,并且在listview中显示出来,主要涉及到用OKHTTP从网络中获取JSon数据,拿到URL之后利用Picasso来做图片显示,然后把所有的图片放到一个ListView中的例子,涉及到OKHTTP的基本用法,Picasso的基本用法和ListView的优化等内容。首先,建立主页面的相关布局。<?xml version="1.0" encoding=...

2018-03-18 00:14:22 448

转载 Picasso源码完全解析

Picasso源码完全解析

2018-03-17 18:39:45 288

转载 Android图片加载框架Picasso最全使用教程 五

Android图片加载框架Picasso最全使用教程 一Android图片加载框架Picasso最全使用教程 二Android图片加载框架Picasso最全使用教程 三Android图片加载框架Picasso最全使用教程 四Android图片加载框架Picasso最全使用教程 五在之前的四篇博客中,我们学习了所有的关于Picasso的主要方法,我们也...

2018-03-17 16:12:32 974

转载 Android图片加载框架Picasso最全使用教程 四

Android图片加载框架Picasso最全使用教程 一Android图片加载框架Picasso最全使用教程 二Android图片加载框架Picasso最全使用教程 三Android图片加载框架Picasso最全使用教程 四Android图片加载框架Picasso最全使用教程 五  通过前几篇的学习,我们已经对Picasso的加载图片的用法有了很深的...

2018-03-17 16:10:28 1271 1

转载 Android图片加载框架Picasso最全使用教程 三

Android图片加载框架Picasso最全使用教程 一Android图片加载框架Picasso最全使用教程 二Android图片加载框架Picasso最全使用教程 三Android图片加载框架Picasso最全使用教程 四Android图片加载框架Picasso最全使用教程 五前面我们对Picasso的用法有了一定得了解,下面就分析一下一些特殊情况下,Picasso的用法.调用.noFade()...

2018-03-17 16:08:27 1289

转载 Android图片加载框架Picasso最全使用教程 二

Android图片加载框架Picasso最全使用教程 一Android图片加载框架Picasso最全使用教程 二Android图片加载框架Picasso最全使用教程 三Android图片加载框架Picasso最全使用教程 四Android图片加载框架Picasso最全使用教程 五前言  前面我们已经介绍了Picasso的基本用法及如何将一张图片加载到ImageView中,下面我们就利用Picass...

2018-03-17 16:05:47 1624

转载 Android图片加载框架Picasso最全使用教程 一

Android图片加载框架Picasso最全使用教程 一Android图片加载框架Picasso最全使用教程 二Android图片加载框架Picasso最全使用教程 三Android图片加载框架Picasso最全使用教程 四Android图片加载框架Picasso最全使用教程 五Picasso介绍Picasso是Square公司开源的一个Android图形缓存库...

2018-03-17 16:03:18 10097 5

转载 Android 数据库框架总结(转)

以下是从网络中看到的有关数据库框架比较常用的几款,个人比较倾向于Realm框架,一个理由是可以跨平台,另外一个原因是目前BAT据说也用的是这个框架,且目前在GitHub上的star是9K多,BAT都在用,能被BAT看中肯定有其优点。一:OrmLite简述: 优点: 1.轻量级;2.使用简单,易上手;3.封装完善;4.文档全面。缺点:1.基于反射,效率较低(本人还没有觉得效率低);2.缺少中文翻译文...

2018-03-15 21:44:23 4022

原创 Android安装apk的方法

private void installAPK(){ String file = Environment.getDataDirectory()+"/"+"a.apk"; Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.addC...

2018-03-14 21:59:26 1700

转载 Android App优化之提升App启动速度实例

1, 代码分析以之前写的Github App为例.因为这个App集成了Bugly, Push, Feedback等服务, 所以Application的onCreate有很多第三方平台的初始化工作...public class GithubApplication extends MultiDexApplication { @Override public void onCreate...

2018-03-13 22:53:12 267

原创 android 流行框架

Android中如何获取手机屏幕大小 Android 流行框架查速表 Andoird控件收集 Android 外网连接解决方案 Android基础教程 Http网路请求原理 【Android网络开发】(一)HTTP请求报文和HTTP响应报文 逐步解读HTTP报文的组成及含义 HTTP请求/响应报文结构 HTTP协议之报文详解...

2018-03-07 22:29:33 205

转载 Android 15个流行网络框架

2018-03-07 22:19:30 306

空空如也

空空如也

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

TA关注的人

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