android学习笔记(一)

一、建立一个活动(activity)的一般步骤:
    创建一个类,比如FirstActivity.class,并重写onCreate(Bundle savedInstanceState);
    创建一个layout文件,为界面布局;

    在AndroidMainfest.xml中注册活动;


二、给按钮增加响应事件:
    在onCreate中:
    Button button = (Button)findViewById(R.id.button_2);
    button.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v){
            //doSomething now
        }

    }

   Button btn = (Button) findViewById(R.id.mybutton);
   Button btn2 = (Button) findViewById(R.id.mybutton2);
   btn.setOnClickListener(handler);
   btn2.setOnClickListener(handler);
   View.OnClickListener handler = View.OnClickListener() {
         public void onClick(View v) {
             switch (v.getId()) {
                case R.id.mybutton:
                 //do something
               break;
               case R.id.mybutton2:
               //do something
               break;
            }
    }

三、Intent用法---活动跳转:
1、    显式用法:
    Intent intent = new Intent(a.this,b.class);
    startActivity(intent);
2、    隐式用法:
    第一步AndroidManifest.xml:
    <activity android:name=".SecondActivity">
        <intent-filter>
            <action android:name="com.example.activitytest.ACTION_START" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    第二步FirstActivity:
    Intent intent = new Intent("com.example.activity.ACTION_START");
    //这里没有intent.addCategory(),如果将DEFAULT改为其他比如MY_CATEGORY,则应该加上:
    intent.addCategory("android.intent.category.MY_CATEGORY")
    startActivity(intent);
    更多的隐式用法,打开一个网页:
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("http://www.baidu.com"));
    startActivity(intent);
    类似的,还可以:
    Intent intent = new Intent(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:10086"));
    startActivity(intent);
3、向下一个活动传递数据
    String data = "hello,second activity!";
    Intent intent = new Intent(a.this,b.class);
    intent.putExtra("extra_data",data);//第一个参数用于后面从intent中取值
    startActivity(intent);
    //b.class这个活动中取数据/
    Intent intent = getIntent();
    String data = intent.getStringExtra("extra_data");
4、返回数据给上一个活动
    第一步a.class:    
    Intent intent = new Intent(a.this,b.class);
    startActivityForResult(intent,1);//第二个参数为请求码requiestCode,传入一个唯一值
    第二步b.calss:
    Intent intent = new Intent();//空的intent,没有任何意图
    intent.putExtra("data_return","Hello, First ACTION_DIAL");//把传递数据放在intent中
    setResult(RESULT_OK,intent);//向上一个活动返回数据,第一个参数返回处理结果
    finish();
    第三步a.class:
    由于我们是使用startActivityForResult()方法来启动第二个活动的,在第二个活动被销毁之后会回调上一个活动的onActivityResult()方法,因此需要在第一个活动中重写这个方法:
    a.class:
    @Override
    protected void onActivityResult(int requiestCode,int resultCode,Intent data){
        switch(requiestCode){
            case 1:
            if (requiestCode == RESULT_OK){
                String returnData = data.getStringExtra("data_return");
            }
        }

    }


四、活动的生命周期
1、    每个活动在其生命周期中最多有四种在状态:
    运行状态:位于返回栈的栈顶;
    暂停状态:不再处于栈顶,但是仍然可见;
    停止状态:不再出于栈顶,且不可见,系统会为这种活动保存响应的 状态和成员变量;
    销毁状态:当一个活动从返回栈中移除后就成了销毁状态;
2、    活动的生存期的7个回调方法:
    onCreate():第一次被创建的时候调用,完成活动的初始化操作;
    onStart():在活动由不可见变为可见的时候调用;
    onResume():此时活动处于返回栈的栈顶,并且出于运行状态,在准备好和用户进行交互的时候调用;
    onPause():在系统准备去启动或者恢复另外一个活动的时候调用,可以做一些消耗CPU的资源释放操作;
    onStop():在活动完全不可见的时候调用;
    onDestroy():在活动被销毁之前调用;
    onRestart():在活动由停止状态变为运行状态之前调用
   
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值