您的位置:首页 > 移动开发 > Android开发

Android实用代码七段(三)

2013-11-21 13:28 399 查看
一、获取已经安装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());

}

}

});

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: