随笔分类 -  Android

摘要:1 环境准备 首先需要准备一台Linux服务器,笔者偏好CentOS,不过Google官方建议是Ubuntu;这里不具体列举需要安装的软件。 2 源码下载 2.1 repo工具 2.2 aosp下载 因为国内被墙的原因,通常会通过国内镜像源的方式来下载(以11.0.0_r40版本为例) 2.2.1 阅读全文
posted @ 2021-11-27 19:55 北落不吉 阅读(1390) 评论(2) 推荐(0) 编辑
摘要:1. 介绍 Android中的Statusbar包含导航栏(NavigationBar, 位于左侧、右侧或者底部)和状态栏(StatusBar, 位于顶部, 可下拉)两个部分, 位于SystemUI(frameworks/base/packages/SystemUI)模块 2. 初始化 3. 显示和 阅读全文
posted @ 2021-07-18 20:56 北落不吉 阅读(1278) 评论(0) 推荐(0) 编辑
摘要:1. 使用 1.1 音频参数 1.2 使用实例 2. 流程 参考:<AudioTrack的Play流程><AudioTrack学习笔记> 阅读全文
posted @ 2021-06-26 23:16 北落不吉 阅读(607) 评论(0) 推荐(0) 编辑
摘要:开始这篇文章之前,可以先了解<Linux音频编程> 1. 架构 在Android中,Audio整体架构如下 2. Java Audio 在Java层把Audio从功能上分为三类接口 2.1 AudioService AudioService由SystemServer启动,实现了IAudioServi 阅读全文
posted @ 2021-06-19 20:14 北落不吉 阅读(4218) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 在Android中定位方式通常有两种,GNSS和网络 GNSS(Global Navigation Satellite System)一般是指全球导航卫星系统,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统网络定位是当设备通过基站或WiFi连入网络后 阅读全文
posted @ 2021-04-14 22:29 北落不吉 阅读(6014) 评论(0) 推荐(1) 编辑
摘要:1. HAL 1.1 HAL介绍 1.2 分类 Android 8.0以前的HAL可分为传统HAL(Stub HAL)和旧版HAL(Legacy HAL) 1.3 实现 2. HIDL 2.1 介绍 2.2 分类 3. HIDL实现 HIDL实现分为三个部分,HIDL接口、服务端和客户端 2.3.1 阅读全文
posted @ 2021-02-06 16:32 北落不吉 阅读(2377) 评论(0) 推荐(1) 编辑
摘要:1. 介绍 Zygote是Android系统创建新进程的核心进程,负责启动Dalvik虚拟机,加载一些必要的系统资源和系统类,启动system_server进程,随后进入等待处理app应用请求 Zygote涉及的主要代码如下 frameworks/base/cmds/app_process/App_main.cpp frameworks/base/core/jni/AndroidRuntime.c... 阅读全文
posted @ 2020-01-02 23:22 北落不吉 阅读(8281) 评论(0) 推荐(3) 编辑
摘要:上一篇: <Android binder介绍(上)> 5. Java Binder Android中也实现了Java层的binder接口 主要代码如下 5.1 基础类 5.2 ServiceManager ServiceManager类是servicemanager在Jave层代理, 对应nativ 阅读全文
posted @ 2019-12-30 00:03 北落不吉 阅读(1190) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Binder是Android下基于C/S架构的IPC机制,基于开源OpenBinder 从实现上来说可分为Binder驱动、ServiceManager、Server、Client四个组成部分 2. Binder驱动 Binder驱动代码主要位于drivers/android目录 2.1 阅读全文
posted @ 2019-12-27 00:18 北落不吉 阅读(3941) 评论(0) 推荐(1) 编辑
摘要:上一篇: <Android init介绍(上)> 5. AIL 在init启动过程中,系统服务等均是通过解析rc文件来启动,而rc文件则是由Android初始化语言(Android Init Language)的脚本写成 5.1 格式介绍 AIL以Section为区分,由如下import、actio 阅读全文
posted @ 2019-12-19 23:58 北落不吉 阅读(3170) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 init进程是Linux系统第一个用户进程,是Android系统应用程序的根进程,即1号进程(PID为1);Android中的init文件位于/init,代码位于system/core/init目录 Linux中第一个进程为init_task,也即0号进程(PID为0),init进程由init_task进程fork而来,在kernel初始化完成后init_task便化身为idle进程 ... 阅读全文
posted @ 2019-12-11 23:52 北落不吉 阅读(3633) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Android网络服务主要包括如下四个部分 2. NetworkManagementService NetworkManagementService是重要的网络服务,通过NativeDaemonConnector类建立和netd的联系,实现对物理接口进行操作;它封装了关于接口、网络、防火 阅读全文
posted @ 2019-10-29 23:47 北落不吉 阅读(1797) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2017-05-24 15:29 北落不吉 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 BroadcastReceiver用于接收广播事件(Intent), 是Android四大组件之一 2. 使用 2.1 实现广播接收类 实现一个广播收类继承BroadcastReceiver类, 并覆写onReceive()方法 public class MyBroadcastReceiver extends BroadcastReceiver { @Override ... 阅读全文
posted @ 2017-04-19 15:11 北落不吉 阅读(414) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 SQLite是一款轻型的数据库, 是遵守ACID的关系型数据库管理系统, Android系统已经在框架中适配接口供用户使用. 2. 数据类型 SQLite采用的是动态数据类型, 会根据存入值自动判断.SQLite具有以下五种常用的数据类型: 存储类 描述 NULL NULL 值 INTEGER 带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中 REAL ... 阅读全文
posted @ 2017-04-14 18:32 北落不吉 阅读(483) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Handler允许向关联线程的消息队列(MessageQueue)发送消息(Message)和可执行对象(Runnable).每个Handler实例都与某个线程(即创建该Handler的线程)及该线程的消息队列所关联 Handler主要有两种用途 - 调度消息和可执行对象在未来某个时间点的处理 - 在其他线程中执行动作 2. 实例 2.1 基本实例 注意: 实例中myRunnable方... 阅读全文
posted @ 2017-04-13 17:34 北落不吉 阅读(493) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 本文介绍了Android控件的点击事件 Android控件点击(onClick)事件可以用如下三种方式来实现 2. 实现onClick方法 在layout的xml中指定onClick方法, Activity中实现该方法. 通常用于Button. File: res/layout/activity_main.xml File: java/com/xxx/proj/Mai... 阅读全文
posted @ 2017-04-12 12:01 北落不吉 阅读(1502) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 Android控件大多位于android.widget, android.view.View为他们的父类对于Dialog系列, android.app.Dialog为父类 Android的原生控件, 一般是在res/layout下的xml文件中声明然后在Activity通过使用super.setContentView(R.layout.layout_name)来加载layout在Act... 阅读全文
posted @ 2017-04-12 11:55 北落不吉 阅读(1059) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 本文介绍了Android四大组件之一的Activity 2. 生命周期 Activity的生命周期图如下所示 Activity生命周期的几个过程如下: 1. 启动Activity:系统会先调用onCreate方法, 然后调用onStart方法, 最后调用onResume, Activity进入运行状态 2. 当前Activity被其他Activity覆盖其上或被锁屏: 系统会调用o... 阅读全文
posted @ 2017-04-11 20:45 北落不吉 阅读(371) 评论(0) 推荐(0) 编辑
摘要:1. 介绍 因为某些原因, 笔者需要在android上开发, 使用adb比较麻烦, 于是想使用sshd. 推荐的软件是openssh, 其他选择有dropbear, mosh.当然还有其他选择, 如termux, 这里不予讨论 2. 编译 在Android中已经有openssh包, 位于extern 阅读全文
posted @ 2016-12-02 01:58 北落不吉 阅读(8106) 评论(0) 推荐(1) 编辑