现在的位置: 首页 > 综合 > 正文

Android 很有用的代码片段

2013年10月17日 ⁄ 综合 ⁄ 共 5832字 ⁄ 字号 评论关闭

 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 中注册,否则会报空指针

错误。 

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

 

抱歉!评论已关闭.