当前位置: 首页 > news >正文

Android笔记

《疯狂Android讲义第三版、第四版》

四大主流芯片架构(X86、ARM、RISC-V和MIPS)

序号

架构

特点

1

X86

英特尔和AMD的“专属”,在PC市场上独霸多年,地位不可撼动

2

ARM

在移动端和便捷设备上有着不可替代的优势

3

MIPS

在网关、机顶盒等市场上非常受欢迎

4

RISC-V

虽然出来不久,但在智能穿戴产品上的应用广泛,前景广阔

JIT解释器动态编译执行运行时慢、ART模式预编译占用更多存储空间。

创建AVD之前先设置环境变量ANDROID_SDK_HOME,虚拟设备就会保存到其下的.android目录,否则会保存到C盘。ANDROID_SDK_HOME并不表示一定是android sdk的安装目录。

Genymotion可能需要进入bios开启cpu虚拟化。

Android Studio中的Project相当于Eclipse中的Workspace,AS中的Model才相当于Eclipse中的项目。

Activity是Window的容器。

Drawable

Drawable有大量子类:BitmapDrawable、ColorDrawable、ShapDrawable、StateListDrawable。

GridLayout网格布局。

TextView

android:drawableEnd

CheckedTextView

<shap/>标签元素用来定义ShapDrawable,shap可以作为背景,shape中android:shape指定形状类型,solid指定背景色,stroke指定画笔,corners设置圆角,gradient指定渐变。

android:inputType="datetime"只是限定输入法面板上的字符。

<selector/>元素用来定义StateListDrawable

Button

ToggleButton和Switch与CheckBox相比,前两者通常用于切换某种状态。

时钟

模拟时钟AnalogClock、数字时钟TextClock、DigitalClock、计时器Chronometer、工具类SystemClock。

ImageView

android:scaleType各缩放类型区别在于是否缩放、是否等比。

setImageAlpha只改变src drawable的透明度。

ImageButton、ZoomButton、QuickContactBadge、ZoomControls。

AdapterView

三个子抽像类:AbsListView、AbsSpinner、AdapterViewAnimator。

GridView、ExpandableListView、Spinner、AdapterViewFlipper、StackView。

ProgressBar

进度条控件可以表示进行状态或进度比例,进度条派生出滑动条SeekBar、RatingBar。

在标题栏上显示进度条:Activity.setProgressBarVisibility

Material主题与Holo主题

ViewAnimator

ViewAnimator可以在View切换时表现出动画,

ViewSwitcher、ImageSwitcher、TextSwitcher、ViewFlipper。

<set/>标签定义动画集,就是使用这个xml时会播放由哪些动画组成的集合序列,其中使用<translate/>标签定义平移动画指定位移和持续时间。

日期、时间、数值选择

CalendarView、DatePicker、TimerPicker、NumberPicker

ScrollView

ScrollView添加垂直滚动条、HorizontalScrollView添水平滚动条。

Notification

Notification是显示在顶部状态栏的通知

对话框

AlertDialog、ProgressDialog、DatePickerDialog、TimePickerDialog

对话框风格的窗口:<Activity android:theme="@android:style/Theme.Material.Dialog"/>、PopupWindow。

AlertDialog允许创建各种内容的对话框。归纳起来,AlertDialog提供了如下6种方法来指定对话框的内容。

  • setMessage():文本。
  • setItems():列表。
  • setSingleChoiceItems():单选列表。
  • setMultiChoiceItems():多选列表。
  • setAdapter():自定义列表。
  • setView():自定义View。

Android没有公开设置系统日期时间的API。

菜单

手机没有Menu按键时,Android推荐使用ActionBar代替菜单。

Material主题不显示子菜单标题。

MenuItem设置Intent可直接响应处理点击,例如设置与菜单项关联的Activity。

PopupMenu用于在某组件上方或下方弹出菜单。

ActionBar

ActionBar活动条位于传统标题栏的位置。

隐藏ActionBar:使用NoActionBar主题,或调用actionBar.hide()

MenuItem可以设置将自己转化为Action Item,即在有位置时将MenuItem直接显示在ActionBar上。menu标签中的item标签属性android:showAsAction。

设置应用程序图标导航:setHomeButtonEnabled、setDisplayHomeAsUpEnabled可以设置将图标变为可点击,并且添加一个向左的箭头。

Intent.Flag_Activity_Clear_Top

MenuItem还可以通过setActionViewClass或setActionLayout指定使用自定义View。

setNavigationMode设置使用Tab导航方式、下拉式导航。

事件监听器

事件监听器就是实现了特定接口的类实例,在Activity中实现事件处理的方式有内部类方式、外部类方式、本身方式、匿名内部类方式、直接把方法名绑定给标签的方式。

发送短信:SmsManager,使用emulator @avdname1 启动模拟器后在标题中即是模拟器的号码。

基于监听的事件处理模型偶合性低,Android的事件处理机制保证优先触发基于监听的事件监听器。特定情况下基于回调的事件处理机制会更好的提高内聚性,基于回调的事件处理即是重写组件的回调方法。

系统设置事件

resources().getConfiguration、onConfigurationChanged

Handler

Handler用于线程内或线程间消息传递

使用Timer周期性的调度TimerTask任务。

在UI线程中系统已初始化了一个Looper对象,在自定义子线程中如果要处理消息则必须自己创建一个Looper并启动,Looper内会自动创建一个MessageQueue。Looper的prepare方法保证每个线程中最多有一个Looper。

异步任务类AsyncTask适用于简单的异步处理。

http://www.jsqmd.com/news/468455/

相关文章:

  • 【AI】Interesting Applications
  • 【转子动力学】滚动轴承SFK6205故障(含外圈故障、内圈故障、滚动体故障、复合故障)柔性阶梯转子系统非线性动力学【含Matlab源码 15157期】
  • Linux命令快查
  • Size Limit 终极指南:多环境配置与性能预算管理
  • 【工具-===========】
  • PCL 根据时间索引提取扫描线【2026最新版】
  • leetcode 769, 768 最多能完成排序的块 单调栈建模
  • MMDrawerController状态恢复终极指南:确保iOS侧边栏数据永不丢失
  • 扒下满级“赛博打工人”的底裤:从 OpenClaw 爆火,看透 Agent、MCP 与 RAG 的底层逻辑
  • 高速下载b站视频的解决方案
  • AbMole丨Honokiol(和厚朴酚):一种具有多靶点调节活性的天然产物及其科研应用
  • Maven管理Oracle JDBC驱动
  • Mitutoyo三丰 无线蓝牙数据发送器 协议解析
  • LLM-Adapters核心功能解析:7种适配器如何让大模型微调效率提升90%
  • Java SPI概念、实现原理、优缺点、应用场景、使用步骤、实战SPI案例
  • IoTSharp深度解析:基于.NET生态的物联网平台架构与实践
  • Flutter 三方库 essential_lints 的鸿蒙化适配指南 - 定义硬核代码准则,构建高可靠的鸿蒙应用底座
  • 【GitHub】PR的学习笔记
  • OmniParse性能优化终极指南:在T4 GPU上高效运行所有模型的10个技巧
  • HC小区物业管理系统——学习01_项目架构
  • 【Java】--方法的使用
  • 唯品花开通与关闭:额度提现流程、条件、注意事项 - 容易提小溪
  • MySQL5.7安装详细过程--window系统
  • 成为AndroidProject核心贡献者:7步开启你的开源之旅
  • 变得生疏起来能有多快
  • 基于SpringBoot+Vue的物资管理系统毕设项目(完整源码+论文+部署)
  • ComfyUI节点安装笔记
  • 如何快速实现CSS异步加载:loadCSS完整指南
  • 数据结构-顺序表【简单易懂】
  • 蓝桥杯 回文字符串