Android开发之获取网络IP地址方法总结

  在进行Android应用开发过程中,有时候会遇到获取当前Android设备所使用的网络IP地址的场景,有时候需要本地的网络IP地址,即局域网地址,更多的时候是需要当前网络的真实的对外IP地址,即真实的网络地址,如大数据分析时往往需要Android设备上传本地的外网地址。本文对各种IP地址的获取...

2019-07-16 12:03:55

阅读数 6

评论数 0

Android开发之获取Mac地址的兼容方法

  随着Android的版本迭代,获取设备信息的方法也可能发生改变,在android 6生效的方法,在android 8可能已经不生效了。诸如此类,获取Mac地址的方法也发生了变化。这里找到了最新的适配方案(适配当前的最新版本Android 9.0),并且记录了整个适配的修复过程,以供参考。 一、...

2019-07-03 17:52:06

阅读数 22

评论数 0

Android深入研究之View的可见性检测

一、背景   在Android开发中,我们常常会对View的可见性visiblity进行操作或者检查。常见的场景有: 在消息流中,根据ImageView是否在屏幕中出现了再决定是否加载; 在视频流页面,当视频滑入屏幕被用户可见时播放,滑出屏幕就自动停止播放等等; 网络请求数据,根据返回的数据结果...

2019-06-14 10:11:48

阅读数 41

评论数 0

Android进阶学习之 EventBus 3.X.X使用总结

EventBus 简介   EventBus 是Android 发布/订阅事件总线,可简化 Activities, Fragments, Threads, Services 等组件间的消息传递。   优势:可替代 Intent, Handler, BroadCast ,接口等传统方案,更快,代...

2019-04-12 15:53:27

阅读数 76

评论数 0

Android基础开发之启动其他应用的方式总结

Android 开发经常会遇到在一个应用中启动另一个应用的情况,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用、一个应用为其他应用导量等。在Android中一个应用启动其他应用主要由以下三种启动方式: 方式一:通过包名和页面名称,直接打开应用的指定页面 Inten...

2019-04-01 19:33:49

阅读数 69

评论数 0

Android Sdcard文件操作之读、写、增、删(Kotlin实现)

Android Sdcard文件操作之读、写、增、删(Kotlin实现)   在AndroidManifest.xml中加入访问SDCard的权限如下: <!-- 在SDCard中创建与删除文件权限 --> <uses-permis...

2019-01-11 18:09:09

阅读数 250

评论数 0

Kotlin开发利器之协程

Kotlin开发利器之协程 协程的定义   协程的开发人员 Roman Elizarov 是这样描述协程的:协程就像非常轻量级的线程。线程是由系统调度的,线程切换或线程阻塞的开销都比较大。而协程依赖于线程,但是协程挂起时不需要阻塞线程,几乎是无代价的,协程是由开发者控制的。所以协程也像用户态的线程...

2018-12-30 10:26:46

阅读数 209

评论数 0

Android N及以上版本应用安装包下载完成自动弹出安装界面的适配方法

应用安装包下载完弹出安装界面适配Android N及以上版本遇到文件及解决方法   在实现下载和安装APP功能的时候在Android较高版本可能会遇到如下的问题: 安装Apk时报错:android.os.FileUriExposedException: file:///storage/emula...

2018-12-07 16:50:30

阅读数 1038

评论数 0

Android深入学习之各种隐私权限判断和获取方法总结

Android深入学习之各种隐私权限判断和获取方法总结   从Android SDK 23 开始, Android就改变了权限的管理模式。对于一些涉及用户隐私的权限则需要用户的授权才可以使用。在此之前,开发者只需要在AndroidManifest.xml中注册,如网络权限、wifi权限等等:权限即...

2018-10-14 16:58:51

阅读数 794

评论数 0

Kotlin开发Android项目之静态方法、静态变量使用示例

Kotlin开发Android项目之静态方法、静态变量使用示例 1.Kotlin定义一个都是静态方法的类   Kotlin定义一个都是静态方法的类,比如项目中比较常见的工具类,只需要将类class换为object即可,下面是Java写法和Kotlin写法的对比: Java写法: publi...

2018-10-07 11:25:16

阅读数 242

评论数 0

Android深入学习之requestLayout、invalidate和postInvalidate的区别

         Android开发离不开界面的重绘和更新,尤其是自定义控件更是经常遇到重绘更新界面的场景,下面具体介绍一下重绘界面几个方法的区别:         (1)、requestLayout:当view确定自身已经不再适合现有的区域时,该view本身调用requestLayout这个方...

2018-09-17 15:32:01

阅读数 120

评论数 0

Android 多线程编程之 HandlerThread 详解

    HandlerThread有那些特点: HandlerThread本质上是一个线程类,它继承了Thread; HandlerThread有自己的内部Looper对象,可以进行looper循环; 通过获取HandlerThread的looper对象传递给Handler对象,可以在han...

2018-08-09 09:51:11

阅读数 86

评论数 0

Java基础学习之接口和抽象类的概念、区别及适用的场景

1.接口   接口是抽象方法的集合,一个接口只有方法的形状而没有方法的具体实现,接口是Java面向对象提供的一种机制。   Java语言是一种单继承的,在类的继承中通过实现多个接口间接实现了多继承功能。接口的声明: [public] interface InterfaceName{ ...

2018-07-29 09:25:15

阅读数 58

评论数 0

Java基础学习之线程同步方法总结

        引入线程同步的原因:当有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常,用户也得不到想要的结果。比如,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和...

2018-07-29 09:16:14

阅读数 69

评论数 0

Java基础知识之synchronized同步方法、代码块、静态方法、静态代码块的区别

      Java中的同步块用synchronized标记,是同步在某个对象上,所有同步在一个对象上的同步块在同一时刻只能被一个线程进入并执行操作,其他等待进入该同步块的线程将被阻塞,直到执行该同步块中的线程退出。 有四种不同的同步块: 实例方法同步; 静态方法同步; 实例方法中的同步块;...

2018-07-26 14:34:48

阅读数 650

评论数 0

Android高级开发工程师技术面试经验总结

         笔者前段时间参加了绿厂的Android高级开发工程师技术面试,总结一下,希望对即将参加技术面试的程序员能有所帮助。         首先面试官问的是项目相关的问题,如项目的实现、项目中遇到的问题以及遇到的问题是如何解决的,同时针对项目中的某些技术点进行不断的追问。      ...

2018-07-21 12:08:48

阅读数 302

评论数 0

Java基础知识之String、StringBuilder和StringBuffer三者的区别

String、StringBuilder和StringBuffer这三个类在操作字符串时主要有运行速度和线程安全这两方面的区别: 1.运行速度   运行速度,即执行字符串操作时代码执行的时间快慢,在这方面运行速度快慢为:StringBuilder > StringBuff...

2018-07-21 11:26:01

阅读数 47

评论数 0

Android网络编程之socket和http编程的区别

HTTP为短连接         Http协议是建立在TCP协议之上的一种应用。它与TCP连接不同之处在于,客户端每次请求都需要服务器返回响应,在请求结束后,会主动释放连接,从建立连接到关闭连接的过程称为“一次连接”。由于HTTP每次请求都会释放连接,因为HTTP连接是一种“短连接”,所以要保持...

2018-07-19 15:43:13

阅读数 453

评论数 0

Android基础学习之进程间和线程间通信方式总结

        首先介绍一下进程和线程的基本概念及两者之间的区别:   进程:是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。   线程:是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有...

2018-07-18 14:38:14

阅读数 1019

评论数 0

HashMap和HashTable区别及Hash冲突解决方法

一、HashMap和HashTable主要有以下5个方面的区别: 1.继承的父类不同   Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。 2.对null对象的支持不同   HashMap是支持null键和null值...

2018-07-17 14:28:06

阅读数 990

评论数 0

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