Android基础(一)

来源:互联网 发布:mac电脑怎么装exe软件 编辑:程序博客网 时间:2024/06/18 04:05

    • Activity
        • LifeCircle
        • Activity绑定自定义视图
        • 工程目录结构
        • 启动另一个Activity
    • BroadcastReceiver
        • 使用BroadcastReceiver
        • 动态注册和注销BroadcastReceiver
        • BroadcastReceiver的优先级

Activity

1.LifeCircle

这里写图片描述

2.Activity绑定自定义视图

  • setContentView(layout)用于呈现视图 (可以自定义视图)

3.工程目录结构

  • manifest(配置)
  • java(源代码)
  • res(资源文件)
    • 布局(视图资源
    • 菜单资源
    • 字符串颜色等等

4.启动另一个Activity

  • 创建一个按钮
<Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_weight="1"        android:text="startAnother" />
  • 实现监听事件,启动一个activity
 Button btn= (Button) findViewById(R.id.button);        btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                startActivity(new Intent(MainActivity.this,Another.class));//启动另一个activity                startActivity(new Intent.ACTION_VIEW,Uri.parse("url");//启动网址            }        });    }

BroadcastReceiver


1.使用BroadcastReceiver

  • Java目录下创建一个Broadcast Receiver,MyReceivpackage
konl.com.demo;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class MyReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        // TODO: This method is called when the BroadcastReceiver is receiving        // an Intent broadcast.        System.out.println("接收到了信息");    }}
  • 实现按钮监听事件
 Button btnSend= (Button) findViewById(R.id.btnMessage);        btnSend.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                switch(v.getId()){                    case R.id.btnMessage:                        sendBroadcast(new Intent(MainActivity.this,MyReceiver.class));                        break;                }            }        });
  • 也可以用intent附加信息
    • putExtra函数和接收intent的用法
 Intent i=new Intent(MainActivity.this,MyReceiver.class); i.putExtra("data","kon"); sendBroadcast(i);
 System.out.println("接收到了信息,消息的内容"+intent.getStringExtra("data"));

2.动态注册和注销BroadcastReceiver

不希望一直处于监听状态
在静态发送消息的基础上
- 把Manidest中的<receiver>删除

  • 在MyReceiver中定义一个字符串(隐式编程)
 public static final String ACTION="konl.com.demo.intent.action.MyReceiver";
  • 实现按钮注册和注销
oncreate中findViewById(R.id.btnMessage).setOnClickListener(this);            findViewById(R.id.btnRigster).setOnClickListener(this);            findViewById(R.id.btnDelete).setOnClickListener(this);
    public void onClick(View v) {        switch (v.getId()){            case R.id.btnMessage:                //                Intent i = new Intent(this,MyReceiver.class);                Intent i = new Intent(MyReceiver.ACTION);                i.putExtra("data","jikexueyuan");                sendBroadcast(i);                break;            case R.id.btnRigster:                if (receiver == null){                    receiver = new MyReceiver();                    registerReceiver(receiver,new IntentFilter(MyReceiver.ACTION));                }                break;            case R.id.btnDelete:                if (receiver != null){                    unregisterReceiver(receiver);                    receiver = null;                }                break;        }

“`

3.BroadcastReceiver的优先级

原创粉丝点击