文档章节

android 项目常用工具方法

luhang
 luhang
发布于 2017/02/09 13:27
字数 520
阅读 3
收藏 0
点赞 0
评论 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 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
Android性能分析工具简介

在Android项目开发工程中,功能开发只是其中的一部分,更多的时候是优化,优化除了个人的良好习惯,往往还需要借助第三方工具。本文罗列Android优化过程中的一些常用工具借助这些工具,可以很...

code_xzh
05/02
0
0
众多Android开源项目推荐

标签:android 开源 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责任。http://terryblog.blog.51cto.com/1764499/547777 FBReaderJ ...

effort_fan
2011/05/10
0
3
eclipse下android项目解决方法数id超过65535

java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536 你的应用中的Dex 文件方法数超过了最大值65536的上限,简单来说,应用爆棚了. 那么让我们看一下为什么会引起这种错...

chuxuezhe_
2014/12/10
0
11
Android基础知识——Android SDK Manager详解

做Android开发时,免不了使用Android SDK Manager,安装需要的sdk版本、buildTools版本等等。下图展示了2016.11.16号Android SDK Manager所有的package。很多Android开发的新人在使用的时候可...

RobertZou
07/12
0
0
Flutter学习总结----第一章、Flutter基础

Flutter学习总结: 更多相关内容和示例代码,请看我的github: https://github.com/AweiLoveAndroid/Flutter-learning 第1章、基础入门 1.1 Flutter简介 1.1.1 跨平台框架的发展历史 详情请看...

AWeiLoveAndroid
06/21
0
0
android:configChanges属性

APP运行时,一些设备的配置可能会改变,如:横竖屏的切换、键盘的可用性等会导致Activity重启,即oncreate会被再次调用, 如果oncreate方法中有向服务器请求的方法,那么悲剧就会发生,相当于...

姬鑫
2015/01/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部