android之知识点小结

Manifest.xml文件中的一些代码作用:

[html][/html] view plaincopyprint?

  1. <activity android:name=”.LunchList”
  2.           android:label=”@string/app_name”>
  3.         <intent-filter>
  4.                 <action android:name=”android.intent.action.MAIN” />
  5.                 <category android:name=”android.intent.category.LAUNCHER” />
  6.         </intent-filter>
  7.         <intent-filter>
  8.                 <action android:name=”android.intent.action.SEARCH” />
  9.                 <category android:name=”android.intent.category.DEFAULT” />
  10.         </intent-filter>
  11.         <meta-data android:name=”android.app.searchable”
  12.                    android:resource=”@xml/searchable” />
  13.         <meta-data android:name=”android.app.default_searchable”
  14.                    android:value=”.LunchList” />
  15. </activity>

在上面这段代码中,

[html][/html] view plaincopyprint?

  1. <intent-filter>
  2.         <action android:name=”android.intent.action.SEARCH” />
  3.         <category android:name=”android.intent.category.DEFAULT” />
  4.       </intent-filter>

这个是注册的隐式Intent的过滤器,第二行表示过滤带有搜索action的intent,第三行是必须要添加的(自定义的Activity如果要通过隐式intent启动,则必须添加)

 

[html][/html] view plaincopyprint?

  1. <meta-data android:name=”android.app.searchable”
  2.       android:resource=”@xml/searchable” />

这个是在使用默认的搜索框架是,给搜索框设置的布局,第一行name是给定的,第二行resource就是你给自己的搜索框设置的外观布局,一般放在res/xml里

 

[html][/html] view plaincopyprint?

  1. <meta-data android:name=”android.app.default_searchable”
  2.            android:value=”.LunchList” />

这个也是和搜索相关,上面两个是通过intent_filter过滤接收到intent,以及接收到intent之后显示出来的搜索框的布局,但那样只是在你注册了meta-data节点的activity里面才能执行搜索,如果想要在任意一个activity里面都能启动搜索框架,就要加上这个,这个第一行也是给定的,第二行则用来指定是由哪一个activity响应并执行搜索和显示搜索结果.

 

[html][/html] view plaincopyprint?

  1. <receiver android:name=”.AppWidget”
  2.         android:label=”@string/app_name”
  3.         android:icon=”@drawable/icon”>
  4.         <intent-filter>
  5.                 <action android:name=”android.appwidget.action.APPWIDGET_UPDATE”/>
  6.                 <category android:name=”android.intent.category.DEFAULT” />
  7.         </intent-filter>
  8.         <meta-data
  9.                 android:name=”android.appwidget.provider”
  10.                 android:resource=”@xml/widget_provider” />
  11. </receiver>

这段代码中:注册的是一个Widget,其中第二行是widget的标题,第三行是它的图标,

 

[html][/html] view plaincopyprint?

  1. <intent-filter>
  2.         <action android:name=”android.appwidget.action.APPWIDGET_UPDATE”/>
  3.         <category android:name=”android.intent.category.DEFAULT” />
  4. </intent-filter>

这个跟最上面的类似,就是注册了intent的过滤器,过滤widget的更新action,第三行在上面解释过了,这里的更新actiong是放在隐式intent里面的,所以要加上第三行

 

[html][/html] view plaincopyprint?

  1. <meta-data
  2.     android:name=”android.appwidget.provider”
  3.     android:resource=”@xml/widget_provider” />

这个则是对widget的参数配置,第二行是指定的,第三行就是我们自定义的widget参数,放在res/xml下,这里的配置如下:res/xml/widget_provider.xml

[html][/html] view plaincopyprint?

  1. <appwidget-provider xmlns:android=”http://schemas.android.com/apk/res/android”
  2.      android:minWidth=”300dip”
  3.      android:minHeight=”79dip”
  4.      android:updatePeriodMillis=”1800000″
  5.      android:initialLayout=”@layout/widget”
  6. />

二三四行分别是宽高和更新频率,第五行则是该widget的具体布局,布局方式与layout里的其他布局方式一样:res/layout/widget.xml

[html][/html] view plaincopyprint?

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
  3.     android:layout_width=”fill_parent”
  4.     android:layout_height=”fill_parent”
  5.     android:background=”@drawable/widget_frame”
  6. >
  7.     <TextView android:id=”@+id/name”
  8.         android:layout_width=”wrap_content”
  9.         android:layout_height=”wrap_content”
  10.         android:layout_centerVertical=”true”
  11.         android:layout_alignParentLeft=”true”
  12.         android:layout_toLeftOf=”@+id/next”
  13.         android:textSize=”10pt”
  14.         android:textColor=”#FFFFFFFF”
  15.     />
  16.     <ImageButton android:id=”@+id/next”
  17.         android:layout_width=”wrap_content”
  18.         android:layout_height=”wrap_content”
  19.         android:layout_centerVertical=”true”
  20.         android:layout_alignParentRight=”true”
  21.         android:src=”@drawable/ff”
  22.     />
  23. </RelativeLayout>

标签