android学习日记04--开发中的通用细节

1、android中的计量单位
布局中尽量用dip(dp):独立像素 做单位
字体中尽量用sp:放大像素 与刻度无关做单位

2、Context
Context是一个抽象类,它有很多子类,如Activity、TabActivity、Service等
Context可以理解为句柄或上下文,主要用于加载或访问系统资源很多组件实例化都要传递它作为参数
如 Toast,由于Activity是它的子类,所以直接传this即可,但是在内部类实现时一般 要传 ActivityName.this

3、Resources
Android 中的Resources都会由R.java生成ID自动管理
引用时只要 调用 getResources().getXX(ID)即可
XX表示res文件下的xml文件名;

4、findViewById
通过ID来找到布局中的组件

5、LayoutInflate
实例化xml布局文件中的布局,获取具体布局
一般有如下两种写法,但是本质是一样的
LayoutInflater inflater = LayoutInflater.from(this);
View layout = inflater.inflate(R.layout.main, null);

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.main, null);

6、另外补充下
getSystemService是Activity中的方法,根据传入的name来取得对应的服务对象,这些服务名称参数都是Context类中的常量:

传入的Name 返回的对象 说明
WINDOW_SERVICE WindowManager 管理打开的窗口程序
LAYOUT_INFLATER_SERVICE LayoutInflater 取得xml里定义的view
ACTIVITY_SERVICE ActivityManager 管理应用程序的系统状态
POWER_SERVICE PowerManger 电源的服务
ALARM_SERVICE AlarmManager 闹钟的服务
NOTIFICATION_SERVICE NotificationManager 状态栏的服务
KEYGUARD_SERVICE KeyguardManager 键盘锁的服务
LOCATION_SERVICE LocationManager 位置的服务,如GPS
SEARCH_SERVICE SearchManager 搜索的服务
VEBRATOR_SERVICE Vebrator 手机震动的服务
CONNECTIVITY_SERVICE Connectivity 网络连接的服务
WIFI_SERVICE WifiManager Wi-Fi服务
TELEPHONY_SERVICE TeleponyManager 电话服务

android学习日记04--开发中的通用细节

上一篇:android学习日记03--常用控件Dialog


下一篇:【解决】小米M1刷机教程(卡刷)