zoukankan      html  css  js  c++  java
  • Android实用代码七段(三)

    前言

     终于又攒了一篇出来,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~

     

    声明
    欢迎转载,但请保留文章原始出处:) 
    博客园:http://www.cnblogs.com
    农民伯伯: http://over140.cnblogs.com 

     

    正文 

    一、获取已经安装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());
                    }
                }
            });
        }
    复制代码

     

     

    系列 

    Android实用代码七段(二) 

     

    Android实用代码七段(一) 

  • 相关阅读:
    个性化离线实时分析系统pora
    关于android上的定位
    Enthought Python Distribution :: Products :: Enthought, Inc.
    刘思喆@贝吉塔行星
    Bio and Geo Informatics: kmeans clustering in scipy
    RDataMining.com: R and Data Mining
    First steps in text mining with R
    “逻辑回归” 和 "线性回归" 的关系
    crontab 每月执行一次怎么写? Linux系统管理 ChinaUnix.net
    RDataMining.com: R and Data Mining
  • 原文地址:https://www.cnblogs.com/firecode/p/3145105.html
Copyright © 2011-2022 走看看