Android开发学习笔记:Android很有用的代码片段

简介:
 
  1. 1:查看是否有存储卡插入  
  2. String status=Environment.getExternalStorageState();  
  3. if(status.equals(Enviroment.MEDIA_MOUNTED)){  
  4.    说明有SD卡插入  
  5. }  
  6.  
  7. 2:让某个Activity透明  
  8. OnCreate 中不设Layout  
  9. this.setTheme(R.style.Theme_Transparent);  
  10. 以下是 Theme_Transparent的定义(注意transparent_bg是一副透明的图片)  
  11.  
  12. 3:在屏幕元素中设置句柄  
  13. 使用Activity.findViewById来取得屏幕上的元素的句柄. 使用该句柄您可以设置或获取任何该对象外露的值.  
  14. TextView msgTextView = (TextView)findViewById(R.id.msg);  
  15.    msgTextView.setText(R.string.push_me);  
  16.  
  17. 4:发送短信  
  18.  
  19.             String body=”this is mms demo”;  
  20.  
  21.            Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”, number, null));  
  22.            mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);  
  23.            mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);  
  24.            mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);  
  25.             startActivity(mmsintent);  
  26.  
  27.    5:发送彩信  
  28.  
  29.            StringBuilder sb = new StringBuilder();  
  30.  
  31.             sb.append(”file://”);  
  32.  
  33.             sb.append(fd.getAbsoluteFile());  
  34.  
  35.             Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”mmsto”, number, null));  
  36.             // Below extra datas are all optional.  
  37.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);  
  38.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);  
  39.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());  
  40.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);  
  41.             intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);  
  42.  
  43.             startActivity(intent);  
  44.  
  45. 7:发送Mail  
  46.  
  47.              mime = “img/jpg”;  
  48.             shareIntent.setDataAndType(Uri.fromFile(fd), mime);  
  49.             shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd));  
  50.             shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);  
  51.  
  52.             shareIntent.putExtra(Intent.EXTRA_TEXT, body);  
  53.  
  54. 8:注册一个 BroadcastReceiver  
  55.  
  56. registerReceiver(mMasterResetReciever, new IntentFilter(”oms.action.MASTERRESET”));  
  57.  
  58. private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver() {  
  59.  
  60.         public void onReceive(Context context, Intent intent){  
  61.             String action = intent.getAction();  
  62.             if(”oms.action.MASTERRESET”.equals(action)){  
  63.                 RecoverDefaultConfig();  
  64.             }  
  65.         }  
  66.  
  67.     };  
  68.  
  69. 9:定义ContentObserver,监听某个数据表  
  70.  
  71. private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI);  
  72.  
  73. private class DownloadsChangeObserver extends ContentObserver {  
  74.         public DownloadsChangeObserver(Uri uri) {  
  75.             super(new Handler());  
  76.  
  77.         }  
  78.  
  79.         @Override 
  80.         public void onChange(boolean selfChange) {}    
  81.         }  
  82.      
  83.  
  84. 10:获得 手机UA  
  85.  
  86. public String getUserAgent(){  
  87.     String user_agent = ProductProperties.get(ProductProperties.USER_AGENT_KEY, null);  
  88.             return user_agent;  
  89.     }  
  90.  
  91. 11:清空手机上Cookie  
  92.  
  93. CookieSyncManager.createInstance(getApplicationContext());  
  94.         CookieManager.getInstance().removeAllCookie();  
  95.  
  96. 12:建立GPRS 连接  
  97.  
  98.    //Dial the GPRS link.  
  99.     private boolean openDataConnection() {  
  100.         // Set up data connection.  
  101.         DataConnection conn = DataConnection.getInstance();       
  102.  
  103.             if (connectMode == 0) {  
  104.                 ret = conn.openConnection(mContext, “cmwap”, “cmwap”, “cmwap”);  
  105.             } else {  
  106.                 ret = conn.openConnection(mContext, “cmnet”, “”, “”);  
  107.             }  
  108.  
  109.     }  
  110.  
  111. 13:PreferenceActivity 用法  
  112.  
  113. public class Setting extends PreferenceActivity{  
  114.     public void onCreate(Bundle savedInstanceState) {  
  115.         super.onCreate(savedInstanceState);  
  116.         addPreferencesFromResource(R.xml.settings);  
  117.     }  
  118.  
  119. }  
  120.  
  121. Setting.xml:  
  122.  
  123.             android:key=”seting2″  
  124.             android:title=”@string/seting2″  
  125.             android:summary=”@string/seting2″/>  
  126.  
  127.             android:key=”seting1″  
  128.             android:title=”@string/seting1″  
  129.             android:summaryOff=”@string/seting1summaryOff”  
  130.             android:summaryOn=”@stringseting1summaryOff”/>  
  131.  
  132. 14:通过 HttpClient从指定server获取数据  
  133.  
  134.              DefaultHttpClient httpClient = new DefaultHttpClient();  
  135.             HttpGet method = new HttpGet(“http://www.baidu.com/1.html”);  
  136.             HttpResponse resp;  
  137.             Reader reader = null;  
  138.             try {  
  139.                 // AllClientPNames.TIMEOUT  
  140.                 HttpParams params = new BasicHttpParams();  
  141.                 params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000);  
  142.                 httpClient.setParams(params);  
  143.                 resp = httpClient.execute(method);  
  144.                 int status = resp.getStatusLine().getStatusCode();  
  145.  
  146.                 if (status != HttpStatus.SC_OK) return false;  
  147.  
  148.                 // HttpStatus.SC_OK;  
  149.                 return true;  
  150.             } catch (ClientProtocolException e) {  
  151.                 // TODO Auto-generated catch block  
  152.                 e.printStackTrace();  
  153.             } catch (IOException e) {  
  154.                 // TODO Auto-generated catch block  
  155.                 e.printStackTrace();  
  156.             } finally {  
  157.                 if (reader != nulltry {  
  158.                     reader.close();  
  159.                 } catch (IOException e) {  
  160.                     // TODO Auto-generated catch block  
  161.                     e.printStackTrace();  
  162.                 }  
  163.             }  
  164.  
  165. 15:显示toast  
  166. Toast.makeText(this._getApplicationContext(), R.string._item, Toast.LENGTH_SHORT).show();  
  167.  
  168. 16:在当前Activity中启动另外一个Activity  
  169. startActivity(new Intent(this,目标Activity.class));  
  170.  
  171. 17:从当前ContentView从查找控件  
  172. (Button)findViewById(R.id.btnAbout)      
  173.  R.id.btnAbout指控件id。  
  174.  
  175. 18:获取屏幕宽高  
  176. DisplayMetrics dm = new DisplayMetrics();    
  177. //获取窗口属性  
  178.  getWindowManager().getDefaultDisplay().getMetrics(dm);      
  179.  int screenWidth = dm.widthPixels;//320    
  180.  int screenHeight = dm.heightPixels;//480   
  181.  
  182. 19:无标题栏、全屏  
  183. //无标题栏    
  184. requestWindowFeature(Window.FEATURE_NO_TITLE);    
  185. //全屏模式    
  186. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
  187.   WindowManager.LayoutParams.FLAG_FULLSCREEN);   
  188. 注意在setContentView()之前调用,否则无效。  
  189.  
  190. 20注册activity  
  191. 所有用到的Activity都必须在AndroidManifest.xml中注册,否则会报空指针错误。  
  192. 如:,注意是包名+类名。  
  193.  

会持续更新......................



本文转自 lingdududu 51CTO博客,原文链接http://blog.51cto.com/liangruijun/722171

相关文章
|
13天前
|
消息中间件 网络协议 Java
Android 开发中实现数据传递:广播和Handler
Android 开发中实现数据传递:广播和Handler
15 1
|
15天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
16天前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
3天前
|
存储 安全 Android开发
安卓应用开发:构建一个高效的用户登录系统
【5月更文挑战第3天】在移动应用开发中,用户登录系统的设计与实现是至关重要的一环。对于安卓平台而言,一个高效、安全且用户体验友好的登录系统能够显著提升应用的用户留存率和市场竞争力。本文将探讨在安卓平台上实现用户登录系统的最佳实践,包括对最新身份验证技术的应用、安全性考量以及性能优化策略。
|
6天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
7天前
|
监控 Java Android开发
安卓应用开发:打造高效用户界面的五大策略
【4月更文挑战第29天】 在安卓应用开发的世界中,构建一个既美观又高效的用户界面(UI)对于吸引和保留用户至关重要。本文将深入探讨五种策略,这些策略可以帮助开发者优化安卓应用的UI性能。我们将从布局优化讲起,逐步过渡到绘制优化、内存管理、异步处理以及最终的用户交互细节调整。通过这些实践技巧,你将能够为用户提供流畅而直观的体验,确保你的应用在竞争激烈的市场中脱颖而出。
|
1天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
6天前
|
存储 Java Android开发
安卓应用开发中的内存优化策略
【4月更文挑战第30天】在移动开发领域,尤其是安卓平台上,内存管理是影响应用性能和用户体验的关键因素。由于安卓设备的硬件资源有限,不合理的内存使用会导致应用响应缓慢、消耗过多电量甚至崩溃。本文将探讨针对安卓平台的内存优化技巧,旨在帮助开发者提高应用的性能和稳定性,从而提升用户满意度。我们将详细讨论内存泄漏的预防、合理的内存分配策略以及高效的内存回收方法。
|
7天前
|
机器学习/深度学习 安全 数据处理
构建未来:基于Android的智能家居控制系统开发
【4月更文挑战第29天】 随着物联网技术的蓬勃发展,智能家居已成为现代技术革新的重要领域。本文将深入探讨基于Android平台的智能家居控制系统的设计和实现,旨在提供一种用户友好、高度集成且功能丰富的解决方案。通过利用Android设备的广泛普及和其强大的处理能力,结合最新的无线通讯技术和人工智能算法,我们旨在打造一个可靠、易用且具有高度可定制性的智能家居控制环境。文中不仅详细阐述了系统架构、关键技术选型以及界面设计,还对可能遇到的安全挑战进行了分析,并提出了相应的解决策略。
|
7天前
|
监控 Java Android开发
安卓应用开发中的内存优化策略
【4月更文挑战第29天】在面对安卓设备多样化的硬件配置时,合理管理应用内存成为提升用户体验的关键。本文深入探讨了安卓应用开发中常见的内存泄漏问题,并提出了一系列针对性的优化策略。通过分析内存分配机制、垃圾回收原理及内存监控工具的使用,揭示了高效内存管理的实践方法。文章旨在为开发者提供一套系统的内存优化解决方案,以实现更流畅、稳定的应用性能。