Android編程14個很有用的程式碼片段

來源:互聯網
上載者:User

:查看是否有儲存卡插入

  1. String status=Environment.getExternalStorageState();
  2. if(status.equals(Enviroment.MEDIA_MOUNTED))
  3. {
  4. 說明有SD卡插入
  5. }

複製代碼

2:讓某個Activity透明

  1. OnCreate中不設Layout
  2. this.setTheme(R.style.Theme_Transparent);
  3. 以下是Theme_Transparent的定義(注意transparent_bg是一副透明的圖片)

複製代碼

3:在螢幕元素中設定控制代碼
  使用Activity.findViewById來取得螢幕上的元素的控制代碼. 使用該控制代碼您可以設定或擷取任何該對象外露的值.

  1. TextView msgTextView = (TextView)findViewById(R.id.msg);
  2. msgTextView.setText(R.string.push_me);

複製代碼

4:傳送簡訊

  1. String body=”this is mms demo”;
  2. Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”, number, null));
  3. mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
  4. mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);
  5. mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);
  6. startActivity(mmsintent);

複製代碼

5:發送多媒體訊息

  1. StringBuilder sb = new StringBuilder();
  2. sb.append(”file://”);
  3. sb.append(fd.getAbsoluteFile());
  4. Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”mmsto”, number, null));
  5. // Below extra datas are all optional.
  6. intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);
  7. intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
  8. intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());
  9. intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);
  10. intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);
  11. startActivity(intent);

複製代碼

6:顯示toast

  1. Toast.makeText(this._getApplicationContext(), R.string._item, Toast.LENGTH_SHORT).show();

複製代碼

7:發送Mail

  1.   mime = “img/jpg”;
  2.             shareIntent.setDataAndType(Uri.fromFile(fd), mime);
  3.             shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd));
  4.             shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
  5.             shareIntent.putExtra(Intent.EXTRA_TEXT, body);

複製代碼

8:註冊一個BroadcastReceiver

  1. registerReceiver(mMasterResetReciever, new IntentFilter(”OMS.action.MASTERRESET”));
  2. private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver() {
  3.         public void onReceive(Context context, Intent intent){
  4.             String action = intent.getAction();
  5.             if(”oms.action.MASTERRESET”.equals(action)){
  6.                 RecoverDefaultConfig();
  7.             }
  8.         }
  9.     };

複製代碼

9:定義ContentObserver,監聽某個資料表

  1. private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI);
  2. private class DownloadsChangeObserver extends ContentObserver {
  3.         public DownloadsChangeObserver(Uri uri) {
  4.             super(new Handler());
  5.         }
  6.         @Override
  7.         public void onChange(boolean selfChange) {}  
  8.         }
  9.    

複製代碼

10:獲得 手機UA

  1. public String getUserAgent()
  2.     {
  3.            String user_agent = ProductProperties.get(ProductProperties.USER_AGENT_KEY, null);
  4.             return user_agent;
  5.     }

複製代碼

11:清空手機上cookie

  1. CookieSyncManager.createInstance(getApplicationContext());
  2.         CookieManager.getInstance().removeAllCookie();

複製代碼

12:建立GPRS串連

  1. //Dial the GPRS link.
  2.     private boolean openDataConnection() {
  3.         // Set up data connection.
  4.         DataConnection conn = DataConnection.getInstance();     
  5.             if (connectMode == 0) {
  6.                 ret = conn.openConnection(mContext, “cmwap”, “cmwap”, “cmwap”);
  7.             } else {
  8.                 ret = conn.openConnection(mContext, “cmnet”, “”, “”);
  9.             }
  10.     }

複製代碼

13:PreferenceActivity 用法

  1. public class Setting extends PreferenceActivity
  2.     public void onCreate(Bundle savedInstanceState) {
  3.         super.onCreate(savedInstanceState);
  4.         addPreferencesFromResource(R.xml.settings);
  5.     }

複製代碼

Setting.xml:

  1.    Android:key=”seting2″
  2.             android:title=”@string/seting2″
  3.             android:summary=”@string/seting2″/>
  4.             android:key=”seting1″
  5.             android:title=”@string/seting1″
  6.             android:summaryOff=”@string/seting1summaryOff”
  7.             android:summaryOn=”@stringseting1summaryOff”/>

複製代碼

14:通過HttpClient從指定server擷取資料

  1.   DefaultHttpClient httpClient = new DefaultHttpClient();
  2.             HttpGet method = new HttpGet(“http://www.baidu.com/1.html”);
  3.             HttpResponse resp;
  4.             Reader reader = null;
  5.             try {
  6.                 // AllClientPNames.TIMEOUT
  7.                 HttpParams params = new BasicHttpParams();
  8.                 params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000);
  9.                 httpClient.setParams(params);
  10.                 resp = httpClient.execute(method);
  11.                 int status = resp.getStatusLine().getStatusCode();
  12.                 if (status != HttpStatus.SC_OK) return false;
  13.                 // HttpStatus.SC_OK;
  14.                 return true;
  15.             } catch (ClientProtocolException e) {
  16.                 // TODO Auto-generated catch block
  17.                 e.printStackTrace();
  18.             } catch (IOException e) {
  19.                 // TODO Auto-generated catch block
  20.                 e.printStackTrace();
  21.             } finally {
  22.                 if (reader != null) try {
  23.                     reader.close();
  24.                 } catch (IOException e) {
  25.                     // TODO Auto-generated catch block
  26.                     e.printStackTrace();
  27.                 }
  28.             }

複製代碼

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.