自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android之Handler原理解析与问题分享

如果把整个Handler交互看做一个工厂,Thread就是动力MessageQueue是履带Looper是转轴Loooper的loop方法就是开关,当调用loop方法时整个工厂开始循环工作,处理来自send和post提交到MessageQueue的消息,每处理完一个后由Handler的dispatch分发出去。

2024-03-04 15:00:50 874

原创 Android系统异常问题分析(死机,重启,无法启动,启动异常等)

需要分析anr里面的trace.txt文件,这类问题一般是死锁,首先是搜索system_server,如果没有搜索到,表示这个anr已经被覆盖,这时候去dropbox找到对应时间的文件,到搜索到system_server相关信息后,log会显示阻塞在什么地方,然后跟着它的阻塞的路径,一直追,知道找到真正触发阻塞的原因,这种异常重点关注时间点,一般在这个时间点之前一定有异常出现。1 通过重启时间来判断,如果是内核重启和modem重启,那么重启的时间肯定比上层重启的时间长。

2023-04-19 17:46:50 2016

原创 android事件分发机制、解决滑动冲突思路

导言Android中的滑动冲突很常见,例如ScrollView/ListView,ViewPager/ViewPager,相信各位或多或少都了解Android事件分发机制,以及滑动冲突产生的原理。网上相关的文章也很多,并且都讲解的很详细。但那毕竟是别人的成果,我觉得有必要通过一篇文章来记录自己的理解。大纲我将从下面几个方面来理解事件分发和解决滑动冲突:理解四个方法 Android事件分发机制 解决滑动冲的思路 一个滑动冲突场景 总结 参考文章1.理解四个方法讲到Android

2021-10-19 16:22:30 1491

原创 Dart语言学习理由

随着跨平台移动 UI 框架 flutter 的走红,小众语言 Dart 也逐渐进入开发者的视野。Dart 作为 Flutter 的御用开发语言,集多种编程语言的优点于一身,越来越受到开发者们的喜爱。今天我们跟随作者 Nafis Fuad 来细数下不得不学习 Dart 语言的十大理由。2019 年的今天,Dart 是你能学习到的最佳语言之一。它作为编程入门语言也非常合适(在我看来,入门 Dart 至少比入门 Java 更容易)。我曾为开发一个新项目而学习了 Dart,结果我深深爱上了这门语言,乃至想为它编写

2021-04-24 20:16:01 1061

原创 Android中Handler、MessageQueue、Looper、Message中关系

一、消息机制-简述Android系统Handler,MessageQueue以及Looper,三者共同协作,完成消息机制的运行。在子线程中,进行耗时操作,执行完操作后,发送消息,通知主线程更新UI。这便是消息机制的典型应用场景。我们通常只会接触到Handler和Message来完成消息机制,其实内部还有两大助手来共同完成消息传递。二、消息机制-模型消息机制主要包含:MessageQue...

2021-04-15 11:34:38 317

原创 HTTP协议

HTTP--Hyper Text Transfer Protocol,超文本传输协议,是一种建立在TCP上的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送HTTP响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务,当一个事物结束后还会在服务...

2019-09-05 11:13:26 165

原创 Android安全性:屏蔽activity屏幕录制,截屏功能

在Android中涉及用户隐私的Acitivity中(例如登录,支付等其他输入敏感信息的界面中)增加属性:WindowManager.LayoutParams.FLAG_SECURE该属性能防止屏幕被截图和录制。这个属性就是可以防止当前Activity不会被录制,我们可以做一个案例:看到下面的截图是一片漆黑,截

2017-08-09 12:13:16 13891 5

原创 安装SVN后,配置Android Studio并Checkout项目到本地

一、下载SVN,在Android Studio配置SVN此处已完成设置svn.exe二、从SVN导出项目到本地至此项目已导出到工程中。

2017-05-10 15:16:50 3458

原创 Toolbar默认左边距取消

一、设置XML布局文件中的Toolbar控件设置android:contentInsetStart="0dp"二、设置XML布局文件中的Toolbar控件设置stylestyle="MyToolbar"<style name="MyToolbar"parent="Widget.AppCompat.Toolbar">         <it

2017-04-24 12:09:45 612

原创 关于导入SVN的项目到Android studio中路径包含中文报错处理

找到项目工程中在gradle.properties文件中加上右边的代码:android.overridePathCheck = true工程目录就可以正常导出,否则会导入失败。

2017-04-13 13:47:53 2980

原创 算法:Map排序-KEY排序、VALUE排序()([0-9][A-Z][a-z])从小到大排序

Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。1、按键排序jdk内置的java.util包下的TreeMap既可满足此类需求,向其构造方法 TreeMap(Comparator comparator)  传入我们自定义的比较器即可实现按键排序。public class MapSortDemo { publi

2017-04-11 14:09:14 2910 1

原创 android ANR产生原因和解决办法

ANR (Application Not Responding)      ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让

2017-03-15 17:38:04 485

原创 android多渠道打包

Android多渠道打包过程一、准备好签名文件.keystore,(具体方法参照百度,android签名生成,或前面博文生成签名代码);二、在AndroidMainfest.xml文件中,添加一下依赖代码: <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_

2017-03-15 17:22:44 266

原创 android bundle存放数据详解,activity与activity之间数据传递,fragment与fragment之间数据传递

1、正如大家所知道,Activity之间传递数据,是将数据存放在Intent或者Bundle中例如:将数据存放倒Intent中传递:将数据放到Bundle中传递:但是Intent或者Bundle存放的数据类型是有限的我想大家都遇到过这个问题,无法将Map、List>等类型数据存放到Bundle或者Intent中但是大家是否注意到,Bundle或者Intent

2017-03-07 09:26:58 771

转载 在Android开发中,定时执行任务的3种实现方法

一、采用Handler与线程的sleep(long)方法(不建议使用,Java的实现方式)二、采用Handler的postDelayed(Runnable, long)方法(最简单的android实现)三、采用Handler与timer及TimerTask结合的方法(比较多的任务时建议使用)下面逐一介绍:一、采用Handle与线程的sleep(long)方法Handle

2017-03-02 15:25:22 546

原创 关于JSON数据存取问题,LinkHashMap数据存取问题

解析JSON时,首次拿到数据使用put方法,取数据使用get方法。切记取数据时使用put方法的返回值拿数据,否则会造成数据错乱。应使用get方法取得数据。

2017-02-09 17:09:45 2771

原创 android或java用DES加密解密文件

DES算法加密解密文件 :package com.spring.sky.util;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.File

2017-01-25 11:47:21 983

转载 HorizontalListView的应用:Listview中完美嵌套HorizontalListView

一、前言 最近做的东西里面碰到一个界面中要求Listview中嵌套一个水平的Listview,看了很多网上的资料,对于单独的水平Listview,采用的是国外一位大牛继承AdapterView构造的HorizontalListView,接下来问题来了,哈哈,父Listview如果直接使用原生的Listview会出现滑动事件冲突的问题(当在HorizontalListView上下滑动时,

2017-01-14 15:39:32 1213

原创 关于使用扩展列表ExpandableList数据接口问题(一)

开发中,使用HashMap生成数据是无序的,因此需要使用有序的LinkedHashMap 原因如下:java中的Map是个key-valus形式存储的健值对接口。Map是个接口,因此不能实例化,不同的子类有不同的实现方式。HashMap  无序的,通过hash算法来(散列存储)。Hashtable 无序的,通过hash算法来(散列存储),与HashMap不同的是

2017-01-05 15:06:30 228

原创 CheckBox使用选择器Selector

第一步,layout文件中设置checkbox属性:android:button="@null"//这样设置能解决checkbox在选中下不会显示系统默认打勾图标,否则设置选择器会重叠自定义图标第二步,在drawable包下新建selecor文件,准备两张图片,一张选中时的图片,一张未选中时的图片,内容为: 上述选中时图标为@drawable/chec

2016-12-27 10:13:58 4364

原创 Android Https请求详细demo(经过测试可用)

Android Https详细请求全方案实现,包括HttpUrlConnection及HttpClient方式实现指定证书及信任所有的实现,以下代码都经过详细测试,可以直接使用。Java代码package com.example.httpstest;import java.io.BufferedReader;import java.io.IOException;im

2016-12-23 15:27:47 3248

原创 android studio 引入arr包的方法

一、生成arr包:Module 配置为 library,在 gradle 文件中如下:输出 aar : apply plugin: ‘com.android.library’; 在moudule的build->utputs->aar目录下就能找到生成的arr文件其它项目引入Gradle 的一些基本依赖配置方式如下:compile fileTree(dir: ‘xxx’, inc

2016-12-12 11:54:09 4066 1

转载 android查远程网关mac

通过读取底层ARP文件,传入IP地址,分割文件信息拿到主路由MAC地址/** * Try to extract a hardware MAC address from a given IP address using the * ARP cache (/proc/net/arp). *  * We assume that the file has this structur

2016-12-10 17:09:55 1376

转载 Android开发之生成自己的签名文件及App签名打包

首先,要想生成Android App的签名文件必须先配好Android开发环境,因为签名文件的生成需要进入jdk中的bin目录,如果还未配好开发环境,请自行百度。下面,我们开始生成自己的签名文件,第一步,打开cmd,进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下; 第二步,在bin目录下输入命令 keytool,回车; 

2016-11-26 11:10:36 1599

原创 xUtils工具四大功能模块:操作数据库、HTTP通信等

xUtils简介xUtils 包含了很多实用的android工具。xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls 最低兼容android 2.2 (api level 8)目前xUtils主要有四大模块:DbUtils模块:android中的orm框架,一

2016-09-01 17:52:19 420

原创 Json数据解析(二)

这个格式使用如下代码解析 try {    JSONObject jsonObject = new JSONObject(json);    JSONObject weatherinfo = jsonObject.getJSONObject("weatherinfo");     System.out.println(weatherinfo.getS

2016-08-30 15:37:27 420

原创 Json数据的解析

一、概述    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式, 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。二、语法规则  (1)、JSON 语法是 JavaScript 对象表示语法的子集。数据在键值对中数据由逗

2016-08-30 12:00:06 800

原创 安卓与服务器进行Http通信抛出 NetworkOnMainThreadException 异常处理

一个APP如果在主线程中请求网络操作,将会抛出此异常。Android这个设计是为了防止网络请求时间过长而导致界面假死的情况发生。解决方案有两个,一个是使用StrictMode,二是使用线程来操作网络请求。在MainActivity文件的setContentView(R.layout.activity_main)下面加上如下代码第一种方法:简单暴力,强制使用,代码修改简单(但是非常不推荐

2016-08-30 11:03:24 891

原创 Android Studio出现:Your project path contains non-ASCII characters.....

导入Project的出现:Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http:/

2016-07-12 14:06:52 936

转载 Android Studio使用gradle打包指定包名和类的jar

在开发sdk生成jar在eclipse里相对比较容易操作,只要导出class时指定哪里导出就可以,但在用AndroidStudio开发时要导出jar就没那么容易,需要写gradle脚本,但gradle脚本的入门成本还是比较高,网上也有打包jar的脚本参考,但大多是通过生成classes.jar重命名来生成,这样生成的jar是包含工程里所有类的,有时我们需要指定一些包和类来生成jar。下面是

2016-05-13 14:44:54 3846 1

转载 Snmp学习总结(二)——SNMP4J介绍

一、SNMP4J介绍    SNMP4J是一个用Java来实现SNMP(简单网络管理协议)协议的开源项目.它支持以命令行的形式进行管理与响应。SNMP4J是纯面向对象设计与SNMP++(用C++实现SNMPv1/v2c/v3)相类似。  SNMP4J API 提供以下下特性:支持MD5和SHA验证,DES,3DES,AES128、AES192和AES256加密的SNMPv3

2016-05-09 15:47:03 1283

转载 Snmp学习总结(一)——Snmp的基本概念

一、SNMP简单概述1.1、什么是Snmp  SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。

2016-05-09 15:09:33 1532

转载 Linux大文件分割split和合并cat使用方法

本文主要介绍linux下两个命令:split和cat。其中,相信大家都熟悉cat命令,一般用来查看一个文件的内容,但是它还其它的功能,比如这里要介绍的文件合并功能,它可把多个文件内容合并到一个文件中。从split词义不拿理解,其为分割之意,常用于分割大文件。下面详细介绍。split命令 — 分割文件语法:split [–help][–version][-][-l][-b][-C][

2016-05-09 11:01:50 614

转载 Android中检测手机制式和移动网络类型

Android中与电话功能相关的类是 TelephonyManager ,此类中定义了很多常量,以下分类说明获取以下信息需要在AndroidManifest.xml中指定权限一、 数据连接状态获取数据连接状态:int getDataState()获取数据活动状态:int getDataActivity()常用的有这几个:int DATA_ACTIVITY_IN 数据连接

2016-04-29 10:08:59 847

转载 Android与SNMP协议

Android狂记忆虽然说技术人员偏爱实战,而不屑理论或记忆,但实战之前,若是记忆一些知识,开发起来将会如虎添翼,不说了,开始狂记吧!  Android 系统包说明:android.app  :提供高层的程序模型、提供基本的运行环境android.content  :包含各种的对设备上的数据进行访问和发布的类android.database  :通过内容提供者浏览和操作

2016-04-14 17:47:10 4255

Logger.java

Android统一管理日志类,分开发阶段与上线阶段切换

2017-05-10

esclips-adt-windows-64

Eclipse IDE for Android,Eclipse IDE for AndroidGalileo是一个安卓开发IDE(Android集成开发环境),安装好JDK后,可以直接解压使用的绿色版。

2017-04-09

空空如也

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

TA关注的人

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