Android实用代码七段(三)

it2024-11-05  12

正文 

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

转载于:https://www.cnblogs.com/SZ2015/p/4749984.html

相关资源:数据结构—成绩单生成器
最新回复(0)