- 博客(23)
- 收藏
- 关注

原创 区块链技术学习系列开篇
导语:在第一次接触到区块链这个名词是入职后的同事对我说的,当时并不能够理解区块链以及比特币是什么,随着后面通过网上的学习了解,才真正理解了比特币,区块链的真正定义,这一门技术是有很大潜能的,尽管现在是区块链技术发展初期,有很多的问题存在,但是我还是坚信它会发展成为不亚于互联网技术的科技行业,所以我决定投身进入区块链技术的学习研究,并通过在简书以及博客上发布自己的学习知识总结的成果发布出来,为广大对...
2018-04-28 15:33:09
442
原创 Android8.0原生SystemUI源码学习与定制相关功能系列开篇
导语:毕业就职已经半年多了,我在公司负责的是开机向导与SystemUI在Android8.0上做定制,从最初的小白到现在基本了解SystemUI源码结构,相关功能的实现,我走过了许多弯路,并发现在网上写SystemUI相关的架构以及如何定制SystemUI的系列文章的资料不多,所以我想将自己在这个过程中学到的知识与见解发布在简书上,让更多的新人能从我的经验中得到解决他当下问题的办法,同时也是给自己...
2018-04-28 15:42:59
1466
2
原创 自定义Android系统服务
一、概述 本文将讲述如何在Framework层增加系统服务,提供给其他进程访问。在讲述之前,读者应该了解所有的系统服务运行在SystemServer进程中,并将对应的IBinder对象注册在ServiceManger进程中。二、编码思路 1、在framework/base/core/android/os/下定义AppLockServiceTest.aidl接口 2、在fram
2017-10-27 11:19:41
452
1
原创 Android AIDL基础用法
一、概述 本文将讲述基本的aidl使用方法实现进程间通信,后续将讲述如果将自己的写的服务加入到系统服务中,提供给系统应用使用,典型案例应用锁。 二、服务端 1、在main下新建一个aidi文件夹,在新建一个包,然后定义Book.java类,实现Parcelable接口,代码如下 package com.android.topwise.applock; import android
2017-10-16 21:03:30
302
原创 2017年-2018年成长计划
一、Anroid部分 1、android View体系学习与分析,熟悉Android自定义View。 2、Binder进程通信原理学习与分析,熟悉自定义服务添加进系统服务管理者给应用进程调用。 3、学习android系统编译分析,熟悉源码编译过程以及mk文件与make文件的编写。 4、学习分析ServiceManager与系统服务的实现和WindowManager,、View、Ac...
2017-10-15 15:42:52
1134
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-10-15 13:43:37
259
原创 Android中Service的使用及Service生命周期
一.Service的简介 1.Service介绍和作用 Service是Android系统中的四大组件之一,它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当退出播放音乐的应用,如果不用Service,我 们就听不到歌了,所以这时候就得用到Service了。2、Service的俩种启动方式 1、通过Context.star
2017-02-17 22:32:59
354
原创 深入理解Looper、MessageQueue、Handler之间的关系,Android的异步消息机制
一、Android的异步消息机制是处理线程之间的通信交互的重要机制。二、首先在当前线程中调用Looper.prepare()方法,实例化Looper对象,与MessageQueue()对象,并将Looper对象保存到当前线程中,调用Looper.loop()方法,让Looper对象不断取消息队列中的消息。1、实例化Looper对象与MessageQueue对象。 1、Looper.prepare(
2017-02-11 21:13:02
290
原创 RecycleView的基本用法
一、RecycleView是android中一个很重要的高级控件,可以实现GridView,ListView,瀑布流等效果,实现了布局与Item,数据之间的分离,通过一个小案例掌握RecycleView的基本用法。二、案例实现 1、RecycleView实现ListView 编码思路 1、导入库 点击File->Project Structure ->Dependencies->选择V7的
2017-02-09 12:34:39
383
原创 SurfaceView的基本用法模板自定义实现抽奖盘
一概述 SurfaceView是在子线程中进行绘制的,SurfaceHolder提供Canvas并管理SurfaceView的生命周期。二、模板编程思路 1、继承SurfaceView,声明一个绘制的线程,获取SurfaceHolder,控制线程的变量,Canvas。 2、构造方法中对变量进行初始化,SurfaceHolder提供Canvas与生命周期的CallBack; 3、在surfac
2017-02-06 15:17:19
236
原创 多文件多线程断点续传项目练习总结
一、练习项目概述 此项目实现多线程下载多个文件,涉及到的知识点有ListView的使用,通知的使用,数据存储,网络连接,数据库的读写,Service的使用,广播的使用,多线程,handler等的使用。项目流程中数据存储与传递图如下: 2、过程说明 过程1:Activity将保存文件的List数据传递给适配器显示在界面上。 过程2:用户点击下载,将下载文件的数据传递给DownLoadSer
2017-02-01 00:28:11
348
原创 Xml数据解析的三种方式
一概述 xml作为一种数据交互格式,涉及到xml数据的生成与解析,这里讲述Java内置的xml的基本解析。二、编写思路 1、创建解析器工厂对象(DocumentBuilderFactory对象) 2、创建解析器对象 3、创建Document对象例如解析下述文件<?xml version="1.0" encoding="utf-8"?> <students> <stud
2016-12-28 23:35:31
790
原创 使用ContentResolver访问通讯录ContentProvider
一、概述 ContentProvider是Android四大组件之一,上文以述如果创建一个内容提供者给其他应用去访问,此文将讲述用内容解析者去访问系统的通讯录内容提供者,进行查询与增加。二、通讯录数据库分析 在通讯录这个应用里有个特别重要的三个表,分别为:raw_contacts、data、mimetype。 1、raw_contacts表保存联系人的ID 例如:contact_id
2016-12-27 22:16:46
588
原创 如何创建一个ContentProvider,提供给其他App访问
一、概述 内容提供者是封装一套给其他APP访问此APP数据的接口,并提供安全的权限机制,如何数据不用提供给其他应用访问的话,使用数据库就可以了,内容提供者更加强调的是需要跨应用。二、编码思路 1、使用SQliteOpenHelper类,创建一个数据库。 2、写一个类继承ContentPrivoder实现抽象方法 3、定义一套访问的此ContentPrivoder的唯一路径 4、用
2016-12-27 15:42:30
546
原创 Android数据存储之Sqlite数据库的俩种使用方式
一概述 在Android开发中数据存储包括 SharedPreference、文件存储、数据库存储、ContentProvider、网络存储,本文讲述使用Sqlite数据库存储的俩种基本使用方式1、第一种使用SQL语句实现 编写代码逻辑:使用SqliteOpenHelper类创建一个数据库 创建一个访问数据库增删改查的的接口
2016-12-25 18:20:47
333
转载 Android studio 快捷键大全
Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,基于Gradle的构建支持。 最常用快捷键 1.Ctrl+E,可以显示最近编辑的文件列表 2.Shift+Click可以关闭文件 3.Ctrl+[或]可以跳到大括号的开头
2016-12-21 22:44:31
242
原创 adb命令记录
W ADB命令:device 链接的设备 kill-server 杀死adb start server 启动adb netstat -ano 查看端口
2016-12-20 20:34:40
317
原创 #Android API开发文档离线查询很慢的问题解决方案
1、概述对一个自学Android的小白来说,查询Android开发的API文档是非常重要的,google不仅提供的API指南,还提供了很多学习的案例在trian中等,但是在天朝因为被墙了,下载下来的离线文件还是打开很慢,小白在不断的探索中总结了快速查询的方案,不喜勿喷,下面是我的解决方案。 使用说明:我采取的方式是一个离线文档+Everythring的方式2、解决步骤: 1、下载everythin
2016-12-14 15:00:33
745
原创 #Android异步加载图片
一、概述 Android中异步加载图片的方式有俩种,此文通过从服务器取出的Json数据后,通过这俩种方式去加载服务器的图片数据。二、案例描述: 三、实现编码思路1、写布局 2、取到服务器的Json转成JavaBean保存在List中当数据源 3、在适配器中把数据源对应显示在ListView 4、在适配器显示图片时开启异步线程去服务器读取照片 5、图片缓存优化下 1、布局xm
2016-12-13 17:23:24
316
原创 Json数据格式基本生成
一、概述 Json数据格式在开发中运用非常普遍,现在流行的Json框架有Gson,org.json,fastjson,jackjson等,今天讲讲服务器端采用Gson生成JavaBean,List格式。《以下的Json code代表是否成功码,Message代表需要说明的信息,data代表数据》 {“code”:”1”,”data”:{“title”:”标题一”,”context
2016-12-12 21:02:21
398
原创 #Activity的生命周期
一、概述 Activity是学习android的一个重要的组件,理解好Activity的生命周期是十分重要的 1、单个Activity的生命周期 2、俩个Activity交互的生命周期 3、实际开发时的主意点 1、单个Activity的生命周期 1、当一个Activity启动时,先调用onCreate()方法进行View的初始化工作,然后调用 onStart()方法让界面可见,然后调用onR
2016-12-10 20:42:57
237
原创 JavaSE集合框架总结
Map、Set、List比较总结 Map Set List 元素特点 Key-value存储 Key不可重复 Value可重复 直接存储 不可重复 直接存储 可重复 遍历方式取出时 KeySet+Iterator方式 EntrySet+Iterator方式
2016-12-10 16:59:00
386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人