我正在开发一个移动应用程序,它通过Web服务调用从Web服务器检索一些数据。使用API密钥调用不同的Web服务。现在问题是必须如何以及在何处存储此API密钥?值得注意的是,通过HTTPS协议进行通信。
答案 0 :(得分:0)
您可以使用res-> values-> strings.xml
但是如果你想让它更安全,你可以使用Api。假设你有一个名为www.myapiKeysHolder.com的api。这个api rechive一个帖子数据" app_pkg"如果这是您的应用程序包名称,那么它会将您的api密钥作为响应提供。然后,您可以将此密钥保存在sqlite数据库或共享性能中 一些样品来找你:
// Create AsycHttpClient object
AsyncHttpClient client = new AsyncHttpClient();
// Http Request Params Object
RequestParams params = new RequestParams();
params.put("app_pkg", getPackageName().toString());
client.post("www.myapiKeysHolder.com", params, new
AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
String api=response; //Api give your Api Key
updateSQLite("api_key",api);
}
});
要支持此代码,您需要此jar文件 https://www.dropbox.com/s/ofjcyo7zz1q86p7/android-async-http-1.3.1.jar
抱歉我的英语不好。