初学android第一章、第二章

第一章

1、使用Android的日志工具Log

在安卓中,不要使用System.out.println();语句哦,要不然非得招来老板的骂声呢

Log.v();   对应级别verbose

Log.d();   对应级别debug

Log.i();    对应级别info

Log.w();   对应级别warn

Log.e();  对应级别error

 

Log.d()方法传入两个参数,第一个是tag(一般传入类名)第二个就是msg,及想要打出的类名。

                           

第二章

1、探究活动

活动是一种可以包含用户界面的组件,主要用于和用户进行交互。

在Android Studio中直接可以创建一个活动Activity,这样的就不用需要在AndroidManiFest.xml中注册了(在创建的时候会自动创建一个layout布局,一次要想创建活动的就直接先创建活动,在创建活动响应的布局)

 

2、隐藏标题栏

      在onCreate()方法的第二行,也就是在setContentView()前面加上requestWindowFeature(Window.FEATURE_NO_TITLE);

 

 

3、在活动中使用Toast

这个一般用于提示开发人员,这个事件是否发生了。

Toast.makeText(1,2,3);

三个参数分别是:

第一个是Context,也就是Toast要求的上下文,一般都会填入当前活动的name.this。

第二个是Toast显示的参数

第三个是显示时长Toast.LENGTH_SHORT,Toast.LENGTH_LONG

 

4、在活动中使用Menu

在Menu菜单下创建Menu菜单项,然后通过

public boolean onCreateOptionsMenu(Menu menu) {
   
// Inflate the menu; this adds items to the action bar ifit is present.
   
getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

 

然后在public boolean onOptionsItemSelected(MenuItem item) {

}方法中添加要行应的内容

菜单键一般不会显示出来的,只有按下了Menu键,菜单才会在显示出来

 

5、销毁一个活动

Activity类提供了一个finish()方法,调用这个方法就能销毁一个程序,点击了触发了finish(),就会销毁活动

 

6、使用Intent在活动之间穿梭

 

1>  使用显示的Intent

显示的Intent,Intent有多个构造函数的重载,其中一个是Intent(Context pageageContext,Class<?> cls);

第一个参数是Context要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动那个目标活动。

构建好了活动之后,就把创建好的对象传入startActivity()方法启动目标活动。

Intent intent = new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);

 

2>  使用隐式的Intent

相比显示的,隐式的不明确之处我们要启动的哪个活动,而是指定了一系列抽象的action和category信息,然后交给系统来分析这个Intent

当创建一个隐式的活动后

在AndroidManiFest.xml文件下,

<action android:name="com.example.yinlei.activity.ACTION_START"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="com.example.yinlei.activity.MY_CATEGORY"/>
 
然后在响应的地方这样声明一个活动
Intent i = new Intent("com.example.yinlei.activity.ACTION_START");
i.addCategory("com.example.yinlei.activity.MY_CATEGORY");
startActivity(i);
 

 

7、向下一个活动传递数据

1>显示的传入数据

第一个活动中这样写

String data = "Hello FourActivity";
Intent i1 = new Intent(MainActivity.this,FourActivity.class);
i1.putExtra("extra_data", data);
startActivity(i1);

第二个活动这样写

Intent intent = getIntent();   获取用于启动FourActivity的Intent
String data = intent.getStringExtra("extra_data");然后调用此方法传入相应的数据
Log.d("FourActivity",data);
 

2>给上一个活动传入数据

首先Intent i2 = new Intent(MainActivity.this,FourActivity.class);
startActivityForResult(i2,1);
然后在下一个活动中添加能返回到上一层的代码
Intent intent = new Intent();
intent.putExtra("data_return", "Hello MainActivity");
setResult(RESULT_OK, intent);
finish();
最后要在第一个活动中重写onActivityResult()这个方法
switch (requestCode) {
    case 1:        这个1就是刚才传入的那个1
        if (resultCode == RESULT_OK) {
            String returnData = data.getStringExtra("data_return");
            Log.d("MainActivity", returnData);
        }
        break;
 
onActivityResult(int requestCode, int resultCode, Intent data)
有三个参数:
第一个是requestCode,即我们在启动活动的时候传入的请求码
第二个是resultCode,即我们在返回数据的时候传入的处理结果
第三个是data,即我们携带者返回数据的Intent

 

8、活动的生命周期

活动的启动模式:

standad   singleTop    single Task   singleInstance

 

 

9、随时随地的退出程序

可以建立一个ActivityCollector类作为活动管理器

在这里创建三个静态方法

addActivity()    添加活动

removeActivity()  移除活动

finishAll()     结束活动

 

当然了哈,要在每个活动的启动后调用addActivity()方法

然后在要结束的活动中调用finishAll()

 

你可能感兴趣的:(初学android第一章、第二章)