
1. 音量調整主要是透過AudioManager來對手機音量進行調整,可以調整的模式有:正常模式、靜音模式、震動模式、音量增大、音量減少。
2.AudioManagerExample .java
01.package tw.nicky;
02.import android.app.Activity;
03.import android.content.Context;
04.import android.media.AudioManager;
05.import android.os.Bundle;
06.import android.view.View;
07.import android.widget.Button;
08.
09.public class AudioManagerExample extends Activity {
10. private Button normalButn;
11. private Button vibrateButn;
12. private Button silentButn;
13. private Button upButn;
14. private Button downButn;
15. private AudioManager audioManager;
16.
17. @Override
18. public void onCreate(Bundle savedInstanceState) {
19. super.onCreate(savedInstanceState);
20. setContentView(R.layout.main);
21. normalButn = (Button)findViewById(R.id.normalButn);
22. vibrateButn = (Button)findViewById(R.id.vibrateButn);
23. silentButn = (Button)findViewById(R.id.silentButn);
24. upButn = (Button)findViewById(R.id.upButn);
25. downButn = (Button)findViewById(R.id.downButn);
26.
27. //取得音量控制器
28. audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
29.
30. //正常模式
31. normalButn.setOnClickListener(new View.OnClickListener() {
32. @Override
33. public void onClick(View v) {
34. audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
35. }
36. });
37.
38. //震動模式
39. vibrateButn.setOnClickListener(new View.OnClickListener() {
40.
41. @Override
42. public void onClick(View v) {
43. audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
44. }
45. });
46.
47. //靜音模式
48. silentButn.setOnClickListener(new View.OnClickListener() {
49. @Override
50. public void onClick(View v) {
51. audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
52. }
53. });
54.
55. //增大音量
56. upButn.setOnClickListener(new View.OnClickListener() {
57. @Override
58. public void onClick(View v) {
59. audioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
60. }
61. });
62.
63. //減少音量
64. downButn.setOnClickListener(new View.OnClickListener() {
65. @Override
66. public void onClick(View v) {
67. audioManager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
68. }
69. });
70. }
71.}
小犬 發表在 痞客邦 留言(0) 人氣(1,029)

1. 由於寫入資料到SD卡是有需要額外的權限,因此需在AndroidManifest.xml允許存取android.permission.WRITE_EXTERNAL_STORAGE這個權限。
2.AccessSDCardExample.java
01.package tw.nicky;02.import java.io.File;03.import java.io.FileWriter;04.import java.io.IOException;05.import android.app.Activity;06.import android.os.Bundle;07.import android.os.Environment;08. 09.public class AccessSDCardExample extends Activity {10. 11. @Override12. public void onCreate(Bundle savedInstanceState) {13. super.onCreate(savedInstanceState);14. setContentView(R.layout.main);15. 16. //判斷SD卡是否存在17. if(!Environment.getExternalStorageState().equals(Environment.MEDIA_REMOVED) ){18. try {19. //取得SD卡路徑20. File SDCardpath = Environment.getExternalStorageDirectory();21. File myDataPath = new File( SDCardpath.getAbsolutePath() + "/myData" );22. if( !myDataPath.exists() ) myDataPath.mkdirs();23. //將資料寫入到SD卡24. FileWriter myFile = new FileWriter( SDCardpath.getAbsolutePath() +"/myData/test.txt" );25. myFile.write("This is a test.");26. myFile.close();27. } catch (IOException e) {28. e.printStackTrace();29. }30. }31. }32.}小犬 發表在 痞客邦 留言(0) 人氣(1,083)

1. 此範例是利用SharedPreferences來儲存使用者在某個程式內的偏好設定。
2. MainActivity.java
01.package org.me.android_preference;02.import android.app.Activity;03.import android.content.SharedPreferences;04.import android.os.Bundle;05.import android.view.View;06.import android.widget.Button;07.import android.widget.EditText;08. 09.public class MainActivity extends Activity {10. private EditText nameEditText;11. private Button saveButton;12. private Button restoreButton;13. 14. @Override15. public void onCreate(Bundle icicle) {16. super.onCreate(icicle);17. setContentView(R.layout.main);18. nameEditText = (EditText) findViewById(R.id.nameEditText);19. saveButton = (Button) findViewById(R.id.saveButton);20. restoreButton = (Button) findViewById(R.id.restoreButton);21. saveButton.setOnClickListener(saveClickListener);22. restoreButton.setOnClickListener(restoreClickListener);23. }24. 25. //按下Save按鈕26. private Button.OnClickListener saveClickListener = new Button.OnClickListener() {27. 28. public void onClick(View arg0) {29. //取得SharedPreference設定("Preference"為設定檔的名稱)30. SharedPreferences settings = getSharedPreferences("Preference", 0);31. //置入name屬性的字串32. settings.edit().putString("name", nameEditText.getText().toString()).commit();33. }34. };35. 36. //按下Restore按鈕37. private Button.OnClickListener restoreClickListener = new Button.OnClickListener() {38. 39. public void onClick(View arg0) {40. //取得SharedPreference設定("Preference"為設定檔的名稱)41. SharedPreferences settings = getSharedPreferences("Preference", 0);42. //取出name屬性的字串43. String name = settings.getString("name", "");44. nameEditText.setText(name);45. }46. };47.}小犬 發表在 痞客邦 留言(0) 人氣(9,821)

1. 此範例是自動填入文字(AutoCompleteTextView)功能來搜尋電話簿內的聯絡人姓名。
2. 由於我們需取得目前手機的電話簿,因此必需在AndroidManifest.xml內新增一個讀取電話簿的權限。
3. MainActivity.java
01.package org.me.android_phonebook;02.import android.app.Activity;03.import android.content.ContentResolver;04.import android.database.Cursor;05.import android.os.Bundle;06.import android.provider.Contacts;07.import android.widget.ArrayAdapter;08.import android.widget.AutoCompleteTextView;09. 10.public class MainActivity extends Activity {11. private AutoCompleteTextView autoComplete;12. 13. @Override14. public void onCreate(Bundle icicle) {15. super.onCreate(icicle);16. setContentView(R.layout.main);17. autoComplete = (AutoCompleteTextView) findViewById(R.id.autoComplete);18. //設定自動填入的文字內容19. ArrayAdapter<string> adapter = new ArrayAdapter<string>(this,android.R.layout.simple_spinner_item,getContactsName());20. autoComplete.setAdapter(adapter);21. }22. 23. //取得所有聯絡人姓名24. public String[] getContactsName() {25. //取得內容解析器26. ContentResolver contentResolver = this.getContentResolver();27. //設定你要從電話簿取出的欄位28. String[] projection = new String[]{Contacts.People.NAME,Contacts.People.NUMBER};29. //取得所有聯絡人30. Cursor cursor = contentResolver.query(Contacts.People.CONTENT_URI, projection, null, null, Contacts.People.DEFAULT_SORT_ORDER);31. String[] contactsName = new String[cursor.getCount()];32. for (int i = 0; i < cursor.getCount(); i++) {33. //移到指定位置34. cursor.moveToPosition(i);35. //取得第一個欄位36. contactsName[i] = cursor.getString(0);37. }38. return contactsName;39. }40.}41.</string></string>小犬 發表在 痞客邦 留言(0) 人氣(1,104)