Android编程中14个解决实际问题的代码片段

移动开发 Android
还在为学习Adroid语言苦恼?这里为初学者介绍了十四段简单实用的代码,保存下来需要时轻松一键获得。其中包括检查是否有SD卡,让某个Activity透明,在屏幕元素中设置句柄等等在实际应用经常用到的简短代码。

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

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

2、让某个Activity透明

OnCreate中不设Layout     

  1. 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.         
  3.     Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”, number, null));     
  4.         
  5.     mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);     
  6.     mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);     
  7.     mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);     
  8.         
  9.     startActivity(mmsintent); 

5、发送彩信

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

6、显示toast

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

7、发送Mail

  1. mime = “img/jpg”;    
  2.                
  3. shareIntent.setDataAndType(Uri.fromFile(fd), mime);    
  4.    
  5. shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd));    
  6.    
  7. shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);    
  8.    
  9. shareIntent.putExtra(Intent.EXTRA_TEXT, body);  

8、注册一个BroadcastReceiver

  1. registerReceiver(mMasterResetReciever, new IntentFilter(”OMS.action.MASTERRESET”));    
  2.    
  3. private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver()   
  4. {    
  5.         public void onReceive(Context context, Intent intent)   
  6.        {    
  7.             String action = intent.getAction();    
  8.    
  9.             if (”oms.action.MASTERRESET”.equals(action) )   
  10.            {    
  11.                 RecoverDefaultConfig();    
  12.             }    
  13.         }    
  14. };

9、定义ContentObserver,监听某个数据表 

  1. private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI);    
  2.    
  3. private class DownloadsChangeObserver extends ContentObserver    
  4. {    
  5.         public DownloadsChangeObserver(Uri uri)    
  6.         {    
  7.             super(new Handler());    
  8.         }    
  9.    
  10.         @Override    
  11.         public void onChange(boolean selfChange) {}   
  12.      
  13. }    

10、获得手机UA 

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

11、清空手机上cookie  

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

12、建立GPRS连接 

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

13、PreferenceActivity 用法

  1. public class Setting extends PreferenceActivity    
  2. {    
  3.     public void onCreate ( Bundle savedInstanceState )    
  4.         {    
  5.             super.onCreate ( savedInstanceState );    
  6.             addPreferencesFromResource ( R.xml.settings );     
  7.     }    
  8. }    
  9. Setting.xml:  
  10. [java]   
  11. Android:key=”seting2″   
  12.    
  13.          android:title=”@string/seting2″    
  14.          android:summary=”@string/seting2″/>    
  15.          android:key=”seting1″    
  16.          android:title=”@string/seting1″    
  17.          android:summaryOff=”@string/seting1summaryOff”    
  18.            android:summaryOn=”@stringseting1summaryOff”/>

14、通过HttpClient从指定server获取数据   

  1. DefaultHttpClient httpClient = new DefaultHttpClient();
    
  2.           HttpGet method = new HttpGet(“/templets/default/index.html”);    
  3.           HttpResponse resp;    
  4.           Reader reader = null;
  5.  
  6.           try {    
  7.               // AllClientPNames.TIMEOUT    
  8.               HttpParams params = new BasicHttpParams();    
  9.               params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000);    
  10.               httpClient.setParams(params);    
  11.               resp = httpClient.execute(method);    
  12.               int status = resp.getStatusLine().getStatusCode();    
  13.               if (status != HttpStatus.SC_OK)    
  14.               {   
  15.                  return false;    
  16.               }   
  17.    
  18.               // HttpStatus.SC_OK;    
  19.               return true;
  20.           }    
  21.         catch (ClientProtocolException e)    
  22.         {    
  23.               // TODO Auto-generated catch block    
  24.               e.printStackTrace();    
  25.         }    
  26.        catch (IOException e)    
  27.        {    
  28.               // TODO Auto-generated catch block    
  29.               e.printStackTrace();    
  30.         }   
  31.        finally   
  32.       {    
  33.               if (reader != null)    
  34.               try   
  35.              {    
  36.                   reader.close();    
  37.              }   
  38.              catch (IOException e)    
  39.              {    
  40.                   // TODO Auto-generated catch block    
  41.                   e.printStackTrace();    
  42.              }    
  43.       }   

 

【编辑推荐】

 

  1. 施密特称更换领导人不会给Android带来影响
  2. App工程结构搭建:几种常见Android代码架构分析

 

【责任编辑:闫佳明 TEL:(010)68476606】

责任编辑:闫佳明 来源: 2cto
相关推荐

2012-08-22 08:58:39

编程

2013-09-22 10:15:05

编程思想

2010-03-15 18:08:01

Python编程语言

2011-06-27 16:44:59

Qmake

2022-09-16 09:11:30

C++代码编程

2021-12-27 10:40:13

Kubernetes网络图解Linux

2017-03-01 10:04:16

2023-12-26 14:28:08

JavaScript开发

2020-07-27 10:51:36

机器学习数据人工智能

2010-05-14 18:22:56

MySQLSQL优化索

2010-03-16 09:41:34

交换机配置

2009-10-14 09:27:15

结构化综合布线

2015-11-30 16:08:54

iosbitcode适配

2019-11-12 14:20:05

区块链比特币区块链应用

2019-11-14 15:17:49

区块链应用数字货币

2009-10-10 09:03:00

网络布线

2022-07-06 08:39:33

Python代码

2010-06-07 14:50:50

jsp MySQL

2010-03-23 09:32:32

云计算云网络

2010-04-13 14:25:24

Oracle问题解决
点赞
收藏

51CTO技术栈公众号