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

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

[java]  

String status=Environment.getExternalStorageState();   

  

if ( status.equals ( Enviroment.MEDIA_MOUNTED ) )   

{   

    說明有SD卡插入   

}   

 

2、讓某個Activity透明 

[java] 

OnCreate中不設Layout   

  

this.setTheme(R.style.Theme_Transparent);   

  

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

 

3、在屏幕元素中設置句柄  

 使用Activity.findViewById來取得屏幕上的元素的句柄.使用該句柄您可以設置或獲取任何該對象外露的值.

[java]  

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

  

msgTextView.setText(R.string.push_me);   

 

4、發送短信

[java]  

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、發送彩信

[java] 

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);  

   

 

6、顯示toast

[java] view plaincopy

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

  

   

 

7、發送Mail

[java] 

    

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

[java]  

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,監聽某個數據表

[java] 

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 

[java]  

public String getUserAgent()   

{   

    String user_agent = ProductProperties.get(ProductProperties.USER_AGENT_KEY, null);   

      

    return user_agent;   

}   

 

11、清空手機上cookie 

[java] 

CookieSyncManager.createInstance (getApplicationContext() );   

  

CookieManager.getInstance().removeAllCookie();   

 

12、建立GPRS連接 

[java]  

//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 用法 

[java] 

public class Setting extends PreferenceActivity   

{   

    public void onCreate ( Bundle savedInstanceState )   

        {   

            super.onCreate ( savedInstanceState );   

            addPreferencesFromResource ( R.xml.settings );    

    }   

}   

Setting.xml: 

[java]  

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獲取數據

[java]  

DefaultHttpClient httpClient = new DefaultHttpClient();   

  

          HttpGet method = new HttpGet(“/templets/default/index.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();   

             }   

      }   

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *