`
runfeel
  • 浏览: 935890 次
文章分类
社区版块
存档分类
最新评论

安卓开发19:常用安卓开发技巧汇总

 
阅读更多

常用安卓开发技巧汇总

经常用的一些小技巧都会记录在这边


API权限错误提示解决方法:

报这么一个错误:

Call requires API level 11 (current min is 8): android.animation.ObjectAnimator#ofFloat


主要原因是 AndroidManifest.xml中的API权限等级不够:

 <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

修改成:

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="17" />


获取手机号码:

//创建电话管理

TelephonyManager tm = (TelephonyManager)

//与手机建立连接
activity.getSystemService(Context.TELEPHONY_SERVICE);

//获取手机号码

String phoneId = tm.getLine1Number();

//记得在manifest file中添加
    <uses-permission
android:name="android.permission.READ_PHONE_STATE" />

//程序在模拟器上无法实现,必须连接手机

格式化string.xml 中的字符串

// in strings.xml..
<string name="my_text">Thanks for visiting %s. You age is %d!</string>
     
// and in the java code:
String.format(getString(R.string.my_text), "oschina", 33);

android设置全屏的方法

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

检查当前网络是否连上

ConnectivityManager con=(ConnectivityManager)getSystemService(Activity.CONNECTIVITY_SERVICE);  
 
boolean wifi=con.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();  

boolean internet=con.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting(); 

在AndroidManifest.xml 增加权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

检测某个Intent是否有效

public static boolean isIntentAvailable(Context context, String action) {
    final PackageManager packageManager = context.getPackageManager();
    final Intent intent = new Intent(action);
    List<ResolveInfo> list =
            packageManager.queryIntentActivities(intent,
                    PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;
}

android 拨打电话

try {
   Intent intent = new Intent(Intent.ACTION_CALL);
   intent.setData(Uri.parse("tel:+110"));
   startActivity(intent);
} catch (Exception e) {
   Log.e("SampleApp", "Failed to invoke call", e);
}

android中发送Email

Intent i = new Intent(Intent.ACTION_SEND);  
//i.setType("text/plain"); //模拟器请使用这行
i.setType("message/rfc822") ; // 真机上使用这行
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"test@gmail.com","test@163.com});  
i.putExtra(Intent.EXTRA_SUBJECT,"subject goes here");  
i.putExtra(Intent.EXTRA_TEXT,"body goes here");  
startActivity(Intent.createChooser(i, "Select email application."));

android中打开浏览器

Intent viewIntent = new 
    Intent("android.intent.action.VIEW",Uri.parse("http://vaiyanzi.cnblogs.com"));

startActivity(viewIntent);

android 获取设备唯一标识码

String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);

android中获取IP地址

public String getLocalIpAddress() {
    try {
        for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); 
		en.hasMoreElements();) {
            NetworkInterface intf = en.nextElement();
            for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); 
		enumIpAddr.hasMoreElements();) {
                InetAddress inetAddress = enumIpAddr.nextElement();
                if (!inetAddress.isLoopbackAddress()) {
                    return inetAddress.getHostAddress().toString();
                }
            }
        }
    } catch (SocketException ex) {
        Log.e(LOG_TAG, ex.toString());
    }
    return null;
}

android获取存储卡路径以及使用情况

/** 获取存储卡路径 */ 
File sdcardDir=Environment.getExternalStorageDirectory(); 
/** StatFs 看文件系统空间使用情况 */ 
StatFs statFs=new StatFs(sdcardDir.getPath()); 
/** Block 的 size*/ 
Long blockSize=statFs.getBlockSize(); 
/** 总 Block 数量 */ 
Long totalBlocks=statFs.getBlockCount(); 
/** 已使用的 Block 数量 */ 
Long availableBlocks=statFs.getAvailableBlocks(); 

android中添加新的联系人

private Uri insertContact(Context context, String name, String phone) {
	   
       ContentValues values = new ContentValues();
       values.put(People.NAME, name);
       Uri uri = getContentResolver().insert(People.CONTENT_URI, values);
       Uri numberUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY);
       values.clear();
       
       values.put(Contacts.Phones.TYPE, People.Phones.TYPE_MOBILE);
       values.put(People.NUMBER, phone);
       getContentResolver().insert(numberUri, values);
       
       return uri;
}

查看电池使用情况

Intent intentBatteryUsage = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);        
startActivity(intentBatteryUsage);

获取进程号

ActivityManager mActivityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> mRunningProcess = mActivityManager.getRunningAppProcesses(); int i = 1; for (ActivityManager.RunningAppProcessInfo amProcess : mRunningProcess) { Log.e("homer Application", (i++) + "  PID = " + amProcess.pid + "; processName = " + amProcess.processName); }	




分享到:
评论

相关推荐

    51CTO下载-【android资料免豆下载】汇总大量教程+工具+源码下载地址.pdf

    13. Android 常用开发技巧汇总:涵盖了 Android 开发的常用技巧,包括布局优化、性能优化、内存管理等。 14. 下搭建 Android 原生 C/C++ 开发环境:涵盖了 Android 原生 C/C++ 开发环境的搭建和使用。 15. Android...

    android 开发技巧总汇

    &lt;&lt;android 的几个技巧1&gt;&gt; 1 1. 入门实例剖析1 2 2.在测试时,如何实现一个提示 8 3.可以使用AlertDialog.Builder 才产生一个提示框. 9 4. menu 的用法. 10 1. 简单的代码 10 2. menu实现的两种方法 10 5.Activity 的...

    Android开发技巧总汇(4)

    ### Android开发技巧总汇(4) #### 1. 通过添加按钮来触发Menu按键 在Android应用中,可以通过编程方式来触发Menu按键的功能。如果希望用户在特定情况下手动调用菜单,可以添加一个按钮,并在按钮的点击事件中触发`...

    【Android资料免积分下载】大量教程+工具+源码汇总

    13. **Android 常用开发技巧汇总** - **知识点**:汇集了在开发过程中常用的技巧和解决方案。 - **适用人群**:适合在实际工作中遇到问题需要快速解决的开发者。 14. **下搭建 Android 原生 C/C++ 开发环境** - ...

    Android开发技巧总汇(个人总结)

    19.代码安装apk包 25 20.给模拟器打电话发短信 26 21.从google搜索内容 26 22.浏览网页 26 23.显示地图 26 25.拨打电话 27 26.调用发短信的程序 27 27.发送短信 27 28.发送彩信 28 29.发送Email 28 30....

    Android常用知识点汇总

    【Android常用知识点汇总】 在Android开发中,经常会遇到各种各样的问题,以下是一些关键知识点的总结,旨在帮助开发者快速解决常见问题。 1. **去除GridView、ListView的默认背景**:可以通过自定义Item布局,...

    百度校园招聘历年经典面试题汇总:Android岗

    ### 百度校园招聘历年经典面试题汇总:Android岗 #### 1. MVP模式的优缺点 - **优点**: - **低耦合**:将业务逻辑与UI分离,提高了代码的可维护性。 - **易于测试**:Presenter层可以方便地进行单元测试。 - *...

    android面试题,笔试题汇总总结(最全)

    19. **Android测试**:了解JUnit、Espresso、Mockito等测试工具,如何编写单元测试和UI测试。 20. **Android最新技术趋势**:关注Android新版本特性,如Android 12的新功能,以及Android Jetpack的新组件。 通过...

    android属性汇总[参考].pdf

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在用户界面设计中占据着重要地位。以下是一些关于TextView的重要属性及其详细说明: 1. `android:autoLink`:此属性用于自动识别文本中的URL、...

    【eoe_Android特刊】01-19期

    最后,【eoeAndroid特刊】第08期(上):开发技巧,这一部分可能汇总了各种开发最佳实践,包括性能优化、调试技术、测试策略等,有助于提高开发效率和应用质量。 总的来说,这些特刊为Android开发者提供了一个全面...

    Android EditText常用属性功能汇总

    在Android开发中,EditText是一个非常重要的组件,它用于接收用户输入的数据。本篇文章将详细解析EditText的常用属性及其功能,帮助开发者更好地理解和运用这个控件。 1. `android:hint`:这个属性用来设置EditText...

    19个Android常用工具类汇总

    本文将详细介绍19个Android常用的工具类,这些工具类不仅适用于Android平台,很多也适用于Java开发。 1. **HttpUtils**: HttpUtils是一个HTTP网络请求工具类,提供httpGet、httpPost等方法,支持设置超时、User-...

    Android面试题汇总

    13.混合跨平台开发面试题 14.view面试专题 15.Android面试常问基础知识点 16.java;深入源码级的面试题 17.中高级专题(View+Handler+Binder) 18.Android常见原理性面试专题 19.面试必备之乐观锁与悲观锁 20.常见...

    Android面试专题汇总.zip

    以下是对"Android面试专题汇总.zip"中可能涵盖的一些关键知识点的详细说明: 1. **Android系统架构**:了解Android系统的分层结构,包括Linux内核、硬件抽象层(HAL)、系统运行库、应用程序框架以及应用程序本身。...

    Android常见面试题目汇总以及答案

    在Android开发领域,面试是检验开发者技能和经验的重要环节。以下是一些常见的Android面试题目及其详细解释: 1. **Android的InputManagerService简介**: InputManagerService是Android系统服务之一,负责处理...

    Professional Android 4 Application Development

    ### 专业Android 4应用程序开发知识点汇总 #### 一、简介 《专业Android 4应用程序开发》是一本全面介绍如何使用Android 4平台进行应用程序开发的专业书籍。本书由Reto Meier编写,由John Wiley & Sons出版社出版。...

    cocos2d-x_Win32_Android_环境配置手册

    对于Android开发,Eclipse是常用的IDE,需要安装3.7.1或更高版本。 **3.1.2 Eclipse ADT插件** 安装Android Developer Tools (ADT)插件,它提供了对Android开发的集成支持,包括项目创建、调试等。 **3.1.3 ...

Global site tag (gtag.js) - Google Analytics