Android中常用的函数

来源:互联网 发布:制作小游戏软件 编辑:程序博客网 时间:2024/04/30 15:50
//安装apk文件
private void installAPK(File file) {
  Intent intent = new Intent(Intent.ACTION_VIEW);
  Uri data = Uri.fromFile(file);
  String type = "application/vnd.android.package-archive";
  intent.setDataAndType(data, type);
  startActivity(intent);
 }

//卸载apk文件
private void uninstallAPK(String packageName) {
  Intent intent = new Intent(Intent.ACTION_VIEW);
  Uri data = Uri.parse("package:" + packageName);
  intent.setData(data);
  startActivity(intent);
 }

//编辑图片大小,保持图片不变形。
public static Bitmap resetImage(Bitmap sourceBitmap,int resetWidth,int resetHeight){
  int width = sourceBitmap.getWidth();
  int height = sourceBitmap.getHeight();
  int tmpWidth;
  int tmpHeight;
  float scaleWidth = (float)resetWidth / (float)width;
  float scaleHeight = (float)resetHeight / (float)height;
  float maxTmpScale = scaleWidth >= scaleHeight ? scaleWidth : scaleHeight;
  //保持不变形
  tmpWidth = (int)(maxTmpScale * width);
  tmpHeight = (int)(maxTmpScale * height);
  Matrix m = new Matrix();
  m.setScale(maxTmpScale, maxTmpScale, tmpWidth, tmpHeight);
  sourceBitmap = Bitmap.createBitmap(sourceBitmap, 0, 0, sourceBitmap.getWidth(), sourceBitmap.getHeight(), m, false);
  //切图
  int x = (tmpWidth - resetWidth)/2;
  int y = (tmpHeight - resetHeight)/2;
  return Bitmap.createBitmap(sourceBitmap, x, y, resetWidth, resetHeight);
 }

//获取本地ip地址
 public String getLocalIpAddress() {
  try {
   Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
   while (en.hasMoreElements()) {
    NetworkInterface intf = en.nextElement();
    Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
    while (enumIpAddr.hasMoreElements()) {
     InetAddress inetAddress = enumIpAddr.nextElement();
     if (!inetAddress.isLoopbackAddress()) {
      return inetAddress.getHostAddress().toString();
     }
    }
   }
  } catch (SocketException ex) {
   ex.printStackTrace();
  }
  return null;
 }

//判断是否为wifi网络
//记得要加权限 android.permission.ACCESS_NETWORK_STATE
public static boolean isWifi(Context mContext) {
  ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
  if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {
   return true;
  }
  return false;
 }

Android验证email地址的函数
static boolean isValidAddress(String address) {
// Note: Some email provider may violate the standard, so here we only check that
// address consists of two part that are separated by '@', and domain part contains
// at least one '.'.
int len = address.length();
int firstAt = address.indexOf('@');
int lastAt = address.lastIndexOf('@');
int firstDot = address.indexOf('.', lastAt + 1);
int lastDot = address.lastIndexOf('.');
return firstAt > 0 && firstAt == lastAt && lastAt + 1 < firstDot
&& firstDot <= lastDot && lastDot < len - 1;
}
0 0
原创粉丝点击