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(); 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中注册,否则会报空指针错误。
如:,注意是包名+类名。

浙公网安备 33010602011771号