关闭

Android 开发常用代码片段

标签: Android开发常用代码片段
206人阅读 评论(0) 收藏 举报
分类:

1、图片旋转

Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.moon);
Matrix matrix = new Matrix();
matrix.postRotate(-90);//旋转的角度
 
Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
                    bitmapOrg.getWidth(), bitmapOrg.getHeight(), matrix, true);
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);


2、获取手机号码

//创建电话管理

TelephonyManager tm = (TelephonyManager)

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

//获取手机号码

String phoneId = tm.getLine1Number();

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

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


3.格式化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);


4、android设置全屏的方法

A.在java代码中设置

/** 全屏设置,隐藏窗口所有装饰 */
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

B、在AndroidManifest.xml中配置

<activity android:name=".Login.NetEdit"  android:label="@string/label_net_Edit" 
		          android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
	<intent-filter>
		<action android:name="android.intent.Net_Edit" />
		<category android:name="android.intent.category.DEFAULT" />
	</intent-filter>
</activity>


5、设置Activity为Dialog的形式

在AndroidManifest.xml中配置Activity节点是配置theme如下:

android:theme="@android:style/Theme.Dialog"


6、检查当前网络是否连上

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" />


7、检测某个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;
}


8、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);
}


9、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."));


10、android中打开浏览器

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

startActivity(viewIntent);


11、android 获取设备唯一标识码

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


12、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;
}


13、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(); 


14 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;
}


15、查看电池使用情况

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

16、获取进程号

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); }




15、查看电池使用情况

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



参考推荐:

Android 获取屏幕尺寸与密度

Android 根据屏幕大小设置字体

Android Activity 全屏、横竖屏设置

Android模拟器无法上网问题



转自:http://blog.csdn.net/sunboy_2050/article/details/8142689

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android开发常用网站汇总

1、eoe Android开发者论坛目前国内最早的Android开发者社区,人气非常旺聚集了不少Android开发方面的高手,开发中遇到的问题大都能在这里获得解决,网站最大的特色是定期发布《eoe特刊...
  • GooHong
  • GooHong
  • 2014-10-30 09:40
  • 3798

Android 开发常用组件和三方库汇总

android开发常用的组件和三方库汇总,总有一款适合你
  • watertekhqx
  • watertekhqx
  • 2016-05-09 14:09
  • 1474

Android开发java开发之常用英文词汇汇总。程序员必备英语单词

ANR  (Application Not Response )  bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 ...
  • qq_21376985
  • qq_21376985
  • 2016-04-03 19:09
  • 2537

Android快速开发,十个最常用的框架

对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了)。 下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。 一、 Afinal官方介绍:Afina...
  • zhang_hongli_li
  • zhang_hongli_li
  • 2015-08-22 14:48
  • 11301

Android常用的第三方库整理

Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 。 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻...
  • qq_28616183
  • qq_28616183
  • 2016-03-09 09:46
  • 1767

JAVA、android开发常用英语汇总《上》

JAVA、android开发常用英语汇总
  • javaniuniu
  • javaniuniu
  • 2016-08-11 14:29
  • 2040

Android中常用的设计模式<一>

对于开发来说,设计模式是必不可少的,就像是一个项目的架海紫金梁,而且熟悉常用的设计模式可以有助于我们研读源码。好,废话不多说,开始介绍, 1,单例: 不想再说了,如果还有人不会,我叫他大爷。 算了还是...
  • u010568407
  • u010568407
  • 2016-07-14 18:51
  • 6008

Android开发必备开源库大汇总

前言 对于Android应用开发而言,有很多三方的开源库。其中一些开源库为“必备”的,它们非常流行,几乎所有的Android应用项目都在使用。每一个都有不同的目的,但是所有的都能够让开发变得简单而有效...
  • codingismylife
  • codingismylife
  • 2016-01-28 19:22
  • 1236

android开发中常用的五大布局

线性布局 线性布局在xml文件中使用来定义。  线性布局可以分为水平和垂直方向的布局,可以 通过android:orientation来定义方向, android:orientation=“ho...
  • u012301501
  • u012301501
  • 2016-12-04 21:09
  • 936

Android开发常用方法

Dialog打开和关闭键盘异常问题/**打开键盘**/ public void openInputFromWindow() { getWindow().setSoftInputMode...
  • u010259369
  • u010259369
  • 2016-08-23 13:44
  • 412
    个人资料
    • 访问:195437次
    • 积分:2753
    • 等级:
    • 排名:第15119名
    • 原创:24篇
    • 转载:356篇
    • 译文:2篇
    • 评论:4条
    最新评论