自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 String-format的奇怪用法

关于%ns(n为数字)的用法    先来看以下代码String.format("A=%1s,B=%2s,C=%3s,D=%2s,E=%2s,F=%4s","A","B","C","DD","EEE","FFF");    对于上述代码,如果我们打印出来这个拼后的字符串,那么会看到如下格式的字符串。A=A,B= B,C= C,D=DD,E=EEE,F= FFF    我们惊奇的发现,里边有的地方有空格,有的地方却没有空格,那么这是为什么呢?    首先对于format,定义是为了规范格式化字

2021-01-25 10:21:41 1447

原创 Android 获取手机WIFI和蜂巢网络的IP以及掩码

    获取手机的IP分为获取WIFI无线的IP和数据网络的IP,其中获取WiFi的IP其实就是路由IP,手机数据网络IP则为运营商基站IP,这个可能会随着你的移动而不停改变。同时获取所有信息    Android 中提供了方法让我们可以获取到当前所有网段的IP以及和IP相关的掩码信息。以下是获取wifi和数据网络ip等相关信息的方法,其中INetAddressInfo为我自己定义的一个类用于接收信息。 public static ArrayList<INetAddressInfo> ge

2020-05-23 07:54:57 1692

原创 获取手机蜂巢网络信号强度(包括5G,WIFi)

    手机信号强度首先分为两部分,一个是WiFi信号强度,一个是蜂巢网络(数据流量)信号强度。    信号强度会返回一个dbm单位的数据,这个数据就代表了当前环境下手机的信号如何。具体信号强度等级请参考下方表格。WiFi范围等级0 -(-55)信号很强(-55) - (-100)信号一般信号强度,都是dbm为负值则正确,否则数据异常,越接近0信号越好    这些等级可以根据我们自己的需求来定义,信号范围是(-100) - 0,我们可以确定自己需要输出几个等级,从

2020-05-19 19:01:56 6077 10

原创 状态模式的使用场景

状态模式的使用场景    类似于策略模式,都是为了解决多个if…else存在的复杂问题,他的结构图和策略模式的一模一样,但是解决的问题不一样。    在android中可以用来解决嵌套dialog的显示,比如有一堆弹窗,A,B,C … 他们会按照顺序进行显示,可能我们常做的是先显示一个,用户点击了确定,再判断点击事件显示第二个,以此类推,这样的话嵌套耦合度太高,之后如果增加了新的需求,或者维护...

2020-04-17 19:34:58 3498

原创 策略模式的使用场景

策略模式的使用场景    当程序中出现一堆连在一起的if…else语句,例如:public void t(){ ... if(a){ ... }else if(b){ ... }else if(c){ ... }else{ ... } ...} ...

2020-04-17 19:01:38 7059

原创 http和https

    http/https都是基于tcp/ip上的一种应用层传输协议。组成    http由URL,header和body组成。URL    其中URL包含目标地址和请求方法,请求参数header    header包含一些配置参数,其中都是使用键值对传递,每一对之间需要换行。    传递格式为:Content-Encoding: gzip\r\nbody   ...

2019-11-28 13:42:17 174

原创 解决某些系统UI使用handler偶尔不显示问题

    当我们使用handler进行UI的异步显示的时候,在某些手机上,当进行大量UI操作时候,由于UI大量信息在队列中,可能导致UI刷新不及时,从而导致一些异常。    比如我们想要在异步线程中显示一个dialog,常规做法可能是直接使用如下方法。new Handler(content.getMainLooper()).post(new Runnable() { @Override...

2019-08-28 17:29:11 312

原创 ArrayList(线程不安全,源码)

ArrayList线程不安全不安全事例代码 public static void main(String[] args) { final ArrayList<Integer> arrayList = new ArrayList<>(); for(int i=0;i<10000;i++){ final int ...

2019-08-01 10:14:37 142

原创 Android shape

shape理解    shape就是对view背景进行修改调整的一个属性文件,可以任意更改view的形状,颜色等。它作为一个drawable文件,放在项目的res/drawable目录下,使用时候,需要放在view的background属性下。属性corners    定义四个角属性解释android:radius=“dimension”全部的圆角半径a...

2019-04-25 11:12:06 109

原创 解决页面中EditText软键盘自动弹出问题

    Android系统对EditText这个控件有监听功能,如果某个Activity中含有该控件,就会自动弹出软键盘让你输入,这个看似人性化的方案有 时候并不被用户喜欢的,所以在有些情况下要禁用该功能。这几天做的应用也有这个问题,所以就查了,网上大部分都是如下方法:<activity android:name=".MainActivity" androi...

2019-04-22 16:51:59 965

原创 AsyncTask源码分析

前言    AsyncTask是一种异步处理线程的类,他可以在后台处理一些耗时的操作,它相当于Thread线程和handler的合体,为我们更新UI,执行耗时操作,提供方便。分析源码https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/os/AsyncTask.java...

2019-04-19 15:21:59 111

原创 Http工具类

    Android中和服务器进行通讯工具类,包含post,get两种方式,以及json,form两种数据格式选择。public class HttpUtil { private static final int CONNECT_TIMEOUT_TIME = 15000; private static final int READ_TIMEOUT_TIME = 19000;...

2019-01-15 16:12:38 303 1

原创 Android混淆打包

混淆打包脚本task deleteOldJar(type: Delete) { // 删除无用的旧包 delete 'build/outputs/jar/TEST1.jar' delete '../autobuild/output/TEST2.jar'}task exportJar(type: Jar,dependsOn: [deleteOldJar,build]) { /...

2018-12-07 18:37:34 181

原创 字符串

Stringappend()    使用append()方法和StringBuilder对象来拼接字符串比使用”+”来拼接字符串效率要高,因为这样不会生成一堆需要回收的垃圾。StringBuilder s = new StringBuilder();s.append(&quot;a&quot;);return s.toString();length()    字符串中的字符个数。charAt...

2018-07-30 18:03:11 136

原创 Arrays

Arrays java.util.Arrays;转换数组为字符串 Method : Arrays.toString()    将数组转换为字符串,以符号”[“开头,”]”结尾。int a = {1,2,3};print(Arrays.toString(a));// [1,2,3]插入数据 Method : Arrays.fill();...

2018-07-27 11:14:48 302

原创 线程并发工具类

import java.util.concurrent.*;CountDownLatch简介    用来同步线程任务,指定线程执行完毕后,再来执行接下来的任务。使用CountDownLatch countDownLatch = new CountDownLatch(3);//此处的数字3代表执行的任务组数new Thread(new Runnable...

2018-07-27 10:31:41 129

原创 Tcpdump的使用

Tcpdump的使用在GPS的日常工作中,经常会使用到tcpdump工具来进行手机中一些通讯信息包的抓取。配置tcpdump首先需要下载好tcpdump,然后将相对应的工具配置到手机中。adb rootadb remountadb push tcpdump data/local/tcpdumpadb shellsuchmod 6755 data/local/tcpd

2018-02-05 14:12:55 152

原创 用矩阵乘法优化的线性齐次递推公式求值

用矩阵乘法优化的线性齐次递推公式求值对斐波那契数列, (fn,fn−1)⋅(1110)=(fn+1,fn)这样的话我们可以在常数时间内求出这个通项的下一项。而如果要求第n项,就相当于对这个矩阵进行幂运算。 有没有想到些什么?没错,见幂就开始快速幂。复杂度logn,比线性求不知道高到哪里去了。 那么能不能进一步推广?当然可以。 如果f(n)=a1f(n−1)+a2

2017-12-28 18:04:23 276

转载 Android中Parcelable接口用法

1. Parcelable接口Interface for classes whose instances can be written to and restored from a Parcel。 Classes implementing the Parcelable interface must also have a static field called CREATOR, which i

2017-12-13 10:13:26 216

转载 烧录手机image镜像

实验环境是Ubuntu14.04。采用手机nexus 5,编译安卓6.0.1源码并烧录安卓。 源码编译没有一蹴而就,建议使用一台linux机器开启ssh后,通过远程的方式利用闲暇时间编译并查看结果。下载源码下载源码时,建议使用科大的镜像源。先找好适合你手机的源码版本:然后采用repo的方式,repo init -u git://mirrors.ustc.edu.cn/a

2017-12-12 16:33:13 1678

原创 工作中常用的Repo和Git的一些操作[随时更新]

工作中常用的Repo和Git的一些操作[随时更新]本文记录一些常用的repo 和 git操作。对于repo下载代码,使用的时候直接复制粘贴代码更改关键位置就可以,并不做详细介绍。对于git 有些时候记不起某些操作指令回头看下本文即可,对指令也并不做详细介绍。

2017-12-07 11:06:27 401

转载 Intent中的四个重要属性——Action、Data、Category、Extras

Intent中的四个重要属性——Action、Data、Category、Extras  Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。诸如此类,都可以通过设置Intent属性来完成。  Intent主要有以下四个重要属性,它们

2017-12-04 14:05:49 265

原创 关于Androidstudio supportV7错误

Android studio support V7错误找不到某些包或者方法

2017-12-03 10:52:20 2685 1

原创 Default Activity not found---Android studio

Default Activity not found

2017-11-28 11:08:42 341

原创 AndroidStudio 中.gitignore的配置

.gitignore在AndroidStudio中的配置

2017-11-27 11:49:42 832

转载 Androidstudio中的快捷键

Androidstudio中的快捷键

2017-11-25 13:01:27 209

原创 Class requires API level 7 (current min is 1)----Android

Class requires API level 7 (current min is 1)在Android中,有的时候各种操作后会报错,出现错误码为Class requires API level 7 (current min is 1)的错误。

2017-11-24 18:05:11 1280

原创 NFC相关学习------第一篇

NFC的基础知识        在现如今的生活中,NFC已经遍布了我们生活的很多方面,我们的很多工具以及生活方式都离不开NFC。比如最常用的公交卡,现在逐渐流行的手机刷公交卡、各种接触式的卡片均使用了NFC的技术。还有一些接触式的工具,比如手机贴近一张卡片便可以自动链接上WiFi、手机闪付等等。因为NFC的有效距离最远为4CM,其安全性高,又方便。由于其成本不高,而安全性却

2017-11-23 16:45:47 1056 2

原创 关于contentProvider和ContentResolver的个人理解

Android ContentProvider和ContentResolve一、前言 在Android平台中,各个Android 应用中可能需要互相传递数据。而ContentProvider类的作用就是...

2017-11-18 12:09:23 2832 2

空空如也

空空如也

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

TA关注的人

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