1、xml文件中@string/name @+id/name @id/name 的用法与区别:
@string/name 一般长用于从别的资源中获取键值对
@+id/name 为控件指定名为name的id,供java代码(findViewByID)或xml代码(@id/name)中去引用
@id/name xml文件中引用id为name的控件
2、不要忘记在AndroidManifest.xml中声明新添加的Activity、Service、BroadcastReceiver、ContentProvider等,否则编译会通过,但是执行时程序会崩溃
3、xml文件中也可以适当的注释
<!--中间部分是注释-->
4、 对于Activity可使用setTheme(int resid)方法来设置窗口的风格包括是否现实ActionBar、以对话框的形式显示窗口等。
5、BroadcastReceiver用于监听Android系统中的其他组件。通过实现子类,重写onReceive(Context context,Intent intent)方法来监听“感兴趣(通过intentfilter配置)”的系统级广播。
实现BroadcastReceiver后,有两种方法注册系统级的时间监听器。
Java中Context.registReceiver()
AndroidManifest.xml文件中用<receiver/>元素完成注册。
6、ContentProvider用于不同的App之间的数据交换,主要作用是暴露自己的数据,与之对应的使用ContentResolver来访问暴露的数据。
7、Intent的作用是不同的组件之间通信的载体。可以启动另一个Activity、Service、BroadcastReceiver。
启用另一个Activity使用 startActivity(Intent intent)或startActivityForResult(Intent intent,int requestCode)
启用Service使用 startService(Intent intent)或bindService(Intent service,ServiceConnetion conn,int flags)
启用BroadcastReceiver使用 sendBroadcast(Intent intent)、sendStickyBroadcast(Intent intent)或sendOrderedBroadcast(Intent intent,String receivePermission)
8、Intent的显式与隐式
显式 Intent明确指定需要启动或者出发的组件的类名
隐式 Intent只指定需要启动或者出发的组件应该满足怎样的条件,配合IntentFilter来声明需要满足的条件。