Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

部分 IX. Android

目录

107. Android Studio
107.1. 卸载 Android Studio
107.2. 代码格式化
107.3. 设置兼容最低SDK版本
107.4. SDK Tools
107.4.1. 接受 License
107.4.2. 查看 SDK 列表
107.4.3. 按照 Android SDK
107.5. 命令行操作
107.6. adb 命令
107.6.1. 获得 root 权限
107.6.2. 设备管理
107.6.3. Shell
107.6.4. 设备 ID
107.6.5. 查看安卓版本
107.6.6. Logcat
107.6.7. 上传文件
107.6.8. 下载文件
107.6.9. 安卓 .apk bk
107.6.10. 屏幕尺寸
107.6.11. dump 系统信息
107.6.12. 解锁
107.6.13. 蓝牙管理
108. AndroidManifest.xml
108.1. SDK 版本配置
108.2. 开启网络
108.3. 文件存储权限
108.4. 相机权限
108.5. GPS 定位权限
108.6. 全屏-无标题
108.7. 设置为默认开机启动
108.8. 开机启动
108.9. 默认横屏
108.10. 禁止屏幕旋转变化
109. 设备
109.1. 环境变量
109.1.1. 扩展存储
109.1.2. 下载缓存目录
109.1.3. 数据目录
109.2. 配置文件
109.2.1. *.properties 文件
109.2.2. 再 AndroidManifest.xml 使用 meta-data element 定义
109.2.3. 再 build.gradle 文件中配置 productFlavors
109.2.4. 从 assets 目录读取配置文件
109.3. 设备信息
109.4. Physical density
109.5. 声卡
109.5.1. 播放
109.5.2. 录音
109.5.3. 查看声卡信息
109.5.4. /proc/asound 设备信息
109.5.5. 查看声卡当前占用设备
109.5.6. tinymix 设置声卡参数
109.5.7. 麦克风阵列调试
110. Activity
110.1. 定义 UI
110.2. 隐藏虚拟键
110.3. 显式四种跳转方式
110.3.1. startActivity()
110.4. 定时关闭
110.5. 恢复触发
110.6. 返回触发
110.7. 保持屏幕常开
110.8. 标题栏添加返回按钮
110.9. Activity 间数据传递
110.9.1. Intent 方式
110.9.2. Bundle 方式
110.9.3. Flag 属性
110.9.4. 返回值
110.10. intentActivityResultLauncher 跳转
110.11. startActivityForResult 替代方案
110.11.1. 返回值
110.12. Activity 关闭
110.12.1. 退出 App
110.13. DataBinding
110.14. App 间跳转
110.15. Res 资源
110.15.1. 通过名称查找 layout ID
110.15.2. 查找 drawable 资源 ID
110.15.3. 获取 color 颜色 ID
110.15.4. 获取 array.xml 文件下某个字段的 ID
110.15.5. 获取 style.xml 文件下的某个样式的 id
111. Fragment
111.1. 启动 Fragment
111.2. 关闭 Fragment
111.3. 在 Fragment 中使用 findViewById
111.4. 在 Fragment 中使用 Intent 跳转
111.5. Fragment 中调用 getPackageManager()
111.6. 在 Fragment 中使用 runOnUiThread
111.7. Fragment 中调用 findViewById
111.8. 替换 FrameLayout
111.9. Fragment 接收 BroadcastReceiver 广播
112. Resources
112.1. strings.xml
112.1.1.
112.1.2.
112.1.3. 获取 Resource
113. Palette 视觉设计
113.1. 通用设置
113.1.1. 背景色
113.1.2. 禁止屏幕休眠
113.1.3. 渐变背景色
113.2. 样式布局
113.2.1. ConstraintLayout
113.2.2. LinearLayout
113.2.3. FrameLayout
113.2.4. 动画
113.2.5. 声音波形图
113.3. UI 界面
113.3.1. Toast
113.3.2. Dialog
113.3.3. DatePicker
113.4. Text
113.4.1. TextView
113.4.2. EditText
113.5. Button
113.5.1. 启用禁用
113.5.2. 实现 OnClickListener 接口
113.5.3. Fragment 中使用 Button
113.5.4. 圆形按钮
113.5.5. ImageButton
113.6. EditText
113.6.1. Switch
113.7. Widgets
113.7.1. ImageView
113.7.2. TextClock
113.7.3. 进度条
113.7.4. ListView
113.8. Containers
113.8.1. CardView
113.8.2. RecyclerView
113.8.3. 底部导航
113.9. Legacy
113.9.1. GardView
113.9.2. GridView
113.10. 屏幕
113.10.1. 尺寸
113.10.2. 全屏显示
113.10.3. 屏幕触摸事件 onTouch(View view, MotionEvent motionEvent)
113.10.4. 手势事件
113.10.5. SimpleOnGestureListener
113.10.6. SimpleOnScaleGestureListener
113.11. 带有小三角指示的消息框
113.11.1. 左侧三角
113.11.2. 右侧三角
113.11.3. 正三角
113.11.4. 倒三角
113.11.5. 文本边框
113.11.6. 布局
114. Schedule 计划任务
114.1. 延迟执行
114.2. Time 和 TimerTask 定时刷新
114.3. 使用 Runnable 和 Handler 实现定时执行
114.4. 循环执行
114.5. TimerTask 实现循环播放
114.6. TimerTask 更新 UI
115. Internationalization i18n with Android (国际化)
115.1. 创建国际化文件
115.2. strings.xml 文件
115.3. 翻译语言
115.4. 引用国际化文件
115.5. 切换语言
116. 存储
116.1. 存储目录
116.2. FileProvider 配置
116.3. SharedPreferences
116.3.1. 操作模式
116.3.2. 保存数据
116.3.3. 读取数据
116.3.4. 通过 key 查询数据是否存在
116.3.5. 删除数据
116.3.6. 清空数据
116.3.7. 对象存储
116.3.8. SharedPreferences 读取物理存储文件
116.4. SD Card
116.4.1. SD Card 状态
116.4.2. Android 11 申请 sdcard 权限
116.5. android.os.FileUriExposedException
117. 网络
117.1. Wifi 配置
117.2. OkHttp - An HTTP & HTTP/2 client for Android and Java applications
117.2.1. Gradle
117.2.2. AndroidManifest.xml 开启网络访问权限
117.2.3. okhttp 默认是 HTTPS 开启 HTTP
117.2.4. 连接池
117.2.5. GET
117.2.6. POST
117.2.7. HTTP PUT 请求
117.2.8. http header 相关设置
117.2.9. HTTP Base Auth
117.2.10. HttpUrl.Builder 组装 URL 地址参数
117.2.11. Android Activity Example
117.2.12. Android Oauth2 + Jwt example
117.2.13. HTTP/2
117.2.14. 异步更新 UI
117.2.15. SSE 客户端
117.2.16. WebSocket Client
118. 相机与相册
118.1. manifest 文件
118.2. layout
118.3. Activity
118.4. LED flash 做手电筒
119. 麦克风与录音
119.1. 开启麦克风和SD卡权限
119.2. layout
119.3. Activity
120. 多媒体开发
120.1. MediaPlayer
120.1.1. 播放Raw下的元数据
120.1.2. 播放assets文件夹中的音乐
120.1.3. 播放互联网音乐
120.1.4. 使用单例模式
120.1.5. 设置速度,快进播放
120.2. VideoView 开发
120.2.1. 播放网络视频
120.2.2. MediaController 添加翻页事件
120.2.3. 静音播放视频
120.2.4. 更新进度条
120.2.5. 完整的例子
120.2.6. 循环播放
120.2.7. 静音播放
120.3. SoundPool
120.4. 音量控制
120.5. SurfaceView
120.6. Vitamio
121. 定位
121.1. GPS + 网络 定位
121.1.1. manifest 权限配置
121.1.2. layout
121.1.3. Activity
121.2. 只从 GPS 获取定位
122. 电话
122.1. SIM 卡状态
122.2. 通信录与拨打电话
122.3. 发送短信
123. 消息广播
123.1. 动态注册
123.2. 静态注册
123.2.1. 电源管理
123.2.2. 接收不到消息
123.3. 自定义用户消息广播
123.4. 本地广播
123.5. 动态监听广播
123.6. 广播重复接收
123.7. 指定静态广播接收者
123.8. 异步执行广播
123.9. 静态广播接收不到信息
124. Service 服务
124.1. Service的基本用法
124.1.1. manifest 文件
124.1.2. 创建 Service
124.1.3. Layout 代码
124.1.4. Activity 代码
124.2. Service 中启动线程
124.3. Service 和 Activity 通信
124.3.1. Layout
124.3.2. Service
124.3.3. Activity
124.4. Service 和 Toast
124.5. Service 中启动 Activity
124.6. Service 中更新 UI
124.7. 前台启动 Service
125. Notification 通知中心
125.1. 文本通知
125.2. 添加点击操作
126. NFC (Near field communication)
126.1. AndroidManifest.xml 文件配置
126.2. Loyout 文件
126.3. Activity 文件
127. 图形开发
127.1. Paint
127.2. AnimationDrawable
128. 下载管理
128.1. 从 URL 下来文件
128.2. 安装 APK
128.3. 下载后接收广播通知
129. Android 多线程
129.1. Sleep
129.2. GPIO
129.3. 消息队列
129.3.1. 非阻塞队列 ConcurrentLinkedQueue
130. EventBus
130.1. 添加 EventBus 依赖到项目Gradle文件
130.2. 快速开始一个演示例子
130.2.1. 创建 MessageEvent 类
130.2.2. Layout
130.2.3. Activity
130.3. Sticky Events
130.3.1. MainActivity
130.3.2. StickyActivity
130.3.3. MessageEvent
130.3.4. 删除粘性事件
130.4. 线程模型
130.5. 配置 EventBus
130.6. 事件优先级
130.7. 捕获异常事件
131. Android MQTT
131.1. build.gradle 添加依赖包
131.2. AndroidManifest.xml
131.3. Android Mqtt v5 例子
132. 安卓开发版
132.1. rk3568
132.1.1. 声卡
133. 杂项
133.1. Caused by: java.net.UnknownServiceException: CLEARTEXT communication to 47.100.253.187 not permitted by network security policy
133.2. 设计模式
133.2.1. 单例模式
133.3. Android OS 包
133.3.1. 进程ID
133.3.2. handler
133.4. fastjson android
133.4.1. 对象转字符串
133.4.2. JsonObject 转对象
133.4.3. 字符串 与 json 互转
133.4.4. json 转 数组
133.4.5. JSON数组转List
133.4.6. Map 与 Json 互转
133.5. Butter Knife
133.6. Android Things
133.6.1. GPIO
134. FAQ
134.1. java.net.UnknownServiceException: CLEARTEXT communication to 192.168.0.185 not permitted by network security policy
134.2. Caused by: android.os.NetworkOnMainThreadException
134.3. java.lang.IllegalStateException: Player is accessed on the wrong thread.
134.4. Manifest merger failed with multiple errors, see logs
134.5. android.os.NetworkOnMainThreadException
134.6. package does not have vibrate permission
135. 讯飞云
135.1. AIUI
135.1.1. AIUIPlayer
135.1.2. 酷我音乐
135.1.3. 控制技能
135.1.4. 唤醒词
135.1.5. 汉字转拼音
135.2. 讯飞 TTS
135.2.1. 设置日志输出级别
135.2.2. 流式语音合成
135.3. 语音唤醒
135.3.1. 范例