- 浏览: 237094 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
江恂泽:
楼主 这家伙会把data 拆分开来 转换成day year形 ...
JsonUtil -
mdsp25xhm:
为何没有列表查询功能?
myBatis DAO封装
private static int INSTALLED = 0; // 表示已经安装,且跟现在这个apk文件是一个版本
private static int UNINSTALLED = 1; // 表示未安装
private static int INSTALLED_UPDATE = 2; // 表示已经安装,版本比现在这个版本要低,可以点击按钮更新
private Context context;
private List<MyFile> myFiles = new ArrayList<MyFile>();
public List<MyFile> getMyFiles()
{
return myFiles;
}
public void setMyFiles(List<MyFile> myFiles)
{
this.myFiles = myFiles;
}
public ApkSearchUtils(Context context)
{
super();
this.context = context;
}
/**
* @param args
* 运用递归的思想,递归去找每个目录下面的apk文件
* File file
*/
public void FindAllAPKFile(File file)
{
// 手机上的文件,目前只判断SD卡上的APK文件
// file = Environment.getDataDirectory();
// SD卡上的文件目录
if (file.isFile())
{
CommonUtil.log("-------------------------------");
String name_s = file.getName();
MyFile myFile = new MyFile();
String apk_path = null;
// MimeTypeMap.getSingleton()
if (name_s.toLowerCase().endsWith(".apk"))
{
apk_path = file.getAbsolutePath();// apk文件的绝对路劲
// System.out.println("----" + file.getAbsolutePath() + "" +
// name_s);
PackageManager pm = context.getPackageManager();
PackageInfo packageInfo = pm.getPackageArchiveInfo(apk_path,
PackageManager.GET_ACTIVITIES);
ApplicationInfo appInfo = packageInfo.applicationInfo;
/**获取apk的图标 */
appInfo.sourceDir = apk_path;
appInfo.publicSourceDir = apk_path;
Drawable apk_icon = appInfo.loadIcon(pm);
myFile.setApk_icon(apk_icon);
/** 得到包名 */
String packageName = packageInfo.packageName;
myFile.setPackageName(packageName);
/** 得到apk名 */
String appName = packageInfo.applicationInfo.loadLabel(pm)
.toString();
myFile.setAppName(appName);
/** apk的绝对路劲 */
myFile.setFilePath(file.getAbsolutePath());
/** apk的版本名称 String */
String versionName = packageInfo.versionName;
myFile.setVersionName(versionName);
/** apk的版本号码 int */
int versionCode = packageInfo.versionCode;
myFile.setVersionCode(versionCode);
/**安装处理类型*/
int type = doType(pm, packageName, versionCode);
myFile.setInstalled(type);
Log.i("ok", "处理类型:" + String.valueOf(type) + "\n"
+ "------------------我是纯洁的分割线-------------------");
myFiles.add(myFile);
}
// String apk_app = name_s.substring(name_s.lastIndexOf("."));
}
else
{
File[] files = file.listFiles();
if (files != null && files.length > 0)
{
for (File file_str : files)
{
FindAllAPKFile(file_str);
}
}
}
}
private static int UNINSTALLED = 1; // 表示未安装
private static int INSTALLED_UPDATE = 2; // 表示已经安装,版本比现在这个版本要低,可以点击按钮更新
private Context context;
private List<MyFile> myFiles = new ArrayList<MyFile>();
public List<MyFile> getMyFiles()
{
return myFiles;
}
public void setMyFiles(List<MyFile> myFiles)
{
this.myFiles = myFiles;
}
public ApkSearchUtils(Context context)
{
super();
this.context = context;
}
/**
* @param args
* 运用递归的思想,递归去找每个目录下面的apk文件
* File file
*/
public void FindAllAPKFile(File file)
{
// 手机上的文件,目前只判断SD卡上的APK文件
// file = Environment.getDataDirectory();
// SD卡上的文件目录
if (file.isFile())
{
CommonUtil.log("-------------------------------");
String name_s = file.getName();
MyFile myFile = new MyFile();
String apk_path = null;
// MimeTypeMap.getSingleton()
if (name_s.toLowerCase().endsWith(".apk"))
{
apk_path = file.getAbsolutePath();// apk文件的绝对路劲
// System.out.println("----" + file.getAbsolutePath() + "" +
// name_s);
PackageManager pm = context.getPackageManager();
PackageInfo packageInfo = pm.getPackageArchiveInfo(apk_path,
PackageManager.GET_ACTIVITIES);
ApplicationInfo appInfo = packageInfo.applicationInfo;
/**获取apk的图标 */
appInfo.sourceDir = apk_path;
appInfo.publicSourceDir = apk_path;
Drawable apk_icon = appInfo.loadIcon(pm);
myFile.setApk_icon(apk_icon);
/** 得到包名 */
String packageName = packageInfo.packageName;
myFile.setPackageName(packageName);
/** 得到apk名 */
String appName = packageInfo.applicationInfo.loadLabel(pm)
.toString();
myFile.setAppName(appName);
/** apk的绝对路劲 */
myFile.setFilePath(file.getAbsolutePath());
/** apk的版本名称 String */
String versionName = packageInfo.versionName;
myFile.setVersionName(versionName);
/** apk的版本号码 int */
int versionCode = packageInfo.versionCode;
myFile.setVersionCode(versionCode);
/**安装处理类型*/
int type = doType(pm, packageName, versionCode);
myFile.setInstalled(type);
Log.i("ok", "处理类型:" + String.valueOf(type) + "\n"
+ "------------------我是纯洁的分割线-------------------");
myFiles.add(myFile);
}
// String apk_app = name_s.substring(name_s.lastIndexOf("."));
}
else
{
File[] files = file.listFiles();
if (files != null && files.length > 0)
{
for (File file_str : files)
{
FindAllAPKFile(file_str);
}
}
}
}
发表评论
-
IMF简介-2
2013-07-09 17:56 845InputManager 由UI控件(View,TextVie ... -
IMF简介-1
2013-07-09 17:51 771Input Method Framework 目录 ... -
输入法 总结-3
2013-07-08 15:02 814public class MainActivity exten ... -
输入法 总结-4
2013-07-04 17:29 896public class InputActivity exte ... -
输入法 总结-3
2013-07-04 17:28 824public class InputApplication e ... -
输入法 总结-2
2013-07-04 17:23 731openwnn_pref_ja.xml <?xml v ... -
输入法 总结-2
2013-07-04 17:21 13openwnn_pref_ja.xml <?xml v ... -
输入法 总结-1
2013-07-04 17:19 762<application android ... -
Android快捷键
2013-03-15 14:39 761Home键(小房子键) 在 ... -
如何通过wifi调试android程序
2013-02-27 15:48 705android手机居然可以通过wifi进行程序的调试,太好了, ... -
Please ensure that adb is correctly located at 'D:\android-sdk-windows\platform-
2013-02-27 14:27 1597adt 出现ADB server didn't ACK, fa ... -
Android AsyncTask
2013-02-19 09:35 1051AsyncTask是抽象类,子类 ... -
Android ViewPager 左右滑动2-1
2013-01-29 10:12 1398public class PagerActivity exte ... -
Android ViewPager 左右滑动-3
2013-01-29 10:10 1054<?xml version="1.0" ... -
Android ViewPager 左右滑动-2
2013-01-29 10:10 1394/*** * 选中效果 */ pu ... -
Android ViewPager 左右滑动-1
2013-01-29 10:09 1326Store extends ActivityGroup imp ... -
Android 下载
2013-01-27 00:59 861下载apk程序代码 protected File downLo ... -
Android SDCard操作-3
2013-01-26 18:31 840public static Intent getVid ... -
Android SDCard操作-2
2013-01-26 18:30 1023/** * 判断该应用在手机中的安装情况 ... -
Android GridView显示图片
2013-01-05 22:52 6053package com.example.dynamicimag ...
相关推荐
Android模拟器sdcard操作 ,帮助我们更好学Android系统开发
android应用开发中关于SDCard读写操作的实例代码,在下载学习SDCard操作中,碰到很棘手的问题了。不过最后还在我的坚持下成功了,
具体介绍了android中sdcard的读写操作步骤和具体的实现过程,介绍了sdcard的应用等
Android_SDCard操作(文件读写,容量计算)Android_SDCard操作(文件读写,容量计算)
Android_SDCard操作(文件读写,容量计算).
获取外置SDcard路径,进行创建,写入,读取,删除操作。
1.加入sdcard操作权限; 2.确认sdcard的存在; 3.不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件; 实例如下: (1)在AndroidManifest.xml添加sdcard操作权限 <!-- sdcard权限 --> ...
主要是在模拟器上去建立系统的Sdcard镜像文件,和 push文件到device,
Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理,实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/...
SD卡 下面用命令操作,不是在 工具上操作,手动自己创建 外部的SDcard。
android外部存储文件操作,实现对sdcard上的文件进行操作
Android_SDCard操作(文件读写,容量计算)文件读写,容量计算
android 文件操作 输入流对象 输出流对象 SDCard读写
这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...
第一天 1>搭建Android开发环境 2> 创建与启动手机模拟器 3> 学习使用ANDROID操作系统 4> 开发与运行(卸载)第一个ANDROID应用 5> 项目的目录结构 6> 项目清单文件分析 7> 分析第一个ANDROID应用的启动过程 8> 电话拔...
一个关于文件操作的静态工具类 实现手机SD卡目录或文件的拷贝 移动 删除 递归 Demo中有详细注释 在进行Demo测试时 建议先把测试的文件备份一下在测试 否则删除就找不回了 具体可见我博客...实现手机SD卡目录或文件的...
有时我们需要删除android模拟器或手机上的sd卡文件,特别是... 您可能感兴趣的文章:Android用ListView显示SDCard文件列表的小例子android读取sdcard路径下的文件的方法Android对sdcard扩展卡文件操作实例详解andro
由于考虑到手机本身的存储空间小,这时候我们需要把文件存储在SDcard中,今天自己也学习了一下在android进行sdcard的存储使用方法; 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件...
将复制pc电脑中的 c:\ucliulanqi.apk 到 android手机中的/mnt/sdcard/目录下 4.复制完毕后,请你查看 /mnt/sdcard/下查看 这个ucliulanqi.apk文件。 5.想复制其他文件,请在源码中进行文件夹名字的改动以及在apk...
NULL 博文链接:https://z251257144.iteye.com/blog/1355245