Android 常用代码集合

来源:互联网 发布:淘宝邀请的活动好不好 编辑:程序博客网 时间:2024/06/07 13:35

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

1 调用浏览器 载入某网址

[java] view plain copy
  1. Uri uri = Uri.parse("http://www.baidu.com");          
  2. Intent it = new Intent(Intent.ACTION_VIEW, uri);          
  3. startActivity(it);  
 

 

2 Broadcast接收系统广播的intent 监控应用程序包的安装 删除

[java] view plain copy
  1. public class getBroadcast extends BroadcastReceiver {  
  2.         @Override  
  3.         public void onReceive(Context context, Intent intent) {  
  4.                  
  5.                   if(Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())){  
  6.                     Toast.makeText(context, "有应用被添加", Toast.LENGTH_LONG).show();  
  7.             }  
  8.                 else  if(Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())){  
  9.                     Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();  
  10.             }  
  11.                
  12.                 else  if(Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())){  
  13.                     Toast.makeText(context, "有应用被替换", Toast.LENGTH_LONG).show();  
  14.             }  
  15.                     
  16.                 else  if(Intent.ACTION_CAMERA_BUTTON.equals(intent.getAction())){  
  17.                     Toast.makeText(context, "按键", Toast.LENGTH_LONG).show();  
  18.             }  
  19.               
  20.         }  
  21.          
  22. }  
 

需要声明的权限如下AndroidManifest.xml

[c-sharp] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:<a href="http://lib.csdn.net/base/android" class='replace_word' title="Android知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Android</a>="http://schemas.<a href="http://lib.csdn.net/base/android" class='replace_word' title="Android知识库" target='_blank' style='color:#df3434; font-weight:bold;'>android</a>.com/apk/res/android"  
  3.       package="zy.Broadcast"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0">  
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  7.         <activity android:name=".Broadcast"  
  8.                   android:label="@string/app_name">  
  9.             <intent-filter>  
  10.                 <action android:name="android.intent.action.MAIN" />  
  11.                 <category android:name="android.intent.category.LAUNCHER" />  
  12.             </intent-filter>  
  13.         </activity>  
  14.       <receiver android:name="getBroadcast" android:enabled="true" >  
  15.          <intent-filter>  
  16.              <action android:name="android.intent.action.PACKAGE_ADDED"></action>  
  17.              <!-- <action android:name="android.intent.action.PACKAGE_CHANGED"></action>-->  
  18.              <action android:name="android.intent.action.PACKAGE_REMOVED"></action>  
  19.              <action android:name="android.intent.action.PACKAGE_REPLACED"></action>  
  20.              <!-- <action android:name="android.intent.action.PACKAGE_RESTARTED"></action>-->  
  21.            <!--    <action android:name="android.intent.action.PACKAGE_INSTALL"></action>-->  
  22.                <action android:name="android.intent.action.CAMERA_BUTTON"></action>  
  23.                <data android:scheme="package"></data>  
  24.               </intent-filter>  
  25. </receiver>  
  26.     </application>  
  27.     <uses-sdk android:minSdkVersion="3" />  
  28.       
  29. </manifest>   
 

 

3 使用Toast输出一个字符串

[java] view plain copy
  1. public void DisplayToast(String str)  
  2.         {  
  3.       Toast.makeText(this,str,Toast.LENGTH_SHORT).show();  
  4.         }   
 

 

4 把一个字符串写进文件

[c-sharp] view plain copy
  1. public void writefile(String str,String path )  
  2.         {  
  3.             File file;  
  4.             FileOutputStream out;  
  5.              try {  
  6.                  //创建文件  
  7.                  file = new File(path);  
  8.                  file.createNewFile();  
  9.                    
  10.                  //打开文件file的OutputStream  
  11.                  out = new FileOutputStream(file);  
  12.                  String infoToWrite = str;  
  13.                  //将字符串转换成byte数组写入文件  
  14.                  out.write(infoToWrite.getBytes());  
  15.                  //关闭文件file的OutputStream  
  16.                  out.close();  
  17.                    
  18.                    
  19.                    
  20.              } catch (IOException e) {  
  21.                  //将出错信息打印到Logcat  
  22.               DisplayToast(e.toString());  
  23.                    
  24.              }  
  25.         }  
 

 

5 把文件内容读出到一个字符串

[java] view plain copy
  1. public String getinfo(String path)  
  2.         {  
  3.             File file;  
  4.             String str="";   
  5.             FileInputStream in;  
  6.          try{  
  7.             //打开文件file的InputStream  
  8.              file = new File(path);  
  9.              in = new FileInputStream(file);  
  10.              //将文件内容全部读入到byte数组  
  11.              int length = (int)file.length();  
  12.              byte[] temp = new byte[length];  
  13.              in.read(temp, 0, length);  
  14.              //将byte数组用UTF-8编码并存入display字符串中  
  15.              str =  EncodingUtils.getString(temp,TEXT_ENCODING);  
  16.              //关闭文件file的InputStream  
  17.                
  18.              in.close();  
  19.          }  
  20.          catch (IOException e) {  
  21.                
  22.           DisplayToast(e.toString());  
  23.                
  24.          }  
  25.          return str;  
  26.         }  
 

 

6 调用Android installer 安装和卸载程序

[java] view plain copy
  1. Intent intent = new Intent(Intent.ACTION_VIEW);   
  2.        intent.setDataAndType(Uri.fromFile(new File("/sdcard/WorldCupTimer.apk")), "application/vnd.android.package-archive");   
  3.        startActivity(intent); //安装 程序  
  4.          
  5.        Uri packageURI = Uri.parse("package:zy.dnh");       
  6.        Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);       
  7.        startActivity(uninstallIntent);//正常卸载程序  
 

7 结束某个进程

[c-sharp] view plain copy
  1. activityManager.restartPackage(packageName);  
 

 

8 设置默认来电铃声

 

 

[c-sharp] view plain copy
  1. public void setMyRingtone()  
  2.     {  
  3.    File k = new File("/sdcard/Shall We Talk.mp3"); // 设置歌曲路径  
  4.     ContentValues values = new ContentValues();  
  5.     values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());  
  6.     values.put(MediaStore.MediaColumns.TITLE, "Shall We Talk");  
  7.     values.put(MediaStore.MediaColumns.SIZE, 8474325);  
  8.     values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");  
  9.     values.put(MediaStore.Audio.Media.ARTIST, "Madonna");  
  10.     values.put(MediaStore.Audio.Media.DURATION, 230);  
  11.     values.put(MediaStore.Audio.Media.IS_RINGTONE, true);  
  12.     values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);  
  13.     values.put(MediaStore.Audio.Media.IS_ALARM, false);  
  14.     values.put(MediaStore.Audio.Media.IS_MUSIC, false);  
  15.     // Insert it into the database  
  16.     Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());  
  17.     Uri newUri = this.getContentResolver().insert(uri, values);  
  18.     RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);  
  19.     ;}  
 

 

需要的权限

[c-sharp] view plain copy
  1. <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>  
 

 

模拟HOME按键

[c-sharp] view plain copy
  1. Intent i=new Intent(Intent.ACTION_MAIN);  
  2. i.addCategory(Intent.CATEGORY_HOME);  
  3. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  4. context.startActivity(i);  
 

 

9 打开某一个联系人

[c-sharp] view plain copy
  1. Intent intent=new Intent();  
  2. String data = "content://contacts/people/1";  
  3. Uri  uri = Uri.parse(data);          intent.setAction(Intent.ACTION_VIEW);  
  4. intent.setData(uri);  
  5. startActivity(intent);  
 

10 发送文件

[java] view plain copy
  1. void sendFile(String path)  
  2. {  
  3.     File mZipFile=new File(path);  
  4.        Intent intent = new Intent(   
  5.                Intent.ACTION_SEND);   
  6.      //  intent.setClassName("com.android.bluetooth", "com.broadcom.bt.app.opp.OppLauncherActivity");  
  7.      // intent.setClassName("com.android.bluetooth", "com.android.bluetooth.opp.BluetoothOppLauncherActivity");  
  8.        intent.putExtra("subject", mZipFile   
  9.                .getName()); //   
  10.          
  11.        intent.putExtra("body""content by chopsticks"); // 正文   
  12.        intent.putExtra(Intent.EXTRA_STREAM,   
  13.                Uri.fromFile(mZipFile)); // 添加附件,附件为file对象   
  14.        if (mZipFile.getName().endsWith(".gz")) {   
  15.            intent   
  16.                    .setType("application/x-gzip"); // 如果是gz使用gzip的mime   
  17.        } else if (mZipFile.getName().endsWith(   
  18.                ".txt")) {   
  19.            intent.setType("text/plain"); // 纯文本则用text/plain的mime   
  20.        } else if (mZipFile.getName().endsWith(   
  21.                ".zip")) {   
  22.            intent.setType("application/zip"); // 纯文本则用text/plain的mime   
  23.        } else {   
  24.            intent   
  25.                    .setType("application/octet-stream"); // 其他的均使用流当做二进制数据来发送   
  26.        }   
  27.       // startActivity(intent);  
  28.        startActivity(   
  29.                Intent.createChooser(intent,   
  30.                        "选择蓝牙客户端"));  
  31. }