安卓学习-- 实用工具集

持续更新中。。。
1、像素(PX)和 DP互转

public static int px2dip(Context context, float pxValue) {  
     final float density = context.getResources().getDisplayMetrics().density;  
     return (int) (pxValue / density + 0.5f);  
} 
public static int dip2px(Context context, float dpValue) {  
    final float density = context.getResources().getDisplayMetrics().density;  
    return (int) (dpValue * density + 0.5f);  
}  

2、检查网络是否可用

 /**
	 * 获取网络状态
	 * @param context 上下文
	 * @return true 网络可用,false 网络不可用
	 */
	public static boolean getNetworkState(Context context){
		ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo info = cm.getActiveNetworkInfo();
		if (info != null){
			return info.isConnected();
		}
		return false;
	}

3、创建桌面快捷方式

代码实现

/**创建桌面快捷方式*/
	public void createShortcut(){
		Intent it = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
        //设置不允许重复添加
        it.putExtra("duplicate", false);
		//Log.e(TAG, "createShortcut()");
        //设置生成桌面快捷方式名称
        it.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
        //设置生成桌面图片
        //it.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
        Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.app_icon);
        it.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
        //设置图标启动Activity
        it.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent("xxx.xx.xx.action.Main"));
        //发送广播
        sendBroadcast(it);
        Utils.showToast(this, getString(R.string.create_short_success));
	};
申明权限

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
然后在点击图标要启动的Activity下配置如下IntentFilter

<intent-filter>
     <action android:name="xx.xxx.xx.action.Main" />
     <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
4、获取网络类型

/**
	 * 获取网络类型
	 * @param context 上下文
	 * @return 0 移动网络,1 WIFI网络, 7 Bluetooth等等
	 */
	public static int getNetworkType(Context context){
		ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo info = cm.getActiveNetworkInfo();
		if (info != null){
			return info.getType();
		}
		return -1;
	}
5、获取程序版本

   /**
	 * 获取当前版本信息
	 * @param context 上下文
	 * @throws NameNotFoundException 
	 */
	public static String getLocalAppVersion(Context context) throws NameNotFoundException {
		PackageManager pm = context.getPackageManager();
		PackageInfo info = pm.getPackageInfo(context.getPackageName(), 0);
		return info.versionName;
	}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值