19个实用的Android代码片段

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

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


2:让某个Activity透明


    OnCreate 中不设Layout
    this.setTheme(R.style.Theme_Transparent);


3:在屏幕元素中设置句柄
使用Activity.findViewById来取得屏幕上的元素的句柄. 使用该句柄您可以设置或获取任何该对象外露的
值.

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

4:发送短信

1
2
3
4
5
6
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:发送彩信

1
2
3
4
5
6
7
8
9
10
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:发送Mail

1
2
3
4
5
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);

 

7:注册一个 BroadcastReceiver

1
2
3
4
5
6
7
8
9
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(); 
            
        
    };

8:定义ContentObserver,监听某个数据表

1
2
3
4
5
6
7
8
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) {}  
}

 

9:获得 手机UA

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

10:清空手机上Cookie

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

 

11:建立GPRS 连接

1
2
3
4
5
6
7
8
9
10
//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”, “”, “”); 
        
}

 

12:PreferenceActivity 用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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"/>

 

13:通过 HttpClient从指定server获取数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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();
                }
    }

14:显示toast

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

 

15:在当前Activity中启动另外一个Activity

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

16:从当前ContentView从查找控件


(Button)findViewById(R.id.btnAbout)   
R.id.btnAbout指控件id。

 


17:获取屏幕宽高

1
2
3
4
5
DisplayMetrics dm = new DisplayMetrics();  
//获取窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);   
int screenWidth = dm.widthPixels;//320  
int screenHeight = dm.heightPixels;//480


18:无标题栏、全屏

1
2
3
4
5
6
//无标题栏  
requestWindowFeature(Window.FEATURE_NO_TITLE);  
//全屏模式  
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  WindowManager.LayoutParams.FLAG_FULLSCREEN);
注意在setContentView()之前调用,否则无效。

 


19:注册activity


所有用到的Activity都必须在AndroidManifest.xml中注册,否则会报空指针错误。
如:,注意是包名+类名。

 
posted @ 2013-07-03 23:29  AZ_mxl  阅读(486)  评论(0)    收藏  举报