標籤:android style http java 使用 os io 檔案
一、基本知識點
1、<activity android:label="第一個activity" android:name=".Main2Activity"/>
label屬性:某個Acivity的標題
2、R檔案不要引錯了,引成Android底層的了
3、intent.setClass(this, Main2Activity.class);
第一個參數:上下文
第二個參數:要啟用的組件的位元組碼檔案
4、顯啟用(明確指定了要啟用的組件)
1)intent.setClass(this, Main2Activity.class);
2)intent.setClassName(this, "com.njupt.multiactivity.Main2Activity");
第二個參數:需要開啟的組件的全類名
3)intent.setClassName(getPackageName(), "com.njupt.multiactivity.Main2Activity");
getPackageName():擷取AndroidManefest中<manifest>節點下的package屬性的值
4)intent.setComponent(new ComponentName(this, Main2Activity.class));
5)Intent intent = new Intent(this,Main2Activity.class);
5、<Button
android:onClick="open"/>
多個控制項可以激發同一個事件處理函數,這裡激發的open函數
6、隱式意圖啟用(之前啟用瀏覽器什麼的都是這樣乾的)
1)<activity android:name=".Main3Activity" android:label="闅愬紡鎰忓浘嬋€媧葷殑activity">
<intent-filter >
<action android:name="com.njupt.action.main3"/>//action的name可以隨便起
<category android:name="android.intent.category.DEFAULT"/>//這個一定要有,否則會報錯.以上是mini配置
<category android:name="com.njupt.categroy.main3"/>//沒有太大的意義,加了這一行也不會有太大影響
<data android:scheme="itcast" android:mimeType="image/jpeg"/>
</intent-filter>
</activity>
在AndroidManifest.xml中配置了action、category、data,在代碼中就一定需要進行相應的設定
//指定動作名稱
intent.setAction("cn.itcast.action.main3");
//設定資料
// intent.setData(Uri.parse("itcast:"));
//設定mime_type
// intent.setType("image/jpeg");//會自動把data清掉,所以這是應該改成
intent.setDataAndType(Uri.parse("itcast:"), "image/jpeg");
7、mimetype的類型可以在tomcat中找(conf/web.xml)中
8、使用隱式意圖開啟瀏覽器
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
二、舉例
1、MainActivity
package com.example.multiactivity;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public void open(View view){int id = view.getId(); if(id == R.id.open1){ /** * 以下示範了顯啟用的5種方式 */// Intent intent = new Intent();// intent.setClass(this, MainActivity2.class);// intent.setClassName(this, "com.example.multiactivity.MainActivity2");// System.out.println("---------->" + getPackageName());// intent.setClassName(getPackageName(), "com.example.multiactivity.MainActivity2");//注意了第二個參數都是全類名// intent.setComponent(new ComponentName(this, MainActivity2.class)); Intent intent = new Intent(this, MainActivity2.class); startActivity(intent); }else if(id == R.id.open2){ Intent intent = new Intent(); intent.setAction("hellointent");// intent.setData(Uri.parse("zhangzetian:"));// intent.setType("image/jpeg"); intent.setDataAndType(Uri.parse("zhangzetian:"), "image/jpeg"); startActivity(intent); }else if(id == R.id.open3){ Intent intent = new Intent(); intent.setAction(("android.intent.action.VIEW")); intent.setData(Uri.parse("http://www.baidu.com")); startActivity(intent); }}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
2、MainActivity2
package com.example.multiactivity;import android.app.Activity;import android.os.Bundle;public class MainActivity2 extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main2);}}
3、MainActivity3
package com.example.multiactivity;import android.app.Activity;import android.os.Bundle;public class MainActivity3 extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main3);}}
4、在顯啟用和隱式意圖啟用的過程中,其實AndroidManifest.xml檔案是很重要的。故在此附上AndroidManifest.xml的全部代碼:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.multiactivity" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.multiactivity.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.multiactivity.MainActivity2" android:label="這是第二個Activity" /> <activity android:name="com.example.multiactivity.MainActivity3"> <intent-filter > <action android:name="hellointent"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="asdasd"/> <data android:scheme="zhangzetian" android:mimeType="image/jpeg"/> </intent-filter> </activity> </application></manifest>
三、源碼下載:
http://download.csdn.net/detail/caihongshijie6/7792167