Android常用代码片段

来源:互联网 发布:李刚 java 编辑:程序博客网 时间:2024/05/03 17:23
1:查看是否有存储卡插入

  1. String status=Environment.getExternalStorageState();
  2. if(status.equals(Enviroment.MEDIA_MOUNTED))
  3. {
  4.    说明有SD卡插入
  5. }
复制代码
2:让某个Activity透明
OnCreate 中不设Layout
this.setTheme(R.style.Theme_Transparent);
以下是 Theme_Transparent的定义(注意transparent_bg是一副透明的图片)


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

值.

  1. TextView msgTextView = (TextView)findViewById(R.id.msg);
  2.    msgTextView.setText(R.string.push_me);
复制代码
4:发送短信

  1.             String body=”this is mms demo”;
  2.            Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”, number, null));
  3.            mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
  4.            mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);
  5.            mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);
  6.             startActivity(mmsintent);
复制代码
5:发送彩信

  1.           StringBuilder sb = new StringBuilder();
  2.             sb.append(”file://”);
  3.           sb.append(fd.getAbsoluteFile());
  4.            Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”mmsto”, number, null));
  5.             // Below extra datas are all optional.
  6.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);
  7.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
  8.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());
  9.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);
  10.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);
  11.            startActivity(intent);
复制代码
7:发送Mail

  1.     mime = “img/jpg”;
  2.             shareIntent.setDataAndType(Uri.fromFile(fd), mime);
  3.             shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd));
  4.             shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
  5.             shareIntent.putExtra(Intent.EXTRA_TEXT, body);
复制代码
7:注册一个 BroadcastReceiver

  1. registerReceiver(mMasterResetReciever, new IntentFilter(”oms.action.MASTERRESET”));
  2. private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver() {
  3.        public void onReceive(Context context, Intent intent){
  4.             String action = intent.getAction();
  5.             if(”oms.action.MASTERRESET”.equals(action)){
  6.                 RecoverDefaultConfig();
  7.             }
  8.         }
  9.    };
复制代码

8:定义ContentObserver,监听某个数据表
  1. private ContentObserver mDownloadsObserver = new DownloadsChangeObserver
  2. (Downloads.CONTENT_URI);
  3. private class DownloadsChangeObserver extends ContentObserver {
  4.         public DownloadsChangeObserver(Uri uri) {
  5.             super(new Handler());
  6. }
  7.       @Override
  8.         public void onChange(boolean selfChange) {}  
  9.         }
复制代码

9:获得 手机UA

  1. public String getUserAgent()
  2.     {
  3.            String user_agent = ProductProperties.get(ProductProperties.USER_AGENT_KEY, null);
  4.             return user_agent;
  5.     }
复制代码
10:清空手机上Cookie

  1. CookieSyncManager.createInstance(getApplicationContext());
  2.         CookieManager.getInstance().removeAllCookie();
复制代码
11:建立GPRS 连接

  1. //Dial the GPRS link.
  2.     private boolean openDataConnection() {
  3.         // Set up data connection.
  4.         DataConnection conn = DataConnection.getInstance();   
  5.             if (connectMode == 0) {
  6.                 ret = conn.openConnection(mContext, “cmwap”, “cmwap”, “cmwap”);
  7.             } else {
  8.                 ret = conn.openConnection(mContext, “cmnet”, “”, “”);
  9.             }
  10.   }
复制代码


12:PreferenceActivity 用法

  1. public class Setting extends PreferenceActivity
  2. {
  3.    public void onCreate(Bundle savedInstanceState) {
  4.         super.onCreate(savedInstanceState);
  5.         addPreferencesFromResource(R.xml.settings);
  6.     }
  7. }
  8. Setting.xml:
  9.    android:key=”seting2″
  10.             android:title=”@string/seting2″
  11.             android:summary=”@string/seting2″/>
  12.             android:key=”seting1″
  13.             android:title=”@string/seting1″
  14.             android:summaryOff=”@string/seting1summaryOff”
  15.             android:summaryOn=”@stringseting1summaryOff”/>[/b][/color]
复制代码
13:通过 HttpClient从指定server获取数据

  1. DefaultHttpClient httpClient = new DefaultHttpClient();
  2.             HttpGet method = new HttpGet(“[u]http://www.baidu.com/1.html[/u]”);
  3.             HttpResponse resp;
  4.             Reader reader = null;
  5.             try {
  6.                 // AllClientPNames.TIMEOUT
  7.                 HttpParams params = new BasicHttpParams();
  8.                 params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000);
  9.                 httpClient.setParams(params);
  10.                 resp = httpClient.execute(method);
  11.                 int status = resp.getStatusLine().getStatusCode();
  12.            if (status != HttpStatus.SC_OK) return false;
  13.                // HttpStatus.SC_OK;
  14.                 return true;
  15.             } catch (ClientProtocolException e) {
  16.                 // TODO Auto-generated catch block
  17.                 e.printStackTrace();
  18.             } catch (IOException e) {
  19.                 // TODO Auto-generated catch block
  20.                 e.printStackTrace();
  21.             } finally {
  22.                 if (reader != null) try {
  23.                     reader.close();
  24.                 } catch (IOException e) {
  25.                     // TODO Auto-generated catch block
  26.                     e.printStackTrace();
  27.                 }
  28.             }
复制代码


14:显示toast

  1. Toast.makeText(this._getApplicationContext(), R.string._item, Toast.LENGTH_SHORT).show();
  2. 或者写成函数形式:
  3. public void Display(String str)
  4.   {
  5. Toast.[i]makeText[/i](
  6. , str, Toast.[i]LENGTH_LONG[/i]).show();
复制代码

15:在当前Activity中启动另外一个Activity
startActivity(new Intent(this,目标Activity.class));


16:从当前ContentView从查找控件
(Button)findViewById(R.id.btnAbout)   
R.id.btnAbout指控件id。

17:获取屏幕宽高

  1. DisplayMetrics
  2. dm = new DisplayMetrics();  
  3. //获取窗口属性
  4. getWindowManager().getDefaultDisplay().getMetrics(dm);   
  5. int screenWidth = dm.widthPixels;//320  
  6. int screenHeight = dm.heightPixels;//480
复制代码
18:无标题栏、全屏

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

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

20:获得SD卡的剩余容量

  1. File pathFile = Environment.getExternalStorageDirectory();
  2. StatFs statfs = new StatFs(pathFile.getPath());
  3. //获得可供程序使用的Block数量
  4. long nAvailaBlock = statfs.getAvailableBlocks();
  5. //获得SDCard上每个block的SIZE
  6. long nBlocSize = statfs.getBlockSize();
  7. //计算SDCard剩余大小MB
  8. long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024;
  9. LogX.trace(TAG, "SD卡的剩余容量是:" + nSDFreeSize + "MB");
复制代码
原创粉丝点击