Android 很有用的程式碼片段

來源:互聯網
上載者:User

 1:查看是否有儲存卡插入 

String status=Environment.getExternalStorageState(); 

if(status.equals(Enviroment.MEDIA_MOUNTED)) 

      說明有 SD 記憶卡插入 

 

2:讓某個 Activity 透明 

 

OnCreate  中不設 Layout 

 

this.setTheme(R.style.Theme_Transparent); 

 

以下是  Theme_Transparent 的定義(注意 transparent_bg 是一副透明的圖片) 

 

3:在螢幕元素中設定控制代碼 

使用 Activity.findViewById 來取得螢幕上的元素的控制代碼.  使用該控制代碼您可以設

置或擷取任何該對象外露的值. 

TextView msgTextView = (TextView)findViewById(R.id.msg); 

      msgTextView.setText(R.string.push_me); 

 

4:傳送簡訊 

 

                        String body=”this is mms demo”; 

 

                      Intent      mmsintent      =      new      Intent(Intent.ACTION_SENDTO, 

Uri.fromParts(”smsto”, number, null)); 

 

mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 

 

mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true); 

 

mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true); 

                        startActivity(mmsintent); 

 

      5:發送多媒體訊息 

 

                      StringBuilder sb = new StringBuilder(); 

 

                        sb.append(”file://”); 

 

                        sb.append(fd.getAbsoluteFile()); 

 

                        Intent       intent       =       new       Intent(Intent.ACTION_SENDTO, 

Uri.fromParts(”mmsto”, number, null)); 

                        // Below extra datas are all optional. 

 

intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject); 

 

intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 

                        intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, 

sb.toString()); 

 

intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, 

composeMode); 

                        intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, 

exitOnSent); 

 

                        startActivity(intent); 

 

7:發送 Mail 

 

                          mime = “img/jpg”; 

                        shareIntent.setDataAndType(Uri.fromFile(fd), mime); 

                        shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd)); 

                        shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 

 

                        shareIntent.putExtra(Intent.EXTRA_TEXT, body); 

 

8:註冊一個  BroadcastReceiver 

 

registerReceiver(mMasterResetReciever,  new 

IntentFilter(”oms.action.MASTERRESET”)); 

 

private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver() { 

 

                public void onReceive(Context context, Intent intent){ 

                        String action = intent.getAction(); 

                        if(”oms.action.MASTERRESET”.equals(action)){ 

 

                                RecoverDefaultConfig(); 

                        } 

                } 

 

        }; 

 

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

 

private  ContentObserver  mDownloadsObserver  =  new 

DownloadsChangeObserver(Downloads.CONTENT_URI); 

 

private class DownloadsChangeObserver extends ContentObserver { 

                public DownloadsChangeObserver(Uri uri) { 

                        super(new Handler()); 

 

                } 

 

                @Override 

                public void onChange(boolean selfChange) {}     

                } 

 

 

10:獲得  手機 UA 

 

public String getUserAgent() 

        { 

                      String  user_agent  = 

ProductProperties.get(ProductProperties.USER_AGENT_KEY, null); 

                        return user_agent; 

        } 

 

11:清空手機上 Cookie 

 

CookieSyncManager.createInstance(getApplicationContext()); 

                CookieManager.getInstance().removeAllCookie(); 

 

12:建立 GPRS  串連 

 

      //Dial the GPRS link. 

        private boolean openDataConnection() { 

                // Set up data connection. 

                DataConnection conn = DataConnection.getInstance();           

 

                        if (connectMode == 0) { 

                                ret  =  conn.openConnection(mContext,  “cmwap”,  “cmwap”, 

“cmwap”); 

                        } else { 

                                ret = conn.openConnection(mContext, “cmnet”, “”, “”); 

                        } 

 

        } 

 

13:PreferenceActivity  用法 

 

public class Setting extends PreferenceActivity 

 

{ 

 

        public void onCreate(Bundle savedInstanceState) { 

                super.onCreate(savedInstanceState); 

                addPreferencesFromResource(R.xml.settings); 

        } 

 

} 

 

Setting.xml: 

 

                        android:key=”seting2″ 

                        android:title=”@string/seting2″ 

                        android:summary=”@string/seting2″/> 

 

                        android:key=”seting1″ 

                        android:title=”@string/seting1″ 

                        android:summaryOff=”@string/seting1summaryOff” 

                        android:summaryOn=”@stringseting1summaryOff”/> 

 

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

 

                          DefaultHttpClient httpClient = new DefaultHttpClient(); 

                        HttpGet  method  =  new 

HttpGet(“http://www.baidu.com/1.html”); 

                        HttpResponse resp; 

                        Reader reader = null; 

                        try { 

                                // AllClientPNames.TIMEOUT 

                                HttpParams params = new BasicHttpParams(); 

 

params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000); 

 

                                httpClient.setParams(params); 

                                resp = httpClient.execute(method); 

                                int status = resp.getStatusLine().getStatusCode(); 

 

                                if (status != HttpStatus.SC_OK) return false; 

 

                                // HttpStatus.SC_OK; 

                                return true; 

                        } catch (ClientProtocolException e) { 

                                // TODO Auto-generated catch block 

                                e.printStackTrace(); 

                        } catch (IOException e) { 

                                // TODO Auto-generated catch block 

                                e.printStackTrace(); 

                        } finally { 

                                if (reader != null) try { 

                                        reader.close(); 

                                } catch (IOException e) { 

                                        // TODO Auto-generated catch block 

                                        e.printStackTrace(); 

                                } 

                        } 

 

15:顯示 toast 

Toast.makeText(this._getApplicationContext(),  R.string._item, 

Toast.LENGTH_SHORT).show(); 

 

16:在當前 Activity 中啟動另外一個 Activity 

startActivity(new Intent(this,目標 Activity.class)); 

17:從當前 ContentView 從尋找控制項 

(Button)findViewById(R.id.btnAbout)         

  R.id.btnAbout 指控制項 id。 

18:擷取螢幕寬高 

DisplayMetrics dm = new DisplayMetrics();     

//擷取視窗屬性 

  getWindowManager().getDefaultDisplay().getMetrics(dm);         

  int screenWidth = dm.widthPixels;//320     

  int screenHeight = dm.heightPixels;//480   

19:無標題列、全屏 

//無標題列     

requestWindowFeature(Window.FEATURE_NO_TITLE);     

//全螢幕模式     

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   

    WindowManager.LayoutParams.FLAG_FULLSCREEN);   

 

注意在 setContentView()之前調用,否則無效。 

20 註冊 activity 

所有用到的 Activity 都必須在 AndroidManifest.xml 中註冊,否則會報null 指標

錯誤。 

如:,注意是包名+類名。 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.