自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Walk the horizon

我有仙心一颗,久被尘劳封锁。何日尘尽光生,照破山河万朵?

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

原创 记半次元App数据解密记录

最近发现一个有意思的应用,半次元,这个应用中有很多Cosplay美图,很感兴趣便想试试能否通过抓包分析获取相应的接口,没想到自己实际上已经跳到了一个大大的深坑之中,一起来看下吧。万里长征第一步:抓包分析本次分析采用Fiddler和Charles皆可,若不会配置,请自行百度相关软件的使用,另外因为半次元采用的https的接口,所以这里必须要先配置CA证书,不太了解的同学可以参考: ...

2018-07-20 01:21:13 3417 2

原创 Android多线程编程之Handler篇(消息机制)

Android多线程编程之Handler篇(消息机制)Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。MessageQueue 消息队列,以队列的形式(实为单链表结构)对外提供插入和删除的工作, Looper 以无限循环的形式不断获取MessageQueue中的消息,有则处理,无则等待。ThreadLo

2016-08-27 18:37:43 2272 1

原创 Lottie,一个强大的移动端动画库

Lottie是一个针对移动端打造的动画库,其内部根据json解析出的路径在onDraw下绘制多个图层的每一帧动画实现高效流畅的效果,本文简单介绍其使用,以帮助读者更好的理解。通过Gradle添加依赖dependencies { compile 'com.airbnb.android:lottie:2.1.0'}使用方式一:XML加载<com.airbnb.lottie.LottieAnim

2017-07-27 11:52:53 5823

原创 最右技术问答的一点个人见解

题目一:服务日志分析需求:分析服务接口的调用次数和平均响应时长待分析的服务日志:http://www.izuiyou.com/download/server_access.log.tgz下载并解压,解压后有一个文件server_access.log, 文件每一行记录一次服务接口的调用信息,日志格式如下: 15/Nov/2016:03:20:01 /post/httpapi/get_member_l

2017-02-27 22:28:15 2055 1

原创 Android中的JNI和NDK编程实践

Android中的JNI开发JNI即Java Native Interface(b),该接口使得java可以方便的调用C、C++等本地代码,弥补了因跨平台而受到的本地交互能力弱化问题。本文开发环境: 系统:Windows8.1 64 IDE: Intellij IDEAJNI开发流程:1、在java中声明Native方法public class JniDemo { static {

2017-02-14 22:51:53 558

原创 Android报INSTALL_FAILED_UID_CHANGED解决办法

在通过Android Studio安装应用的前,提示INSTALL_FAILED_UID_CHANGED,这里总结下解决办法:1、尝试通过ADB删除产生冲突的数据文件adb rm -rf /data/data/<your.package.name>很多地方都指明该方式可行,但该方法需要root权限,而我的情况则是在data/data/并没有该文件夹,2、移除非必要的标签 参考:http://sta

2016-11-08 15:17:01 10575 5

原创 Android组件通信之Intent完全解析

Intent作为Android中的信使,被广泛应用于组件间的信息传递,我也曾经写过关于intent的学习笔记,但限于水平,广度和深度实在过于欠缺,这里重新总结整理以备后用。Intent简介Intent是一种运行时绑定机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。Intent的构

2016-08-12 11:39:51 1482

原创 Android 主题设计全解析

Android主题设计!有点乱?初学Android的时候对Android的主题设计都是处在一种模糊的认知状态,为啥呢?自定义时候的attr,普通view的style属性,activity以及application的theme属性,theme与style定义的一致性以及theme的众多可选性,系统预置的style属性的继承与使用等等……OK,先不管这些乱七八糟的,如果你对Android的主题设计依旧存

2016-06-30 15:57:04 4749

原创 Android传感器完全解析

什么是传感器维基百科是这样定义的:传感器是一种物理装置或生物器官,能够探测、感受外界的信号、物理条件(如光、热、湿度)或化学组成(如烟雾),并将探知的信息传递给其他装置或器官。常用传感器介绍与用法Android平台支持三个大类的传感器Motion sensors(运动传感器) 这些传感器测量加速力,并沿三个轴的旋转力。此类别包括加速度计,重力感应器, 陀螺仪和旋转矢

2016-06-25 15:54:31 6933 4

翻译 App Bar Google官方课程翻译

原文参见:https://developer.android.com/training/appbar/index.html添加App Barapp bar,也叫做action bar,在你应用的Activity中是最重要的设计元素之一。因为它提供一个可视化的结构和可互动的元素为用户所熟知的。使用app bar使你的应用与其他应用保持一致,有利于用户更快的使用你的应用并获得较好的体验。app bar的

2016-06-20 15:14:03 7096

原创 Android Material Design设计基础

文章简介本文主要记录一些用于MD设计的小控件或新概念等,辅助MD设计。Palette调色板,可以根据Bitmap获取多种色调用于调整ActionBar和StatusBar等,使界面更加和谐。使用前请自行引入依赖:compile 'com.android.support:palette-v7:23.3.0'获取色调的方式: 同步方式:// Synchronous Palette p = Palet

2016-05-28 18:44:16 31633

原创 Android UI设计之RecyclerView

RecyclerView RecyclerView是继ListView和GridView后Google又一力作,它不仅可以很方便的实现瀑布流效果,而且大幅度降低了视图的耦合性,在设计上有很高的自由度。本文主要分析RecyclerView的使用以及优化。在使用RecyclerView的过程中需要使用Adapter,对于适配器还不够熟悉的朋友可以参考BaseAdapter详解

2016-05-24 22:34:51 27876 7

原创 Android 定时任务的多种实现方式

定时任务实现总结在Android中这算是一个常用的功能了,,有兴趣一起来探讨下可以Android消息机制首先来了解一下Android的消息处理机制 即Handlerd的运行机制,handler的运行需要底层的MessageQueue和Looper的支撑。MessageQueue(消息队列),它的内部存储了一些消息,以队列的形式对外提供插入和删除的操作(实际为单链表存储)。Looper(消息循环)

2016-05-22 20:51:41 76838 4

原创 ImageView和其加载库浅析

本节主要介绍ImageView和glide图片加载库的使用。imageView简介ImageView控件负责显示图片,其图片的来源既可以是资源文件的id,也可以是Drawable对象或Bitmap对象,还可以是网络图片URI地址。主要属性(以下属性都可在代码中调用)android:adjustViewBounds 设置是否需要ImageView调整自己的边界来保证所显示图片的长宽比例简单来说就

2016-05-18 16:36:51 4989

原创 Android之Fragment的前世今生(二)

本篇文章接上一篇Android Fragment的前世今生(一),不同的是本文将深入的分析Fragment的一些使用技巧和方法Fragment使用进阶常用类的解释Fragment :主要用于定义Fragment FragmentManager: 主要用于在Activity中操作Fragment FragmentTransaction: 保证Fragment操作的原子性 FragmentTran

2016-05-17 17:00:23 40285

原创 Android之Fragment的前世今生(一)

曾经读郭神的《第一行代码》就遇到过fragment(碎片)这个控件,当时觉得应该是为了兼容平板而存在的,书上也特别强调了这一点,后来随着学习的深入,越来越多的地方使用到fragment,好么,我就完整做个总结。Fargment(碎片) 碎片(Fragment)是一种可以嵌入在活动当中的 UI 片段,它能让程序更加合理和充分地利用大屏幕的空间Fragment已经广泛运用到了Android开发的各

2016-05-15 17:26:03 23414

原创 Android中的Drawable

Drawable在Android开发中,我们会大量的使用到图像元素,这里我主要总结一下Drawable的概念和分类。Drawable的概念:Drawable表示图像,这种图像不仅仅是图片,也包含各种颜色组成的图像效果。它常通过XML定义并作为View的背景使用。drawable的宽高对于有宽高概念的Drawable,我们可以通过getIntrinsicWidth和getIntrinsicWidth进

2016-05-11 21:35:41 11488 2

原创 猴子都能看懂的Android Menu总结

简单谈谈Android menu菜单的使用,帮助入门的同学。menu主要分类:选项菜单:最常规的菜单 子菜单:多层菜单的实现方案之一 上下文菜单:android中长按视图控件后出现的菜单选项菜单(OptionMenu)该菜单默认在右上角显示,有两种布局方式,xml布局和java代码布局,首先看一下在XMl中的布局方式 一个简单的代码示例 静态布局(xml): <group

2016-05-09 17:18:29 26989 2

原创 单例模式

单例简介:单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。特别注意:单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。使用场景: 某些常用类频繁的被创建和销毁,使用单例设计控制实例的数目以节省系统资源。

2016-05-09 17:15:36 1483

原创 MD之材料设计库(一)

本文主要介绍部分support:design(材料设计库)的控件使用,以及官方模板NavigationDrawer的实现。DrawerLayout该控件是一个侧滑菜单布局,当按照规定书写xml布局文件后,即可轻松实现侧滑效果。 ps:用于替代第三方的侧滑菜单,如sliding menu等。这里给一个简单的Demo示例(配合Toolbar,不熟悉请看MD设计之起步):左右侧滑菜单设定DrawLayo

2016-05-07 21:13:25 14739

原创 以太网(数据链路层)学习笔记

以太网的发展过程:传输媒体从采用同轴电缆到双绞线缆和光纤从共享式以太网发展到交换式以太网出现VLAN和三层交换技术从低速以太网发展到高速以太网传输媒体从采用同轴电缆到双绞线缆和光纤 从共享式以太网发展到交换式以太网总线形以太网拓扑结构 为了解决信号的衰弱问题,需要加入适当的中继器。总线形以太网功能需求要实现两个终端之间的数据通信,必须解决 发什么?收什么? 以帧为单位发收数据。怎么

2016-05-05 18:08:44 11004 2

原创 MD设计之Toolbar

Material Design简介 MD(原质化设计)是Google推出的一套界面设计风格。该设计风格追求遵循优秀设计的经典定则,通过构建系统化的动效和空间合理化利用,并将两个理念合二为一,构成了实体隐喻。为了统一Android的设计风格,Google也是用心良苦。不夸张的说,这个设计风格真的很美,去处了现实的杂质感,保留了其特有的简洁与唯美,个人觉得绝对不差于ios的扁平化设计风格。想全面了

2016-04-23 17:11:09 16814

原创 数据通信基础(物理层)学习笔记

数据传输系统系统组成收发器:  连接发送端的收发器实现将数据转换成信号的过程  连接接收端的收发器实现将信号还原成数据的过程信道:信号传播通道  传播光信号信道、传播电信号信道  有线信道、无线信道  单段物理链路信道、多段物理链路组合信道数据传输系统又主要分为数字信号和模拟信号传输系统。系统功能信道连接结点的方式数据通信方式单工通信半双工通信全双工通信信号正

2016-04-17 19:22:09 9371 1

原创 Github的最简化使用方案

临近大三结束了看到还有诸多道友还不会使用Git,甚至没去了解过GitHub,这里准备写一个简单的使用方案。Git简介: Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git最简化使用最简化使用流程: 1.申请github账号,并创建远程版本库。 2.下载git,并创建本地版本库。 3.推送版本库到github托管。第一步:申请gith

2016-04-17 11:35:24 10436

原创 Android自定义View入门

View架构简介:在Android中,控件主要以ViewGroup和View的形式存在。ViewGroup控件可以包含多个View控件,该复合控件负责其内部所有子控件的测量和绘制,并传递交互事件。如图,在Android的移动开发中,每个Activity都包含了一个PhoneWindow对象,该对象将DecorView设置为应用窗口的根View。该视图上的所有监听事件都通过WindowM

2016-04-16 18:13:26 11652 1

原创 Android学习之运用多媒体

Encodeimport com.alibaba.fastjson.JSON;Group group = new Group();group.setId(0L);group.setName("admin");User guestUser = new User();guestUser.setId(2L);guestUser.setName("guest");User root

2016-03-30 17:49:08 665

原创 Android数据解析之JSON

比起 XML,JSON的主要优势在于它的体积更小,在网络上传输的时候可以更省流量。但缺点在于,它的语义性较差,看起来不如XML 直观。假设有如下数据段[{"id":"5","version":"5.5","name":"Angry Birds"},{"id":"6","version":"7.0","name":"Clash of Clans"},{"id":"7"

2016-03-30 15:54:10 703

原创 Android数据解析之XML篇

内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。不同于文件存储和 SharedPreferences 存储中的两种全局可读写操作模式, 内容提供器可以选择只对哪一部分数据进行共享,从而保证我们程序中的隐私数据不会有泄漏的风险。内容提供器的用

2016-03-28 20:07:02 707

原创 Java常见面试题汇总(一)

1)什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。2)JDK和JRE的区别

2016-03-27 20:10:15 7469

原创 九章算法系列(一)

问题:实现一个Memcpy函数函数简介:c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。本题主要考虑两点:1)内存重叠与否2)重叠内存的copy方式无重叠的内存copy:void *mymemcpy(void *dst,const void *src,size_t num){

2016-03-13 18:07:57 12217 5

原创 Android四大组件之服务(一)

服务是什么服务(Service)是Android中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务。服务的运行不依赖于任何用户界面,即使当程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行。不过需要注意的是,服务并不是运行在一个独立的进程当中的,而是依赖于创建服务时所在的应用程序进程。当某个应用程序进程被杀掉时,所

2016-03-12 20:51:02 669

原创 Android数据存储全解析(一)

文件存储是 Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。

2016-03-09 15:57:40 576

原创 Android四大组件之广播接收器(三)

为了能够简单地解决广播的安全性问题,Android引入了一套本地广播机制,使用这个机制发出的广播只能够在应用程序的内部进行传递,并且广播接收器也只能接收来自本应用程序发出的广播,这样所有的安全性问题就都不存在了。代码示例:public class MainActivity extends AppCompatActivity { private IntentFi

2016-03-07 15:41:08 758

原创 Android四大组件之广播接收器(二)

接上篇,Android四大组件之广播接收器(一)本文主要总结广播的发送。首先创建接收器MyBroadcastReceiver:public class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {Toast.m

2016-03-06 17:20:46 570

原创 Android四大组件之广播接收器(一)

Android 中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来自于其他应用程序的。Android 中的广播主要可以分为两种类型,标准广播和有序广播标准广播(Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它

2016-01-09 19:57:36 1019

原创 Android常用控件学习(1)

简单分享几个小控件的使用,这里我在描述上力求精简所有的控件都具有一个控制显示状态的属性或方法xml中:android:visibility   可选值有三种,visible(可见)、invisible(透明) 和gone(彻底消失)。代码中:setVisibility(),可以传入View.VISIBLE、View.INVISIBLE和 View.GONE(与上

2016-01-08 17:25:53 721

原创 Android学习之多线程编程(handler篇)

在Android中为了执行一些耗时的操作,但有不想因此导致主线程堵塞的时候,就必须通过多线程的方式来处理。在Java中主要有以下两种生成子线程的方法:方法一:class MyThread extends Thread {@Overridepublic void run() {// 处理具体的逻辑}}方法二:class MyThread implements

2015-12-30 19:58:38 759

原创 android学习之控件的事件监听的四种写法

android中很多控件的事件监听都不只有一种写法,这里我以Button为例,为大家展示该控件的四种写法!!!希望能里有利于大家在需要写监听事件的时候有一个更明确的选择。首先给出本次的xml代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_wi

2015-12-11 17:49:55 3540 2

原创 Android布局之ListView

SimpleAdapter(Context context, List > data, int resource, String[] from, int[] to)一般情况下,SimpleAdapter用于ListView。Context context,就是当前的上下文通常写this,Map > data,就是要绑定的数据,(你想在手机上显示数据,不能只有布局吧,这个就是把数据绑定到手机上的

2015-12-09 21:28:05 1297

原创 史上最快模拟器之Genymotion

本文详细讲述在eclipse+ADT上的安装与使用,Android Studio上比较简单,不在赘述。首先这里有一个普遍的方法:http://jingyan.baidu.com/article/9faa72315041d8473c28cbc3.html也许这个方法需要翻墙,反正我没成功注意这里需要将默认勾选去掉手动安装:1、首先去官网下载带有VM的gen

2015-12-09 17:22:24 1356

空空如也

空空如也

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

TA关注的人

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