在方法内部获取方法的名称

StackTrace st = new StackTrace();

//0:取本身方法,1:取调用方法

StackFrame sf = st.GetFrame(0);

 

string methodName = sf.GetMethod().Name;

string className = sf.GetMethod().ReflectedType.Name;

 

当你在一个Android库项目(通常以`.aar`格式发布)中想要在外部应用中调用其内部的资源文件,比如`raw`目录下的音频、图片等文件,你可以通过以下几种方法: 1. **资源引用**:在你的库的`AndroidManifest.xml`文件中声明资源,然后在其他项目中通过`@mipmap`, `@drawable`, 或者 `@raw`这样的前缀加上资源名称来访问。例如: ```xml <resources> <raw name="your_audio_file" /> </resources> ``` 在外部应用中: ```java InputStream is = context.getResources().openRawResource(R.raw.your_audio_file); ``` 2. **使用资源ID**:库项目可以提供一个公共的API,对外暴露资源的ID,外部应用可以直接使用这些ID: ```java public class MyLibrary { public static int AUDIO_FILE_ID; // 初始化... } ``` 在外部应用: ```java int resourceId = MyLibrary.AUDIO_FILE_ID; InputStream is = context.getResources().openRawResource(resourceId); ``` 3. **依赖管理**:确保在主项目的`build.gradle`中正确引入了库,并设置了资源依赖属性,如: ```gradle implementation 'com.example.mylibrary:mylibrary:version' resourcesRecursivelyDepends project(':mylibrary') ``` 4. **处理路径**:如果库允许,也可以提供一个预定义的路径,外部应用按照这个路径去找资源,虽然这不是官方推荐的方式。 注意,每次修改资源文件后,都需要更新`aar`包才能反映更改。同时,为了确保隐私和安全,避免直接将敏感资源暴露给外部应用,考虑使用ContentProvider或其他机制进行内容提供。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值