安卓学习的四大组件
基础知识
- Android的基本组件
1.1 Activity
1.1.1 Activity代表手机的一个屏幕
1.1.2 一个Android程序由多个Activity组成,即:一个Android程序由多屏内容组成
1.1.3 Activity相当于一个展板,本身没有可视的内容,你把画(View)贴到展板上就可以展示出来了
1.2 Service
1.2.1 不可见的组件
1.2.2 在后台运行
1.2.3 为其他组件提供后台服务
1.2.4 监控其他组件的运行状态
1.2.5 后台播放音乐
1.3 BroadcastReceiver:广播消息监听器
1.3.1 作用:用来监听广播,eg:收短信的广播 往手机推送消息
1.4 ContentProvider:内容提供者
1.4.1 帮助不同的应用程序间交换数据,eg:获取通讯录信息
1.5 Intent和IntentFilter 意图
Activity、Service、BroadcastReceiver之间通信的载体,传递数据
View 和 ViewGroup组件
View类似于Swin Jpanel ,代表一个空白的矩形区域, Android应用中的绝大部分UI组件都继承于View或其子类
View还一个重要的子类ViewGroup,它通常作为其它组件的[容器]使
public class MyView extends View {
private Paint paint;
public MyView(Context context) {
super(context);
// paint = new Paint();
// //画笔的颜色
// paint.setColor(Color.BLUE);
// paint.setStyle(Paint.Style.STROKE);
// paint.setTextSize(50);
}
//画布
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//画圆
// canvas.drawCircle(200,200,100,paint);
//画矩形
// canvas.drawRect(100,100,200,300,paint);
//矩形and三角形
// canvas.drawLine(100,100,200,300,paint);
// canvas.drawLine(100,100,100,400,paint);
// canvas.drawLine(100,400,200,300,paint);
//文字
// canvas.drawText("世界和平",200,100,paint);
//画图bitmap位图
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.dog);
canvas.drawBitmap(bitmap,200,200,paint);
}
}
获取屏幕的宽和高
ublic class LogDemo extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
Log.e("LogDemo.dm","宽"+screenWidth+",高"+screenHeight);
}
}