博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 从清单配置文件元数据中获取值
阅读量:6833 次
发布时间:2019-06-26

本文共 1781 字,大约阅读时间需要 5 分钟。

最近在上班工作当中,也尝到了一些新的知识,现总结如下

(1)从AndroidManifest.xml配置文件中获取meta数据

// 从Manifest.xml配置文件中获取数据    public static String getMetaValue(Context context, String metaKey) {        Bundle metaData = null;        String metaValue = null;        if (context == null || metaKey == null) {            return null;        }        try {            ApplicationInfo ai = context.getPackageManager().getApplicationInfo(                    context.getPackageName(), PackageManager.GET_META_DATA);            if (null != ai) {                metaData = ai.metaData;            }            if (null != metaData) {                metaValue = metaData.getString(metaKey);            }        } catch (NameNotFoundException e) {        }        return metaValue;// xxx    } 

(2)获取layout文件中的一些控件,如下是一个Activity

public class CustomActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Resources resource = this.getResources();        String pkgName = this.getPackageName();        setContentView(resource.getIdentifier("custom_activity", "layout", pkgName));     // 获取pkgName包下名为custom_activity的一个layout文件         TextView titleView = (TextView) this.findViewById(resource.getIdentifier("title", "id", pkgName));     // 获取pkgName包下id为title的一个widget     }}

之后在AndroidManifest.xml中,对该Activity进行配置,配置包名为完全路径名。

下面是查看resource.getIdentifier()方法分析

public int getIdentifier(String name, String defType, String defPackage) {        try {            return Integer.parseInt(name);        } catch (Exception e) {            // Ignore        }        return mAssets.getResourceIdentifier(name, defType, defPackage);     // getResources().getIdentifier(name, defType, defPackage)    }

返回给定的resource_name所对应的标识符,类似于R文件中的id(个人理解)!

转载地址:http://hjtkl.baihongyu.com/

你可能感兴趣的文章
yum使用详细
查看>>
2.字符串
查看>>
Linux权限管理命令
查看>>
[转]关于strtok和strtok_r函数的深度研究
查看>>
ios-自定义点击状态栏滚回顶部
查看>>
Django现有模型增加字段
查看>>
解决IE6浏览器下position:fixed固定定位问题
查看>>
Rest分页接口开发
查看>>
Mybatis中oracle如何批量insert语句
查看>>
org.aspectj.lang.JoinPoint-中文简要API(转)
查看>>
面向对象知识
查看>>
数据库中算式的简单例子
查看>>
AVFoundation自定义拍照
查看>>
测试显示GitHub的Gist
查看>>
JavaScript学习——JavaScript基础
查看>>
JSP学习-07Cookie 与Session
查看>>
对对象使用[]的方式使用属性的一个例子的理解
查看>>
MS .NET企业级应用架构设计笔记1(关于业务层)
查看>>
【Codeforces Round #406 (Div. 2)】题解
查看>>
php基本语法
查看>>