Android API阅读记录03

来源:互联网 发布:浪登西装 怎么样 知乎 编辑:程序博客网 时间:2024/06/06 09:05

- *Android.graphics 包:主要是有关bitmap的操作,属于大的功能块。*
canvas:一般的应用画静态界面的画,可以在view上画,但是一些需要经常性redraw()的界面,就需要在canvas上进行画,性能会更好。
想要使用canvas,必须使用一个bitmap来创建,画布只是一块布,而这个bitmap相当于提供了一块内存。

Bitmap b = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);Canvas c = new Canvas(b);drawable也可以用在自定义view中,public class CustomDrawableView extends View {  private ShapeDrawable mDrawable;  public CustomDrawableView(Context context) {    super(context);    int x = 10;    int y = 10;    int width = 300;    int height = 50;    mDrawable = new ShapeDrawable(new OvalShape());    // If the color isn't set, the shape uses black as the default.    mDrawable.getPaint().setColor(0xff74AC23);    ***// If the bounds aren't set, the shape can't be drawn**.*    mDrawable.setBounds(x, y, x + width, y + height);//必须setBounds()  }  protected void onDraw(Canvas canvas) {    mDrawable.draw(canvas);  }}

AdaptiveIconDrawable
在android o上新增的,用于自适应图标。
原理:这种drawable有background和forground 2种图标,然后添加一个mask,就可以通过mask的形状将图片变成圆形的或者矩形的
AnimatedVectorDrawable
svg动画drawable.
AnimationDrawable
帧动画。
Bitmapdrable Ninepatchdrawable LayerlistDrawable LevelDrawable等等,可参考官方说明:https://developer.android.google.cn/guide/topics/resources/drawable-resource.html
InsetDrawable:当需要设置一个view的background小于这个view的bounds时,就使用insetdrawable
Paintdrawable:用设定颜色绘制一个drawable的bounds
android 处理pdf有专门的类:PdfDocument
**android的传感器:**SensorManager,通过senmormanager获取各种不同的sensor

FingerPrintManager:用于指纹验证,前提是物理设备要支持指纹识别。如果想添加指纹验证,必须要添加其他的解锁方式(图案 PIN 密码)
InputManager:输入法
商业精确计算类BigDecimal
/**

AlphaBetIndexer:
一个比较重要的类,用在listview的右边滑动指示条,一般的需求都可以用这个来实现。
微信通讯录:滑动listview时,界面中间显示的联系人的首字母的实现可能是是使用AlphabetIndexer,具体demo可参考:http://www.cnblogs.com/qianxudetianxia/archive/2011/08/04/2088493.html;
另一种实现方式是使用windowmanager来实现。
建议使用AlphabetIndexer 来实现。

Android系统的ICU:ICU (International Components for Unicode)
ICU的功能主要有:
代码页转换: 对文本数据进行Unicode、几乎任何其他字符集或编码的相互转换。ICU的转化表基于IBM过去几十年收集的字符集数据,在世界各地都是最完整的。
排序规则(Collation): 根据特定语言、区域或国家的管理和标准比较字数串。ICU的排序规则基于Unicode排序规则算法加上来自公共区域性数据仓库(Common locale data repository)的区域特定比较规则。
格式化: 根据所选区域设置的惯例,实现对数字、货币、时间、日期、和利率的格式化。包括将月和日名称转换成所选语言、选择适当缩写、正确对字段进行排序等。这些数据也取自公共区域性数据仓库。
时间计算: 在传统格里历基础上提供多种历法。提供一整套时区计算API。
Unicode支持: ICU紧密跟进Unicode标准,通过它可以很容易地访问Unicode标准制定的很多Unicode字符属性、Unicode规范化、大小写转换和其他基础操作。
正则表达式: ICU的正则表达式全面支持Unicode并且性能极具竞争力。
Bidi: 支持不同文字书写顺序混合文字(例如从左到右书写的英语,或者从右到左书写的阿拉伯文和希伯来文)的处理。
文本边界: 在一段文本内定位词、句或段落位置、或标识最适合显示文本的自动换行位置。

ANDROID:LOCATION与地理位置相关的 包路径:android.location.

ANDROID media是一个大类。

AsyncPlayer 可以用来播放uri音频。

ANDROID 媒体传输(包括通过usb线与pc进行文件传输),用到的类是MtpDevice

ANDROID 电池管理:BatteryManager包含了一系列的与电池广播相关的信息常量。

倒计时功能:使用CountDownTimer很简单。
CpuUsageInfo:可以获取手机开机时间。
Environment:里面的常量包括:闹钟音频 默认下载的文件夹位置,主要与sd存储相关。
FileObserver:用来监听文件或者目录内容变化的类
HardwarePropertiesManager:可以用来获取硬件(cpu信息),主要是可以获取温度信息。

原创粉丝点击