Tim

一枚野生程序员~

  • 主页
  • 随笔
  • 分类
  • 标签
  • 归档
  • 关于
所有文章 工具

Tim

一枚野生程序员~

  • 主页
  • 随笔
  • 分类
  • 标签
  • 归档
  • 关于

高效易用的IO库【Okio应用篇】

2020-12-12

OkHttp是Android中包含的功能强大的HTTP客户端,此框架平时用的还挺多的,但是今天的主角是OkHttp的低层IO库——Okio,Okio是对java.io和java.nio的补充,使访问、存储和处理数据变得更加容易。 这里是它的官网:https://square.github.io/okio/ , 最开始它作为OKHttp的一个组件,现在可以独立使用它来解决一些IO问题,接下来的内容来自对Okio官网的文档以及一些代码示例。

  • Stream
  • 序列化
  • IO
  • 高性能网络

展开全文 >>

Android Socket与HTTPS校验

2020-12-11

在Android中使用HTTPS的场景比较频繁,所以对于HTTPS的证书应该如何校验呢?关于HTTPS的校验原理可以参考我之前写的一篇文章:《 HTTPS协议实现原理 》,相信看完后应该对HTTPS有一个比较大致的了解。而且对HTTP(s)请求的工具进行了封装,需要体会这种封装工具类的思路,也就是编码中常见的Listener机制。然后是Android中TCP、UDP通信的例子,主要是把Android设备作为Client端,如果对Java的Socket编程比较熟悉的话,这些都是特别简单的示例程序,非常容易看懂。

  • Android
  • 网络安全
  • 设计模式
  • 移动开发

展开全文 >>

探究ContentProvider

2020-12-09

为什么微信、QQ、淘宝等App都能访问联系人(通讯录)呢?是因为Android存在一种应用之间的数据共享机制,即ContentProvider,ContentProvider作为Android四大组件之一,为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据。对于ContentProvier而言,无论数据的来源是什么,它都认为是种表(同时也支持文件数据,只是表格形式用得比较多),然后把数据组织成表格返回给使用者。

  • Android
  • 服务解耦
  • IPC通信
  • 移动开发

展开全文 >>

远程服务使用AIDL通信

2020-12-09

在Android 中,一个进程通常无法访问另一个进程的内存。因此为了进程间通信,Android提供了AIDL机制,AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写,AIDL的作用是可以在自己的App里绑定一个其他App的Service,这样App可以通过AIDL与其他App进行交互。

  • Android
  • 消息通信
  • 移动开发

展开全文 >>

后台默默的劳动者,探究服务

2020-12-08

服务作为Android四大组件之一,是一种可在后台执行长时间运行操作而不提供界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。需要注意的是服务并不会自动开启线程,所有的代码都是默认运行在主线程当中的,所以需要在服务的内部手动创建子线程,并在这里执行具体的任务,否则就有可能出现主线程被阻塞住的情况。

  • Android
  • 异步
  • 移动开发

展开全文 >>

Application全局应用

2020-12-07

Application是维护应用全局状态的基类,Android系统会在启动应用进程时创建一个对应的Application对象。所以当我们需要创建全局变量的时候,不需要再像Java那样需要创建public权限的static变量,而直接在Application中去实现。其他组件只需要调用Context的getApplicationContext或者getApplication(在Activity中)来获得一个Application对象,再做出相应的处理。

  • Android
  • 组件通信
  • 移动开发

展开全文 >>

全局大喇叭——BroadcastReceiver

2020-12-04

本篇文章记述了Android的四大组件之一 —— BroadcastReceiver(广播接收者)。广播的作用、广播注册的方式、自定义广播、广播的类型以及在较新的Android系统中使用BroadcastReceiver需要注意的问题。Android 应用与 Android 系统和其他 Android 应用之间可以相互收发广播消息,这与发布-订阅设计模式相似,这些广播会在所关注的事件发生时发送出去。

  • Android
  • 消息通信
  • 移动开发

展开全文 >>

SQLite原理与运用

2020-12-03

SQLite是一个开源的关系型数据库,实现自包容、零配置、支持事务的SQL数据库引擎。其特点是高度便携、使用方便、结构紧凑、高效、可靠。并且SQLite是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。 本篇文章书要是记述了SQLite的基本架构以及SQLite的几种操作方式,其中比较重要的就是ADB Shell命令操作与SQL语句,另外在开发中还是Litepal这款开源ORM框架用的比较多一些,使用起来确实非常方便。

  • Android
  • ORM框架
  • SQLite
  • 移动开发

展开全文 >>

SharedPreference与文件存储

2020-12-02

Android常用数据存储方式有SharedPreferences存储数据(虽然还是属于内部存储)、文件存储(内部,外部)、SQLite数据库存储、ContentProvider存储数据、网络存储数据等几种。本篇博客主要是介绍Shared Preference的原理与使用,区分内部与外部文件存储,以及它们的使用方式。那就从清除缓存与清除数据到底清除了什么这个问题开始吧!

  • Android
  • 存储
  • 权限
  • 移动开发

展开全文 >>

Android屏幕适配

2020-11-30

由于Android系统的开放性,任何用户、开发商、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子,导致碎片化严重。Android手机的分辨率和尺寸千奇百怪,同样的软件在不同的手机上UI表现难以达到一致的效果,所以需要进行屏幕适配,针对不同的设备做一个比较统一的方案。先要搞清楚的问题就是什么是屏幕尺寸?什么是屏幕分辨率?什么是屏幕像素密度?还有开发中的各种单位的意义,关于屏幕适配的各种解决方案,布局适配与图片适配,在图片适配方案主要是记述了.9图的使用和制作。

  • Android
  • 移动开发

展开全文 >>

123…26Next
© 2017-2020 Tim
本站总访问量次 | 本站访客数人
  • 所有文章
  • 工具

tag:

  • 生活
  • JavaSE
  • Android
  • JVM
  • JavaWeb
  • 异步
  • 网络安全
  • 设计模式
  • 自定义UI
  • 模板引擎
  • 前端
  • 组件通信
  • C/C++
  • 索引
  • MySQL
  • Nginx
  • JUC
  • Docker
  • Linux
  • 计算机网络
  • 上传下载
  • Git
  • JavaEE
  • SpringCloud
  • 消息通信
  • RPC
  • Golang
  • Gradle
  • 非对称加密
  • ORM框架
  • IDEA
  • SpringBoot
  • 文件系统
  • GC
  • 模块化
  • 交互式
  • Stream
  • Lambda
  • 字符串
  • Jenkins
  • Jsoup
  • Http Client
  • vim
  • LRUCache
  • 异常处理
  • 存储
  • 文件下载
  • Mac
  • Windows
  • openCV
  • NIO
  • 排序算法
  • Python
  • 集群
  • 微服务
  • SpringMVC
  • REST
  • Redis
  • 缓存中间件
  • RabbitMQ
  • 服务解耦
  • SSH
  • 负载均衡
  • SQLite
  • SpringCore
  • 权限
  • 配置中心
  • UML
  • XML
  • 多线程
  • Maven
  • Chrome
  • 单例模式
  • 压力测试
  • 概率论
  • 博客
  • 分布式
  • 哈希
  • 栈
  • 回溯
  • Netty
  • 高性能网络
  • 序列化
  • 流媒体
  • 堆
  • 二叉树
  • 面向对象
  • Vue
  • ElementUI
  • IPC通信
  • 软件工程
  • Protobuf
  • 观察者模式
  • 线程池
  • 动态扩容
  • 高可用
  • Hash
  • 集合框架
  • 链表
  • IO

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 思维导图
  • PDF工具
  • 无损放大
  • 代码转图
  • HTTPS证书