- 浏览: 246411 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
江恂泽:
楼主 这家伙会把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 896InputManager 由UI控件(View,TextVie ... -
IMF简介-1
2013-07-09 17:51 818Input Method Framework 目录 ... -
输入法 总结-3
2013-07-08 15:02 852public class MainActivity exten ... -
输入法 总结-4
2013-07-04 17:29 938public class InputActivity exte ... -
输入法 总结-3
2013-07-04 17:28 861public class InputApplication e ... -
输入法 总结-2
2013-07-04 17:23 777openwnn_pref_ja.xml <?xml v ... -
输入法 总结-2
2013-07-04 17:21 13openwnn_pref_ja.xml <?xml v ... -
输入法 总结-1
2013-07-04 17:19 798<application android ... -
Android快捷键
2013-03-15 14:39 829Home键(小房子键) 在 ... -
如何通过wifi调试android程序
2013-02-27 15:48 770android手机居然可以通过wifi进行程序的调试,太好了, ... -
Please ensure that adb is correctly located at 'D:\android-sdk-windows\platform-
2013-02-27 14:27 1659adt 出现ADB server didn't ACK, fa ... -
Android AsyncTask
2013-02-19 09:35 1122AsyncTask是抽象类,子类 ... -
Android ViewPager 左右滑动2-1
2013-01-29 10:12 1496public class PagerActivity exte ... -
Android ViewPager 左右滑动-3
2013-01-29 10:10 1102<?xml version="1.0" ... -
Android ViewPager 左右滑动-2
2013-01-29 10:10 1470/*** * 选中效果 */ pu ... -
Android ViewPager 左右滑动-1
2013-01-29 10:09 1384Store extends ActivityGroup imp ... -
Android 下载
2013-01-27 00:59 912下载apk程序代码 protected File downLo ... -
Android SDCard操作-3
2013-01-26 18:31 885public static Intent getVid ... -
Android SDCard操作-2
2013-01-26 18:30 1112/** * 判断该应用在手机中的安装情况 ... -
Android GridView显示图片
2013-01-05 22:52 6130package com.example.dynamicimag ...
相关推荐
android应用开发中关于SDCard读写操作的实例代码,在下载学习SDCard操作中,碰到很棘手的问题了。不过最后还在我的坚持下成功了,
### Android中SDCard的读写操作详解 #### 一、SDCard访问概述 在Android开发过程中,对于外部存储(如SDCard)的读写是非常常见的需求。本文将详细介绍如何在Android应用中对SDCard进行读写操作,包括获取缓存目录...
Android SDCard 操作(文件读写、容量计算) Android SDCard 操作是指在 Android 系统中对 SD 卡的读写和容量计算操作。SD 卡是 Android 设备中的一种外部存储设备,用于存储数据、音乐、图片、视频等文件。 ...
总的来说,Android中的SDCard数据存储涉及到文件操作、权限管理、版本适配等多个方面,理解并熟练运用这些知识对于开发高效、稳定的Android应用至关重要。通过阅读和分析源代码,我们可以更深入地了解这一过程。
### Android SDCard操作(文件读写,容量计算) #### 概述 本文将详细介绍如何在Android应用中进行SDCard的操作,包括文件的读写以及容量的计算等内容。通过掌握这些知识点,开发者能够更好地利用外部存储空间来提高...
### Android平台上SDCard的自动mount的解决方法 在Android设备中,SDCard(Secure Digital Card)作为外部存储介质被广泛使用。为了使Android系统能够自动识别并挂载SDCard,需要进行一系列配置与调试工作。本文将...
在Android开发过程中,对SDCard的操作是至关重要的,因为它是应用程序扩展存储空间的主要途径。本文主要探讨了如何在Android模拟器上创建和管理SDCard镜像文件,以及如何使用ADB工具进行文件的推送和拉取。 首先,...
-avd android-G1 -sdcard C:\android_sdcard.img ``` 对于真实设备,可以通过ADB(Android Debug Bridge)工具将文件推送到SD卡中。例如,将文件`test.txt`推送到SD卡根目录下的命令如下: ``` adb push test.txt ...
本篇文章将详细探讨如何在Android应用中实现对外置SDCard的读取、创建、写入和删除操作。 首先,获取外置SDCard的路径是进行任何操作的第一步。在Android中,外置SDCard的路径通常是`/storage/emulated/0/`,但这并...
本篇将详细讲解如何在Android系统下,尤其是通过命令行来操作SDCard,而非依赖图形界面工具。 首先,理解Android中的外部存储分为两个部分:内部存储和外部存储。内部存储是设备自带的存储空间,通常用于存放应用...
在Android平台上,对SDCard(外部存储)进行文件读写是常见的操作,尤其对于需要存储用户数据或资源的应用来说更是必不可少。本实例将探讨如何在Android应用中实现SdCard的读写功能。 首先,我们需要了解Android对...
// SDCard可用,执行读写操作 } else if (Environment.getExternalStorageState().equals(Environment.MEDIA_REMOVED)) { // SDCard已移除,显示提示信息 } ``` #### 二、获取SDCard路径和基本信息 如果SDCard的...
// 处理文件操作异常 } } private String getDeviceInfo() { // 获取设备信息,如型号、Android版本等 } private String getStackTraceString(Throwable throwable) { // 将堆栈跟踪转换为字符串 return Log....
本文将深入解析“Android应用源码SdCard读写文件实例”中的关键知识点,帮助开发者理解和实践Android系统中关于外部存储的API。 首先,Android为开发者提供了`java.io`和`android.os.Environment`两个主要的类来...
在Android系统中,与SD卡交互是常见的操作,特别是在存储用户数据或应用资源时。本文将深入探讨如何在Android中创建和删除SD卡上的文件夹,以及如何利用ListView和BaseAdapter来显示这些文件夹信息。 首先,让我们...
本篇将详细介绍在Android 2.3及更高版本中,如何获取和操作Android设备的内存目录以及SDCard目录。 首先,我们要理解Android的存储架构。内部存储主要用于存储应用私有的数据,这些数据对其他应用是不可见的。而...
在Android平台上,对SDCard(外部存储)进行文件操作是应用程序与用户交互的重要部分,尤其对于需要存储大量数据或媒体文件的应用来说。本教程将详细解释如何在Android中读写SDCard文件,非常适合初学者入门。 首先...
本实例将深入探讨如何在Android设备上实现SD卡文件的操作以及如何检测Wi-Fi的状态。这些功能对于创建涉及数据存储和网络通信的应用至关重要。 首先,我们来看SD卡文件读写。Android系统允许应用程序在外部存储...