前言

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

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

正文 

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

  1. PackageManager pm = getPackageManager();
  2.  
  3. for (ApplicationInfo app : pm.getInstalledApplications(0)) {
  4. Log.d("PackageList", "package: " + app.packageName + ", sourceDir: " + app.sourceDir);
  5. }

  输出如下:

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

  转载自这里

二、 多进程Preferences数据共享

  1. public static void putStringProcess(Context ctx, String key, String value) {
  2. SharedPreferences sharedPreferences = ctx.getSharedPreferences("preference_mu", Context.MODE_MULTI_PROCESS);
  3. Editor editor = sharedPreferences.edit();
  4. editor.putString(key, value);
  5. editor.commit();
  6. }
  7.  
  8. public static String getStringProcess(Context ctx, String key, String defValue) {
  9. SharedPreferences sharedPreferences = ctx.getSharedPreferences("preference_mu", Context.MODE_MULTI_PROCESS);
  10. return sharedPreferences.getString(key, defValue);
  11. }

相关文章:http://zengrong.net/post/1687.htm

三、泛型ArrayList转数组

  1. @SuppressWarnings("unchecked")
  2. public static <T> T[] toArray(Class<?> cls, ArrayList<T> items) {
  3. if (items == null || items.size() == 0) {
  4. return (T[]) Array.newInstance(cls, 0);
  5. }
  6. return items.toArray((T[]) Array.newInstance(cls, items.size()));
  7. }

四、 保存恢复ListView当前位置

  1. private void saveCurrentPosition() {
  2. if (mListView != null) {
  3. int position = mListView.getFirstVisiblePosition();
  4. View v = mListView.getChildAt(0);
  5. int top = (v == null) ? 0 : v.getTop();
  6. //保存position和top
  7. }
  8. }
  9.  
  10. private void restorePosition() {
  11. if (mFolder != null && mListView != null) {
  12. int position = 0;//取出保存的数据
  13. int top = 0;//取出保存的数据
  14. mListView.setSelectionFromTop(position, top);
  15. }
  16. }

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

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

  1. public static Intent getHotspotSetting() {
  2. Intent intent = new Intent();
  3. intent.setAction(Intent.ACTION_MAIN);
  4. ComponentName com = new ComponentName("com.android.settings", "com.android.settings.TetherSettings");
  5. intent.setComponent(com);
  6. return intent;
  7. }

六、 格式化输出IP地址

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

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

  1. public static void sortFiles(File[] files) {
  2. Arrays.sort(files, new Comparator<File>() {
  3.  
  4. @Override
  5. public int compare(File lhs, File rhs) {
  6. //返回负数表示o1 小于o2,返回0 表示o1和o2相等,返回正数表示o1大于o2。
  7. boolean l1 = lhs.isDirectory();
  8. boolean l2 = rhs.isDirectory();
  9. if (l1 && !l2)
  10. return -1;
  11. else if (!l1 && l2)
  12. return 1;
  13. else {
  14. return lhs.getName().compareTo(rhs.getName());
  15. }
  16. }
  17. });
  18. }

Android 实用代码七段(三)的更多相关文章

  1. Android实用代码七段(五)

      前言  每次分享意味着每次都有进步,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯 ...

  2. Android实用代码七段(四)

    声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.发送不重复的通知(Notif ...

  3. Android实用代码七段(三)

    正文  一.获取已经安装APK的路径 PackageManager pm = getPackageManager(); for (ApplicationInfo app : pm.getInstall ...

  4. Android 实用代码七段(二)

    声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.获取应用程序下所有Acti ...

  5. Android 实用代码七段(一)

    前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: htt ...

  6. Android实用代码七段(一)

    前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: htt ...

  7. Android实用代码七段(二)

    正文 一.获取应用程序下所有Activity public static ArrayList<String> getActivities(Context ctx) {       Arra ...

  8. Android 实用代码片段

    一些不常见确又很实用的代码块. 1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ct ...

  9. Android实用代码片段

    有时候,需要一些小的功能,找到以后,就把它贴到了博客下面,作为留言,查找起来很不方便,所以就整理一下,方便自己和他人. 一.  获取系统版本号: 1 PackageInfo info = this.g ...

随机推荐

  1. win2008 r2 远程桌面问题

    今天去机房给三台服务器上架,装了2008 R2系统,客户要求从外面通过公网IP能够访问服务器桌面,三台服务器都安装了远程协助的功能,结果有两台能正常访问,另外一台始终连不上,不知道哪个地方设置有问题, ...

  2. mysql 常用命令搜集

    查看MYSQL数据库中所有用户及拥有权限 mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query F ...

  3. Ubuntu 14.04为浏览器添加Flash插件

    在刚安装好到Ubuntu操作系统中默认是没有flash支持到,因此,当我们使用浏览器查看很多视频网页到时候,会导致网页上到视频无法播放.然而,这个问题我们也不能够通过“软件中心”来解决,这时候需要我们 ...

  4. JS判断输入框值是否为空

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. Python3.4 多线程

    线程安全和全局解释器锁 Thread State and the Global Interpreter Lock 总结: 通过使用GIL后, Python多线程安全, 并且数据保持同步. Python ...

  6. poj 3013 Big Christmas Tree Djistra

    Big Christmas Tree 题意:图中每个节点和边都有权值,图中找出一颗树,树根为1使得 Σ(树中的节点到树根的距离)*(以该节点为子树的所有节点的权值之和) 结果最小: 分析:直接求出每个 ...

  7. 破坏之王——ddos攻击与防范 读书笔记

    好久没写博客了,最近把绿盟的<破坏之王——ddos攻击与防范>又翻了一下,整理了关于DDOS分类和原理的xmind图~~ 百度云盘:http://pan.baidu.com/s/1i3ms ...

  8. 如何在一整张背景图中,加隐形的a标签

    很常见的一个需求,就上图每个国家图标都得加上各自指定的a标签 这时,我们就可以去加上隐藏且定位准确的几个a标签 这个时候,主要用到的就是text-indent和overflow 这两个属性的配合.te ...

  9. bool([x]) 将x转换为Boolean类型

    >>> a = 1 >>> b = 0 >>> c = "None" >>> d = bool(a) > ...

  10. BZOJ 3713: [PA2014]Iloczyn

    Description 斐波那契数列的定义为:k=0或1时,F[k]=k:k>1时,F[k]=F[k-1]+F[k-2].数列的开头几项为0,1,1,2,3,5,8,13,21,34,55,-你 ...