![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
疯狂Android讲义--读书笔记
活捉小蓝胖
这个作者很懒,什么都没留下…
展开
-
1.1.2Android 5.x平台架构及特性
Android系统的底层建立在Linux之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件层叠(Software Stack)的方式进行构建。这种软件层叠结构是的层于层之间相互隔离,明确各层之间的分工。这种分工保证了层与层之间的低耦合,当下层的层内或层下发生改变时,上层的应用层序无需任何改变。Android系统主要由5部分组成,下面分别对这5部分简单介绍。1.原创 2017-12-25 14:38:04 · 503 阅读 · 0 评论 -
2.9 第7组UI组件 : 对话框
Android提供了丰富的对话框支持,他提供了如下4种常用对话框。>AlertDialog : 功能最丰富,实际应用最广的对话框。>ProgressDialog : 进度对话框,这个对话框只是对进度框的包装。>DatePickerDialog: 日期选择对话框,这个对话框只是对DatePicker的包装。>TimePickerDialog : 时间选择对话框,这个对话框只是对TIm原创 2017-12-29 11:09:30 · 158 阅读 · 0 评论 -
Android事件处理概述
不管是桌面应用还是手机应用程序,面对最多的就是用户,经常需要处理的就是i用户动作——也就是需要为用户动作提供响应,这种为用户动作提供响应的机制就是事件处理。Android提供了2套强大的事件处理机制:>基于监听的事件处理。>基于回调的事件处理。对于基于监听的事件处理而言,主要做法就是为Android界面组件绑定特定的事件监听器。Android还允许再界面布局文件中为UI组件的a原创 2017-12-29 15:20:17 · 253 阅读 · 0 评论 -
3.5 Handler消息传递机制
处于性能优化考虑,Android的UI操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,则可能导致线程安全问题。为了解决这个问题,Android制定了一条简单的规则:只允许UI线程修改Activity中的UI组件。当程序一个程序第一次启动时,Android会同时启动一条主线程(Main Thread),主线程主要负责处理与UI相关的事件,如用户的按键事件,用户接触屏幕的事件以及屏幕原创 2017-12-29 16:36:12 · 193 阅读 · 0 评论 -
Handler,Loop,MessageQueue的工作原理
为了更好地理解Handler的工作原理,下面先介绍一下与Handler一起工作的几个组件.> Message: Handler接受和处理的消息对象.>Looper :每个线程只能拥有一个Looper.他的loop()方法负责读取MessageQueue中的消息,读到消息之后把消息发送给该小小的Handler进行处理.>MessageQueue:消息队列,他采用先进先出的方式管理Mess原创 2017-12-29 17:30:37 · 277 阅读 · 0 评论 -
5.1Intent对象简述
Android的应用程序包含三种重要组件:Activity,Service,BroadcastReceiver,应用程序采用一致的方式启动他们——都依靠Intent来启Intent就封装了程序要启动程序的意图。不仅如此,Intent还可用于与被启动组件交换数据。Intent 启动不同组件的方法:Activity:startActivity(Intent intent),startAct原创 2018-01-23 10:18:18 · 248 阅读 · 0 评论 -
Activity的四种加载模式
正如前面介绍Activity配置时提到的,配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式。该属性支持如下·4个属性值。 >standard:标准模式,这是默认的加载模式。 >singleTop:Task栈顶单例模式。 >singleTask: Task内单例模式。 >singleInstance:全局单例模式。Android采用Ta原创 2018-01-18 17:55:06 · 363 阅读 · 0 评论 -
8.1使用SharedPreferences
有时候,应用程序有少量数据需要保存,而且这些数据的格式很简单,都是普通的字符串,标量类型的值等,比如应用程序的各种配置信息(如是否打开音效,是否使用震动效果等),小游戏的玩家积分(如扫雷英雄榜之类的)等,对于这种数据,Android提供了SharedPreferences进行保存。8.1.1 SharedPreferences与Editor简介SharedPreferences保存的数据主原创 2018-02-07 16:29:42 · 468 阅读 · 0 评论 -
File存储
读者学习JavaSE的时候都知道Java提供了一套完整的IO流体系,包括FileInputStream,FileOutputStream等,通过这些IO流就可以非常方便的访问磁盘上的文件内容。Android同样支持这种方式来访问手机存储器上的文件。》》8.2.1 openFileOutput和openFileInputContext提供了如下两个方法来打开应用程序的数据文件夹里的文件IO流原创 2018-02-07 17:58:24 · 233 阅读 · 0 评论 -
Notification的功能和用法
Natification是显示在手机状态栏的通知——手机状态栏位于手机最上方,哪里一般显示手机当前的网络状态,电池状态,时间等。Notification所代表的是一种全局状态的通知,程序一般通过NotificationManager服务来发送Notification。NotificationManager是一个重要的系统服务,该API位于应用程序框架层,应用程序可通过NotificationM原创 2017-12-29 10:16:16 · 651 阅读 · 0 评论 -
Spinner的功能和用法
Spinner其实是一个列表选择框,不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。Spinner与Gallery都继承了AbsSpinner,AbsSpinner继承了AdapterView,因此他也表现出AdapterView的特征:只要为AdapterView提供Adapter即可。android:entries属性并不是Spinner定义的,而原创 2017-12-29 08:51:19 · 27690 阅读 · 0 评论 -
1.6.2 Service
Service与Activity的地位时并列的,它代表的是一个单独的Android组件。Service与Activity的区别在于:Service通常位于后台运行,它一般不需要与用户交互,因此Service组件没有图形化界面。与Activity组件需要继承Activity基类相似,Service组件需要继承Service基类。一个Service组件被运行起来后,他将拥有自己独立的生命周期,Se原创 2017-12-25 18:27:53 · 315 阅读 · 0 评论 -
使用XML布局文件和Java代码混合控制UI界面
完全使用Java代码控制UI界面不仅繁琐,而且不利于解耦;而完全利用XML布局晚间来控制UI界面虽然方便,便捷,但难免有失灵活。因此有时候,可能需要混合使用XML布局文件和代码来控制UI界面。当混合使用XML布局和Java代码来控制UI界面时,习惯上把变化下,行为比较固定的组件放在XML布局文件中管理,而那些变化比较多,行为控制比较复杂的控件则交给Java代码来管理。简单思路:XML布局中原创 2017-12-26 09:06:38 · 1496 阅读 · 0 评论 -
自定义组件
当Android系统提供的UI组件不足以满足项目需求时,开发者可以通过继承View来派生自定义组件。当开发者打算派生自己的UI组件时,首先定义一个继承View基类的子类,然后重写View类的一个或多个方法。通常可以被用户重写的方法如下。> 构造器 : 重写构造器时定制View的最基本的方式,当Java代码创建一个View实例,或根据XML布局加载并构建界面时将需要调用该构造器。>onF原创 2017-12-26 10:34:21 · 187 阅读 · 0 评论 -
TextView边框
一。首先看看EditView,这个加一个背景颜色就可以营造出,编辑框有边框的假象。LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schema原创 2017-12-27 14:51:11 · 280 阅读 · 0 评论 -
2.4 第三组UI组件 : ImageView 及其子类
ImageView继承自View组件。它主要功能时显示图片——实际上这个说法不太严谨,因为它能显示的不仅是图片,任何Drawable对象都可以使用ImageVIew来显示。除此之外,ImageView还派生出了ImageButton,ZoomButton等组件,ImageView支持的XML属性和方法也适用于ImageButton,ZoomButton等组件。ImageView支持的and原创 2017-12-28 09:14:15 · 224 阅读 · 0 评论 -
2.5 第4组UI组件: AdapterView及子类
AdapterView是一组重要的组件,AdapterView本身是一个抽象基类,它派生的子类在用法上十分相似,只是i显示界面有一定的区别,因此本节把他们归为一类,针对他们的共性集中讲解,并突出介绍他们之间的区别。AdapterView具有如下特征。>AdapterView继承了ViewGroup,它本质是是容器。>AdapterView可以包含多个“列表项”,并将多个“列表项”以合适原创 2017-12-28 14:50:02 · 229 阅读 · 0 评论 -
使用SimpleAdapter创建ListView
ListView的大多数场景都可以通过SimpleAdapter来提供列表。使用SimpleAdapter的最大难点在于创建SimpleAdapter对象,它需要5个参数,其中后面4个非常关键。>第2个参数:该参数时一个List>类型的集合对象,该集合中每个Map对象生成一个列表项。次参数将所有数据的数组以map的形式加入到list集合中,就是提供数据的。>第3个参数: 该参数指定一个原创 2017-12-28 17:34:35 · 300 阅读 · 0 评论 -
BaseAdapter实现不存储列表项的ListView
本实例将会通过扩展BaseAdapter来实现Adapter,扩展BaseAdapter可以取得对Adapter最大的控制权 :程序要创建多少个列表项,每个列表项的组件都由开发者决定。public class MainActivity extends AppCompatActivity { ListView mylist; @Override protected原创 2017-12-28 17:42:02 · 183 阅读 · 0 评论 -
10 Service
10.1 Service简介Service组件也是可执行的程序,它也有自己的生命周期。创建,配置Service与创建,配置Activity的过程基本相似,下面详细介绍Android Service的开发。>>10.1.1创建,配置Service就像开发Activity需要两个步骤:1.开发Activity子类;2.在AndroidManifest.xml文件中配置Activity。开发原创 2018-02-08 17:49:59 · 219 阅读 · 0 评论