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实用代码七段(五)
前言 每次分享意味着每次都有进步,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯 ...
- Android实用代码七段(四)
声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.发送不重复的通知(Notif ...
- Android实用代码七段(三)
正文 一.获取已经安装APK的路径 PackageManager pm = getPackageManager(); for (ApplicationInfo app : pm.getInstall ...
- Android 实用代码七段(二)
声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.获取应用程序下所有Acti ...
- Android 实用代码七段(一)
前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: htt ...
- Android实用代码七段(一)
前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: htt ...
- Android实用代码七段(二)
正文 一.获取应用程序下所有Activity public static ArrayList<String> getActivities(Context ctx) { Arra ...
- Android 实用代码片段
一些不常见确又很实用的代码块. 1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ct ...
- Android实用代码片段
有时候,需要一些小的功能,找到以后,就把它贴到了博客下面,作为留言,查找起来很不方便,所以就整理一下,方便自己和他人. 一. 获取系统版本号: 1 PackageInfo info = this.g ...
随机推荐
- win2008 r2 远程桌面问题
今天去机房给三台服务器上架,装了2008 R2系统,客户要求从外面通过公网IP能够访问服务器桌面,三台服务器都安装了远程协助的功能,结果有两台能正常访问,另外一台始终连不上,不知道哪个地方设置有问题, ...
- mysql 常用命令搜集
查看MYSQL数据库中所有用户及拥有权限 mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query F ...
- Ubuntu 14.04为浏览器添加Flash插件
在刚安装好到Ubuntu操作系统中默认是没有flash支持到,因此,当我们使用浏览器查看很多视频网页到时候,会导致网页上到视频无法播放.然而,这个问题我们也不能够通过“软件中心”来解决,这时候需要我们 ...
- JS判断输入框值是否为空
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Python3.4 多线程
线程安全和全局解释器锁 Thread State and the Global Interpreter Lock 总结: 通过使用GIL后, Python多线程安全, 并且数据保持同步. Python ...
- poj 3013 Big Christmas Tree Djistra
Big Christmas Tree 题意:图中每个节点和边都有权值,图中找出一颗树,树根为1使得 Σ(树中的节点到树根的距离)*(以该节点为子树的所有节点的权值之和) 结果最小: 分析:直接求出每个 ...
- 破坏之王——ddos攻击与防范 读书笔记
好久没写博客了,最近把绿盟的<破坏之王——ddos攻击与防范>又翻了一下,整理了关于DDOS分类和原理的xmind图~~ 百度云盘:http://pan.baidu.com/s/1i3ms ...
- 如何在一整张背景图中,加隐形的a标签
很常见的一个需求,就上图每个国家图标都得加上各自指定的a标签 这时,我们就可以去加上隐藏且定位准确的几个a标签 这个时候,主要用到的就是text-indent和overflow 这两个属性的配合.te ...
- bool([x]) 将x转换为Boolean类型
>>> a = 1 >>> b = 0 >>> c = "None" >>> d = bool(a) > ...
- 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,-你 ...