Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Android中使用C代码访问共享首选项?

如何在Android中使用C代码访问共享首选项?
EN

Stack Overflow用户
提问于 2021-07-08 08:46:40
回答 1查看 32关注 0票数 0

有没有一种方法可以在.so文件中读取(无需编写)与C代码共享的首选项?我有一个应用程序,它提供了一个.so库到其他应用程序。我的应用程序的Java代码只检查许可证,并向共享首选项中写入一些内容。.so库每次被其他应用程序调用时都需要读取共享的首选项。这有可能吗?

如果不能使用共享首选项,是否可以使用其他类型的文件?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-07-08 10:45:47

以您选择的方法请求context对象,然后像使用JNI中的任何其他SharedPreferences一样访问该api:

代码语言:javascript
运行
AI代码解释
复制
jclass clsContext = (*env)->FindClass(env, "android/content/Context");
jclass clsShared = (*env)->FindClass(env, "android/content/SharedPreferences");
jmethodID methodGetSharedPreferences = (*env)->GetMethodID(env, clsContext, "getSharedPreferences", "whatever signature this method has");

你需要研究一下JNI,它既冗长又复杂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68298344

复制
相关文章
如何在C代码中插入移位寄存器
在C代码中插入寄存器时,需要添加头文件ap_shift_reg.h,如下图所示。这个案例中移位寄存器的深度为4(由DEPTH确定),这可以理解为4个寄存器级联。输出q取0号寄存器(由ADDR确定)输出。
Lauren的FPGA
2020/04/08
1.3K0
如何在C代码中插入移位寄存器
使用NDK下的GCC工具编译c代码至android设备中运行
这是因为缺少相应的依赖库导致的,在我们使用arm-none-linux-gnueabi时直接在命令行后面添加-static即可,但是使用arm-linux-androideabi则不行
乱码三千
2021/08/24
2.6K0
如何在代码中处理时间
在国际化应用中,对日期/时间的处理远比你想象中的更难,特别是当涉及到时区的时候。为什么会这么难?我们该如何解决它?请听我为你一一解析。几乎所有的系统都离不开“时间”的概念,以至于大多数语言(及其默认库)都定义了日期/时间等类型。但是,我们日常所说的“时间”这个词实际上包含了多个相似却有微妙差异的概念。如果不能分清它们,会给你的开发工作带来很多烦恼。
ThoughtWorks
2021/09/15
1.6K0
Android学习笔记(十四)方便实用的首选项-PreferenceActivity
codingblock
2017/12/29
1K0
Android学习笔记(十四)方便实用的首选项-PreferenceActivity
C代码中如何使用链接脚本中定义的变量?
https://sourceware.org/ml/binutils/2007-07/msg00154.html
韦东山
2020/09/30
4.1K0
如何在代码中应用设计模式
因为我们的项目的需求是永远在变的,为了应对这种变化,使得我们的代码能够轻易的实现解耦和拓展。如果能够保证代码一次写好以后都不会再改变了,那可以想怎么写怎么写了。
本人秃顶程序员
2019/04/24
8950
如何在代码中应用设计模式
如何在敲代码中收获快乐?
也有人说,年轻的时候喜欢编程,但是因为积累的不多,碰到问题和bug的时候感觉压力大,手忙脚乱。
老九君
2020/06/04
7750
如何在 Chrome 中执行 JavaScript 代码
要在浏览器中执行 JavaScript 脚本,首先你的浏览器得支持。现在主流推荐 Chrome 浏览器,也可以使用基于 Chromium 的 Edge 浏览器。下面来介绍如何在 Chrome 中打开开发者工具,以及如何在开发者工具中运行调试 JavaScript 代码。
村雨遥
2022/03/14
6.2K0
如何在 Chrome 中执行 JavaScript 代码
如何在代码中应用设计模式
因为我们的项目的需求是永远在变的,为了应对这种变化,使得我们的代码能够轻易的实现解耦和拓展。如果能够保证代码一次写好以后都不会再改变了,那可以想怎么写怎么写了。
lyb-geek
2019/11/22
8620
nodejs使用aes-128-ecb加密如何在c#中解密
却发现C#端怎么也解密不了,一直报错,改了一整天,后来终于发现,nodejs端加密用的key其实在使用之前已经使用md5加密了一次,而这个操作是默认的,暂时没发现有配置可以默认去掉,服务端如果需要使用这个key解密,则需要也同样使用MD5加密
frontoldman
2019/09/03
2.6K0
Ubuntu18.04上使用LLDB调试Chromium Android C++代码
Chromium Android源代码庞大且复杂。 在调试器LLDB下能帮助我们更好的理解代码流程。 介绍使用LLDB调试器调试android上chromium的C++代码。
望天
2019/07/11
2.4K0
如何在C中定义多行宏定义?
请参阅下面的示例,其中我将交换两个变量的值。 do-while(0)结构很不错 #include <stdio.h> #define swap(x,y,T) do { \ T temp = (*x);\ (*x) = (*y); \ (*y) = temp; \ } while (0) int main(void) { int a = 5; int b = 9; printf("Value of a and b before swaping\n"
用户4645519
2020/09/08
2.6K0
如何在C中定义多行宏定义?
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
29.9K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
爬虫|如何在Pycharm中调试JS代码
最终调试完需要将相关代码拿到本地,因为最终是在本地环境执行。这时候可能又会遇到各种参数未定义等报错
Python编程与实战
2020/05/29
3K0
如何在React中写出更好的代码
在React中编写更好的代码的提示,关于Linting、propTypes、PureComponent和其他几个点,帮你编写更好的代码。
用户6835371
2021/09/03
2.6K0
如何在React中写出更好的代码
如何在IDE中查看java源代码
1、首先依次点击windows->preference->java->install JARs->选中你的jre->点击Duplicate
Java架构师必看
2021/12/21
1.7K0
如何在IDE中查看java源代码
点击加载更多

相似问题

从不同活动访问共享首选项(Android)

31

在Android中隐藏或阻止访问共享首选项文件

20

Android -如何在代码中设置首选项

30

跨活动访问共享首选项

12

从服务访问共享首选项

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文