1、Android日志工具LogCat: Log.v(); Log.d(); Log.i();Log.w(); Log.e();依次分别为:verbose,debug, information, warning, error。另外,还可以为log工具添加过滤器。Activity:如果你需要在XML中引用一个id,就使用@id/id_name这种语法,而如果你需要在XML中定义一个id,则要使用@+id/id_name这种语法。创建活动的步骤:新建活动类,继承自Activity添加xml布局文件活动注册:所有活动必须在AndroidManifest.xml中注册,给主活动指定的label不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称。之后在<activity>标签的内部我们加入了<intent-filter>标签,并在这个标签里添加了<actionandroid:name="android.intent.action.MAIN"/>和<category android:name ="android.intent.category.LAUNCHER" />这两句声明,这样这个活动将成为主活动,在点击桌面应用程序的时候首先打开的就是这个活动。如果程序中没有声明任何主活动,程序仍然正常安装,但是无法再启动器中看到或者打开该程序。
2、隐藏标题栏:requestWindowFeature(Window.FEATURE_NO_TITLE)的意思就是不在活动中显示标题栏,注意这句代码一定要在setContentView()之前执行,不然会报错在活动中使用Toast:Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,在一段时间后自动消失。findViewById()方法返回的是一个View对象,我们需要向下转型将它转成Button对象。在活动中使用menu:在res中添加menu资源在活动中重写onCreateOptionsMenu()方法响应菜单事件:重写onOptionsItemSelected()方法销毁一个活动:利用Activity中的finish()方法Intent是android程序中个组件之间进行交互的重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务、以及发送广播等场景。显式intent:Intent(Context packageContext, Class<?>cls) 这个构造函数接收两个参数,第一个参数Context要求提供一个启动活动的上下文,第二个参数Class则是指定想要启动的目标活动。Activity类中提供了一个startActivity()方法,这个方法是专门用于启动活动的,它接收一个Intent参数
3、隐式Intent:它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息。只有<action>和<category>中的内容同时能够匹配上Intent中指定的action和category时,这个活动才能响应该Intent,android.intent.category.DEFAULT是一种默认的category,在调用startActivity()方法的时候会自动将这个category添加到Intent中。每个Intent中只能指定一个action,但却能指定多个category,在xml文件中指定category,并在调用的时候添加categpry语句:intent.addCategory("com.example.activitytest.MY_CATEGORY");使用隐式Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动,这使得Android多个应用程序之间的功能共享成为了可能。Intentintent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com"));setData()接收一个Uri对象,主要用于指定当前Intent正在操作的数据,而这些数据通常都是以字符串的形式传入到Uri.parse()方法中解析产生的。向下一个活动传递数据:在启动活动时传递数据的思路很简单,Intent中提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂存在Intent中,启动了另一个活动后,只需要把这些数据再从Intent中取出就可以了。
4、返回数据给上一个活动:Activity中还有一个startActivityForResult(intent, 1)方法也是用于启动活动的,但这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。请求码只要是一个唯一值就可以了,这里传入了1。紧接着把要传递的数据存放在Intent中,然后调用了setResult()方法,是专门用于向上一个活动返回数据的。setResult()方法接收两个参数,第一个参数用于向上一个活动返回处理结果,一般只使用RESULT_OK或RESULT_CANCELED这两个值,第二个参数则是把带有数据的Intent传递回去。使用startActivityForResult()方法来启动SecondActivity的,在SecondActivity被销毁之后会回调上一个活动的onActivityResult()方法,因此我们需要在FirstActivity中重写这个方法来得到返回的数据。onActivityResult()方法带有三个参数,第一个参数requestCode,即我们在启动活动时传入的请求码。第二个参数resultCode,即我们在返回数据时传入的处理结果。第三个参数data,即携带着返回数据的Intent。如果用户不是通过按钮来返回activity,而是通过back键回到FirstActivity,可以通过重写onBackPressed()方法来解决这个问题。
5、活动返回栈:Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(BackStack)。每当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈。活动的状态:每个活动在生命周期中最多可能会有四种状态:运行状态:当一个活动位于返回栈的栈顶时,活动处于运行状态暂停状态:当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态,处于暂停状态的活动仍然是完全存活着的停止状态:当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。销毁状态:当一个活动从返回栈中移除后就变成了销毁状态
6、活动的生存期:完整生存期:活动在onCreate()方法和onDestroy()方法之间所经历的,就是完整生存期可见生存期:活动在onStart()方法和onStop()方法之间所经历的,就是可见生存期。在可见生存期内,活动对于用户总是可见的,即便有可能无法和用户进行交互前台生存期:活动在onResume()方法和onPause()方法之间所经历的,就是前台生存期。在前台生存期内,活动总是处于运行状态的,此时的活动是可以和用户进行相互的