2015/9/7

2015/9/7问题集

理解 Android Build 系统

Android Build 系统是用来编译 Android 系统,Android SDK 以及相关文档的一套框架。众所周知,Android 是一个开源的操作系统。Android 的源码中包含了许许多多的模块。 不同产商的不同设备对于 Android 系统的定制都是不一样的。如何将这些模块统一管理起来,如何能够在不同的操作系统上进行编译,如何在编译时能够支持面向不同的硬件设备,不同的编译类型,且还要提供面向各个产商的定制扩展,是非常有难度的。 但 Android Build 系统很好的解决了这些问题,这里面有很多值得我们开发人员学习的地方。

Build的参数:

、内部类:

1、Build.VERSION 各种版本字符串

2、Build.VERSION_CODES 目前已知的版本代码的枚举类

静态属性

1、BOARD 主板:The name of the underlying board, like “goldfish”.

2、BOOTLOADER 系统启动程序版本号:The system bootloader version number.

3、BRAND 系统定制商:The consumer-visible brand with which the product/hardware will be associated, if any.

4、CPU_ABI cpu指令集:The name of the instruction set (CPU type + ABI convention) of native code.

5、CPU_ABI2 cpu指令集2:The name of the second instruction set (CPU type + ABI convention) of native code.

6、DEVICE 设备参数:The name of the industrial design.

7、DISPLAY 显示屏参数:A build ID string meant for displaying to the user

8、FINGERPRINT 唯一识别码:A string that uniquely identifies this build. Do not attempt to parse this value.

9、HARDWARE 硬件名称:The name of the hardware (from the kernel command line or /proc).

10、HOST

11、ID 修订版本列表:Either a changelist number, or a label like “M4-rc20”.

12、MANUFACTURER 硬件制造商:The manufacturer of the product/hardware.

13、MODEL 版本即最终用户可见的名称:The end-user-visible name for the end product.

14、PRODUCT 整个产品的名称:The name of the overall product.

15、RADIO 无线电固件版本:The radio firmware version number. 在API14后已过时。使用 getRadioVersion()代替。

16、SERIAL 硬件序列号:A hardware serial number, if available. Alphanumeric only, case-insensitive.

17、TAGS 描述build的标签,如未签名,debug等等。:Comma-separated tags describing the build, like “unsigned,debug”.

18、TIME

19、TYPE build的类型:The type of build, like “user” or “eng”.

20、USER

Build小Demo

package com.zsz.develop.builddemo;

import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
private TextView tvBuild01,tvBuild02,tvBuild03,tvBuild04,tvBuild05,tvBuild06,tvBuild07;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tvBuild01= (TextView) findViewById(R.id.tvBuild01);
    tvBuild02= (TextView) findViewById(R.id.tvBuild02);
    tvBuild03= (TextView) findViewById(R.id.tvBuild03);
    tvBuild04= (TextView) findViewById(R.id.tvBuild04);
    tvBuild05= (TextView) findViewById(R.id.tvBuild05);
    tvBuild06= (TextView) findViewById(R.id.tvBuild06);
    tvBuild07= (TextView) findViewById(R.id.tvBuild07);

    tvBuild01.setText("版本号: "+ Build.VERSION.SDK_INT);
    tvBuild02.setText("版本字符串号: "+ Build.VERSION.RELEASE);
    tvBuild03.setText("屏幕参数: "+ Build.DISPLAY);
    tvBuild04.setText("主板: "+  Build.BOARD);
    tvBuild05.setText("android系统定制商: "+ Build.BRAND);
    tvBuild06.setText("硬件名称: "+Build.FINGERPRINT);
    tvBuild07.setText("手机制造商: "+ Build.PRODUCT);




}

}

getWindow().setFlags()设置窗体

//设置窗体全屏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

//设置窗体始终点亮

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,

WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

//设置窗体背景模糊

getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

Android的kitkat是什么?

Android 4.4,是由Google公司制作和研发的代号为KitKat的手机操作系统

android4.4以后的透明状态栏一体化

//信号栏一体化
protected void initSystembarTint() {
    //kitkat代表android4.4.大于4.4才可以设置这些东西
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//设置透明状态栏
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//设置透明导航栏
        // 创建状态栏的管理实例
        SystemBarTintManager tintManager = new SystemBarTintManager(this);
        // 激活状态栏设置
        tintManager.setStatusBarTintEnabled(true);
        // 激活导航栏设置  
        tintManager.setStatusBarTintColor(Color.parseColor("#3B87C5"));
    }
}

Android 动画(anim)

Android的animation由四种类型组成:alpha(透明度)、scale(缩放)、translate(位移)、rotate(旋转)






Animation的简单使用

实现左边进入效果

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="300"
        android:fromXDelta="-100%p"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:toXDelta="0%p" />

</set>

实现右边退出效果

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate

        android:toXDelta="-100%p"
        android:toYDelta="0%p"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:duration="100"

        />
</set>