获取已经安装APK的路径 多进程Preferences数据共享 泛型ArrayList转数组 保存恢复ListView当前位置 调用便携式热点和数据共享设置 格式化 文件夹排

转载 2014年12月13日 23:51:57

一、获取已经安装APK的路径

PackageManager pm = getPackageManager();

for (ApplicationInfo app : pm.getInstalledApplications(0)) {
     Log.d("PackageList", "package: " + app.packageName + ", sourceDir: " + app.sourceDir);
}

  输出如下:

package: com.tmobile.thememanager, sourceDir: /system/app/ThemeManager.apk
package: com.touchtype.swiftkey, sourceDir: /data/app/com.touchtype.swiftkey-1.apk

  转载自这里。 

 

二、 多进程Preferences数据共享

复制代码
    public static void putStringProcess(Context ctx, String key, String value) {
        SharedPreferences sharedPreferences = ctx.getSharedPreferences("preference_mu", Context.MODE_MULTI_PROCESS);
        Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.commit();
    }

    public static String getStringProcess(Context ctx, String key, String defValue) {
        SharedPreferences sharedPreferences = ctx.getSharedPreferences("preference_mu", Context.MODE_MULTI_PROCESS);
        return sharedPreferences.getString(key, defValue);
    }
复制代码

  相关文章:

http://zengrong.net/post/1687.htm

 

三、泛型ArrayList转数组

复制代码
    @SuppressWarnings("unchecked")
    public static <T> T[] toArray(Class<?> cls, ArrayList<T> items) {
        if (items == null || items.size() == 0) {
            return (T[]) Array.newInstance(cls, 0);
        }
        return items.toArray((T[]) Array.newInstance(cls, items.size()));
    }
复制代码

 

四、 保存恢复ListView当前位置

复制代码
    private void saveCurrentPosition() {
        if (mListView != null) {
            int position = mListView.getFirstVisiblePosition();
            View v = mListView.getChildAt(0);
            int top = (v == null) ? 0 : v.getTop();
            //保存position和top
        }
    }
    
    private void restorePosition() {
        if (mFolder != null && mListView != null) {
            int position = 0;//取出保存的数据
            int top = 0;//取出保存的数据
            mListView.setSelectionFromTop(position, top);
        }
    }
复制代码

可以保存在Preference中或者是数据库中,数据加载完后再设置。 

 

五、调用 便携式热点和数据共享 设置

复制代码
    public static Intent getHotspotSetting() {
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_MAIN);
        ComponentName com = new ComponentName("com.android.settings", "com.android.settings.TetherSettings");
        intent.setComponent(com);
        return intent;
    }
复制代码

 

六、 格式化输出IP地址

    public static String getIp(Context ctx) {
        return Formatter.formatIpAddress((WifiManager) ctx.getSystemService(Context.WIFI_SERVICE).getConnectionInfo().getIpAddress());
    }

 

七、 文件夹排序(先文件夹排序,后文件排序)

 

复制代码
    public static void sortFiles(File[] files) {
        Arrays.sort(files, new Comparator<File>() {

            @Override
            public int compare(File lhs, File rhs) {
                //返回负数表示o1 小于o2,返回0 表示o1和o2相等,返回正数表示o1大于o2。 
                boolean l1 = lhs.isDirectory();
                boolean l2 = rhs.isDirectory();
                if (l1 && !l2)
                    return -1;
                else if (!l1 && l2)
                    return 1;
                else {
                    return lhs.getName().compareTo(rhs.getName());
                }
            }
        });
    }

调用 便携式热点和数据共享 设置

public static Intent getHotspotSetting() { Intent intent = new Intent(); intent.setA...
  • xiyangyang8110
  • xiyangyang8110
  • 2016-11-23 17:15:44
  • 230

笔记:动态改变数组-泛型类ArrayList<T>

Java中可以用泛型类数组ArrayList类解决程序在运行时数组大小改变的问题,在添加或删除元素时,可以自动调节数组容器的大小。指定存放对象的类型,需要将类型标注在尖括号内,并添加在ArrayLis...
  • ly417631931
  • ly417631931
  • 2016-03-04 17:12:46
  • 773

apk安装后数据存放的路径

/data/davlik-cache/   :存放释放的dex文件 /data/data/your apk/  :存放app的数据 /data/system/packages.list  ...
  • andylao62
  • andylao62
  • 2016-01-27 11:19:57
  • 4005

Python多进程数据共享之Array

# coding=utf-8 from multiprocessing import Process from multiprocessing import Array def agk(...
  • douyunqian668
  • douyunqian668
  • 2017-03-28 21:55:51
  • 770

python进程间共享数据

python的进程间共享数据可以通过multiprocess中的queue,pipe等现成的消息队列传递 也可以通过multiprocessing.manager创建共享的基本数据类型(如list,...
  • tpoy0099
  • tpoy0099
  • 2016-09-28 13:59:15
  • 836

ContentProvider跨进程共享数据

ContentProvider含义主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还保证被访数据的安全性。 内容提供器的用法一般有两种...
  • fumier
  • fumier
  • 2015-08-17 19:32:55
  • 874

Android跨进程数据共享——ContentProvider详解

一、ContentProvider介绍 作为android四大组件之一,ContentProvider可能是四大组件中我们用到最少的。 它作为跨进程数据共享来使用,而我们开发app的时候,基本上是独立...
  • yangzhaomuma
  • yangzhaomuma
  • 2015-12-01 09:16:13
  • 2481

进程间的数据共享

//========================================================================//TITLE://    进程间的数据共享//AU...
  • norains
  • norains
  • 2008-07-16 23:19:00
  • 10881

Android 获取便携式wifi热点开关状态、热点开启与关闭

最近做了这两个功能: 1.获取便携式wifi热点开关状态; 2.热点的开启与关闭。 第二个功能就不用说了,百度一搜一大把;第一个功能,在百度基本找不到,最后我是在google找到的,getWifi...
  • u013049709
  • u013049709
  • 2014-12-29 11:11:55
  • 6992

Laravel5.4中视图共享数据

每个人都会遇到这种情况:某些数据还在每个页面进行使用,比如用户信息,或者菜单数据,最基本的做法是在每个视图空控制器中传入这些数据,但显然并不是我们想要的结果。另一种方法就是使用视图数据共享,视图数据共...
  • qq_36663951
  • qq_36663951
  • 2018-01-13 13:49:12
  • 83
收藏助手
不良信息举报
您举报文章:获取已经安装APK的路径 多进程Preferences数据共享 泛型ArrayList转数组 保存恢复ListView当前位置 调用便携式热点和数据共享设置 格式化 文件夹排
举报原因:
原因补充:

(最多只允许输入30个字)