文档章节

android 项目常用工具方法

luhang
 luhang
发布于 2017/02/09 13:27
字数 520
阅读 3
收藏 0
public class DeviceInfo {
private static Application APP = null;
private static String sd_card = Environment.getExternalStorageDirectory()+File.separator+"wlcache";
public static Application getApp() {
return APP;
}


// 获取手机型号
public static String getInfo() {
Build bd = new Build();
String model = bd.MODEL;
return model;
}


/**
* 获得屏幕尺寸大小

* */
public static Size getWindowSize(Context context) {

WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
Size winSize = new Size(wm.getDefaultDisplay().getWidth(), wm
.getDefaultDisplay().getHeight());
return winSize;
}


/**
* 获得当前 系统 年月日

* */
public static String getTime() {
Time time = new Time();
time.setToNow(); 
return time.year+"-"+(time.month+1)+"-"+time.monthDay+"-"+time.hour;
}
/**
* 获取本机串号imei

* */
public static String getIMEI(Context context) {
TelephonyManager telephonyManager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
return telephonyManager.getDeviceId();
}


/**
* 判断SD卡是否存在

* */
public static boolean ExistSDCard() {
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
return true;
} else
return false;
}


/**
* SD卡剩余空间

* */
public static long getSDFreeSize()
{
File path = Environment.getExternalStorageDirectory();
StatFs statfs = new StatFs(path.getPath());
//获得单个数据块的大小
long blocksize = statfs.getBlockSize();
//获得空闲数据块的个数
long freeblock = statfs.getAvailableBlocks();
return (freeblock*blocksize)/1024/1024; //单位MB

}
/**
* SD卡总容量

**/
public static long getSDALLsize()
{
File path = Environment.getExternalStorageDirectory();
StatFs statfs = new StatFs(path.getPath());
//获得单个数据块的大小
long blocksize = statfs.getBlockSize();
//获得全部数据块的个数
long allBlock = statfs.getBlockCount();
return (allBlock*blocksize)/1024/1024; //单位MB
}


/**
* 判断文件夹是否存在,不存在就创建文件目录SD/wlcache
* return 
**/
public static boolean ExistFile()
{
File file = new File(sd_card);
if (!file.exists()) {
file.mkdir();
return true;
}
return true;
}
/**
* 判断wifi是否可用 turn 是 false 否
* return 
**/
public static boolean WifiAvailable(Context context)
{
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if(networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI)
{
return true;
}
return false;
}
/**
* 判断GPS是否打开
* return 
**/
public static boolean ExistGPS(Context context)
{
LocationManager locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
if(locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER))
{
return true;
}
return false;

}
/**
* 判断移动网络是否可用
* return 
**/
public static boolean MobileAvailable(Context context)
{
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if(networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE)
{
return true;
}
return false;
}
/**
* 判断网络是否可用
* return 
**/
public static boolean NetAvailable(Context context) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo != null) {
return true;
}
return false;
}
/**
* 判断apk是否是第一次启动
* return 
**/
public static boolean APKFirstSt(Context context)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean firstTime = prefs.getBoolean("com.vieworld.function", true);
if (firstTime){
Editor pEdit = prefs.edit();
pEdit.putBoolean("com.vieworld.function", false);
pEdit.commit();
}
return firstTime;
}
/**
* 获得当前包的版本号
* return 
**/
public static String ApkVersionCode(Context context)
{
PackageManager pack = context.getPackageManager();
PackageInfo packageInfo = null;
String versionCode = null;
try {
packageInfo = pack.getPackageInfo(context.getPackageName(), 0);
versionCode = packageInfo.versionName;
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return versionCode;
}
/**
* 判断apk是否需要跟新
**/
public static boolean IsApkUpdata(String versionCode,String newversionCode)
{
System.out.println(versionCode+"="+newversionCode);
if(newversionCode.equals(versionCode ))
{
return true;
}
else
return false;
}
}

本文转载自:http://blog.csdn.net/qq_18413391/article/details/52770524

共有 人打赏支持
luhang
粉丝 3
博文 15
码字总数 571
作品 0
长宁
程序员
手机开发-如何查看android数据文件和数据库

在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看。android项目中的sqlite数据库位于/data/data/项目包/databases中。 工具/原料 doc命令adb工具,ecl...

娶到笨笨
2014/03/14
0
0
Android开发工具Android Studio、Android SDK和Genymotion完全配置

所谓“工欲善其事,必先利其器”。Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试...

游走于代码之间
08/17
0
0
Android 开发者必备的十大开发工具

Android SDK提供了一系列可帮助开发者设计、创建、测试和发布Android应用程序的强大工具,以下是游戏邦编译developer推荐的10款最常用的开发工具。 1.Eclipse w/ADT   虽然Eclipse并非唯一...

小梅菜鸟
2012/04/20
0
0
Windows 下Android 开发环境配置

Android SDK提供了一系列可帮助开发者设计、创建、测试和发布Android应用程序的强大工具,以下是游戏邦编译developer推荐的10款最常用的开发工具。 1.Eclipse w/ADT   虽然Eclipse并非唯一...

小梅菜鸟
2012/04/20
0
0
gen下R文件消失 && 工程无故报错

一、R文件失踪案 1. 背景: 前些时候,在进行Android程序开发过程中帮助同学修改xml代码时候,偶尔会出现R类文件离奇失踪事件,当时经过一些恢复操作无果后,只好重建一个工程。由于R类文件在...

zhengguogaun
2013/06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Maven 项目中依赖的搜索顺序

ettings_mirror 的优先级高于 central settings_profile_repo 优先级高于 settings_mirror settings_profile_repo 优先级高于 pom_repositories settings_profile_repo 优先级高于 pom_prof......

xingyu4j
14分钟前
1
0
改变maven项目的名称

pom.xml <groupId>com.soft.xxx</groupId><artifactId>xxx</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>xxx Maven Webapp</name><build>......

1713716445
15分钟前
2
0
windows下按照RabbitMQ

rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平...

zhaochaochao
16分钟前
2
0
10个PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的10个开源的Php比特币项目,将有助于你了解在自己的应用中如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方法...

笔阁
23分钟前
14
0
MyBatis级联探讨

数据模型 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper name......

职业搬砖20年
27分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部