我遇到了一个奇怪的问题,当手机重启时,我的应用程序的SharedPreference似乎丢失了一些特定的键(不是全部).
你有没有遇到过这个问题?我用那个键来存储一个序列化的对象,我在自己的Application类中做了.
public class Application extends android.app.Application {
static String key = "favs";
SharedPreferences settings;
public Favs favs;
@Override
public void onCreate() {
super.onCreate();
settings = PreferenceManager.getDefaultSharedPreferences(this);
String value = settings.getString(key, "");
if (value != null && value.length() > 0) {
try {
Favs = (Favs ) deSerialize(value.getBytes());
} catch (Exception ex) {
}
}
if(favs == null)
favs = new Favs ();
}
public void storeFavss() {
if (favs == null)
return;
try {
byte[] bytes = serialize(favs ); …Run Code Online (Sandbox Code Playgroud) 我检查了缓存路径/ usr/local/nginx/proxy_cache.我多次访问一些网址后找不到缓存文件.
我的配置:ngnix.conf
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
client_body_buffer_size 512k;
proxy_temp_file_write_size 128k;
proxy_temp_path /usr/local/nginx/proxy_temp;
proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Run Code Online (Sandbox Code Playgroud)
默认
server {
listen 80;
server_name 208.115.202.87;
location /test {
proxy_cache content;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 15m;
proxy_pass http://aaa.com/;
}
Run Code Online (Sandbox Code Playgroud) 在firefox中打开下面的html,您可以看到右边框和下边框丢失了,但是Chrome / IE很好,是firefox中存在错误还是我可以使用其他方法使其看起来与Chrome / IE相同?
<!DOCTYPE html>
<html>
<head>
<style>
* {font-size:20px}
div
{
width:400px;
height:400px;
background-color:lightgreen;
border:1px solid black;
transform-origin:0 0;
-moz-transform-origin:0 0;
-ms-transform-origin:0 0;
-webkit-transform-origin:0 0;
transform:scale(0.7);
-moz-transform:scale(0.7);
-ms-transform:scale(0.7);
-webkit-transform:scale(0.7);
}
</style>
</head>
<body style='margin:10px;padding:10px'><div>Hello. This is a DIV element.</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在连接谷歌例如:(https://finance.google.com/finance?q=NASDAQ%3AAAPL)与android okhttp客户端,但它抛出错误:
javax.net.ssl.SSLPeerUnverifiedException: Hostname www.google.com not verified:
certificate: sha256/7ygD2cyU8sl30bjSfYs6WWBQ1IZVLiPNK04Tfzf5VPk=
DN: CN=*.facebook.com,O=Facebook\, Inc.,L=Menlo Park,ST=California,C=US
subjectAltNames: [*.facebook.com, *.xx.fbcdn.net, *.fbsbx.com, *.xz.fbcdn.net, *.facebook.net, *.xy.fbcdn.net, *.messenger.com, fb.com, *.fbcdn.net, *.fb.com, *.m.facebook.com, messenger.com, facebook.com]
Run Code Online (Sandbox Code Playgroud)
2天后,我得到了
javax.net.ssl.SSLPeerUnverifiedException: Hostname www.google.com not verified:
certificate: sha256/H7hNBz7v4J3Nf2Mj+xzmfoq5xJRS8cXC0gZO+LO06eA=
DN: CN=syndication.twitter.com,OU=Twitter Security,O=Twitter\, Inc.,L=San Francisco,ST=California,C=US
subjectAltNames: [syndication.twitter.com, cdn.syndication.twitter.com, syndication-o.twitter.com, syndication.twimg.com, cdn.syndication.twimg.com, syndication-o.twimg.com]
at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:316)
Run Code Online (Sandbox Code Playgroud)
我试过了
builder.hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
但没有运气.
它也会抛出异常,如下所示:
javax.net.ssl.SSLHandshakeException: Connection closed by peer
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:324)
at …
我已经构建了一个使用Google Map功能的Android应用程序.我希望我的应用程序安装在不安装Google Map的手机上,在这种情况下,我会禁用地图功能.
清单文件中有一个"uses-library"标记,我该怎么办?
我想允许用户选择字体大小.
备件确实提供了这样做的功能,
ActivityManagerNative.getDefault().updateConfiguration(新的字体大小比例配置)
但这适用于所有Android应用程序.我想在我的应用程序的首选项中添加它,只对我的应用程序产生影响.
我试过下面的方法,它有时会起作用,但是第一次启动应用程序时,字体大小仍然是1.0比例.我不是为什么.我在我的活动的每个onCreate中添加了以下代码.
配置config = resources.getConfiguration(); config.fontScale = 1.5F; resources.updateConfiguration(config,mDisplayMetrics);
我能做什么?
我想知道当前mapview的两个点的距离或宽度和高度距离,单位为km.有没有任何android map api可以做到这一点?
我在iphone appstore中有一个应用程序,它有精简版和完整版.精简版有广告和有限的功能.
我想要做的是,我想让完整版免费并支持广告,所以精简版没有理由存在,然后我想从appstore中删除它.或者有没有方法将这两个应用程序合并为一个?在这种情况下,我的旧用户都可以升级到全新的全功能免费应用程序.
我需要清除它以使数据变得干净,我可以使用任何API吗?
我在自定义NSView中使用onKeyDown来检测keydown事件,当我输入普通键时它很好用,比如"a,b,c",但是当我按下ESC时它没有调用onkeydown函数,我想退出我的应用程序时用户按ESC键.
怎么做?
我需要一个cron工作,每个工作日每隔15分钟从8:00到16:00运行一次.
如何设置此cron作业的计划格式?
有谁知道如何获得即将到来的星期五20:00的NSDate?
我不知道android中的HttpClient是否有内置的缓存系统,那么我可以避免构建自己的.