新手問題多多 -_-||
權限問題
使用某些 api 進行操作時需要申請特定的權限的(最典型的就是寫sdcard)。這類 api 一般來 sdk 文檔中會有說明的,看的時候看仔細點,並且養成 catch 異常,並且把異常輸出到 log 的好習慣。這樣如果是因爲權限問題失敗的話,可以馬上從 logcat 中看到類似 "Permission Denied" 輸出。申請特定權限,編輯 AndroidManifest? .xml 文件。點擊 Premission 標籤頁,add Use Premission ,然後在下拉列表中選擇對應的權限就可以了。當然你可以手動在 xml 中添加,但是使用 eclipse 帶的編輯器比較方便。添加了權限後,會在安裝 apk 的時候有提示。
切換 activity 的問題
一般來說一個應該是由多個 activity 組成的。這個時候就需要涉及到 activity 之間的切換了。一般來說啓動別的 activity 可以使用如下代碼:
// 一般啓動使用 Intent,Intent 的第一參數一般是填發起啓動 activity 的 activity。
// 第二個參數就是你要啓動的 activity 的 class。
// 後面那個可以設置一些啓動參數,具體的可以去看 sdk docs
Intent editIntent = new Intent(this, EditGestureActivity.class);
editIntent.setFlags(android.content.Intent.FLAG_ACTIVITY_NEW_TASK);
// 這個可以用於 activity 之間交換數據
gestureName = (String)(item.get("ivText"));
if (gestureName != null)
editIntent.putExtra("gestureName", gestureName);
// 然後通過 startActivity 啓動 activity
try {
startActivity(editIntent);
} catch (ActivityNotFoundException e) {
Log.d("Mylog", "Error: " + e.toString());
}
不過這個需要注意2點:
- 如果你是啓動你應用中的一個非主應用,那麼你需要手動在 AndroidManifest? .xml 文件的 標籤上添加你的 activity 的標識,否則 startActivity 是無法啓動你指定的 activity 的:
<application android:icon="@drawable/icon" android:label="@string/app_name">
... ...
// 你要啓動的 activity 類
<activity android:name=".EditGestureActivity"
android:label="@string/app_name">
</activity>
</application>
- 如果你是啓動別的應用程序的主應用,就是你應用程序啓動時候的第一個 activity,在 xml 文件的 標籤中有這樣的標識的:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>