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());
                }
            }
        });
    }
复制代码

 

转载:http://www.cnblogs.com/over140/archive/2013/05/20/2948239.html

目录
相关文章
|
3天前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
3天前
|
人工智能 IDE 开发工具
Studio Bot - 让 AI 帮我写 Android 代码
Studio Bot - 让 AI 帮我写 Android 代码
171 1
|
10月前
|
IDE 数据可视化 Java
Android自动生成代码,可视化脚手架之基础信息配置
今天的内容比较简单,大致过一下Electron一些基本用法,虽然说这些比较简单,但又是不得不去了解的,正如做Android的我们,也不是一上来就会的,需要一个循序渐进的过程,下一章,我们再去实际的开发功能。
144 0
|
14小时前
|
达摩院 安全 Java
80 PM撸代码之Android【武侠讲封装、继承、多态】
80 PM撸代码之Android【武侠讲封装、继承、多态】
7 0
|
3天前
|
Ubuntu Android开发 数据安全/隐私保护
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
|
3天前
|
Java Android开发
Android 长按桌面显示菜单的代码
Android 长按桌面显示菜单的代码
11 0
|
3天前
|
Java Android开发
Android 切换壁纸代码流程追踪
Android 切换壁纸代码流程追踪
15 0
|
3天前
|
Shell Android开发
Android Activity重写dump方法实现通过adb调试代码
Android Activity重写dump方法实现通过adb调试代码
17 0
|
3天前
|
Java API Android开发
Android系统升级A/B分区OTA升级应用层调用UpdateEngine代码
Android系统升级A/B分区OTA升级应用层调用UpdateEngine代码
23 0
|
3天前
|
Android开发
android studio 重新将module中的代码加入到自己项目中,报错找不到SO文件。
android studio 重新将module中的代码加入到自己项目中,报错找不到SO文件。
10 1