我创建了一个新的硬件配置文件,试图为Galaxy S8/S8 +制作和模拟器.我将屏幕尺寸设置为5.8/6.2英寸(取决于是否S8或S8 +,尽管事实上这似乎不会影响模拟器),屏幕分辨率为1440 x 2960,就像设备一样.模拟器看起来没有像在真实设备上那样.在真正的S8 +上测试我的应用程序显示它布局不佳,但在模拟器上它看起来相对有条理,我注意到它使用了我的Nexus 6模拟器(xxxhdpi)的尺寸.现在使用的尺寸值并不是什么大问题,因为我很高兴逐步淘汰Nexus 6,因为它已经不再生产了.
所以我在我的启动器Java类中添加了一些代码,它让我得到了模拟器的尺寸,这是我从S8仿真器得到的:{density=3.5, width=1440, height=2792, scaledDensity=3.5, xdpi=560.0, ydpi=560.0}
除了事实高度是2792而不是2960(我认为这是发生的),我相信我看到了问题 - 密度是3.5.可疑,这与Nexus 6的密度相同.所以我创建的模拟器不适用于Galaxy S8,这在我与真实的S8 +的比较中很明显,后者以扭曲的方式显示我的应用程序.据我所知,Galaxy S8的密度为4,而不是3.5.IDE说设备有560dpi.现在我需要能够创建一个密度为4的模拟器,并且我已经放下了相同的规格.我怎样才能做到这一点?如何在不使用真品的情况下测试Galaxy S8?IDE提供的此设备没有预配置的仿真器.
提前谢谢了.
Google Developer Console显示我的应用在过去一个月内收到了两个相同的错误,但这RuntimeException
并未指定错误源自的类或文件.我没有具体的具体内容.以下是两个不同设备的错误:
三星Galaxy S8 Active(cruiserlteatt),4096MB RAM,Android 7.0第1页,共2页
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2984)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3045)
at android.app.ActivityThread.handleRelaunchActivity
(ActivityThread.java:4978)
at android.app.ActivityThread.-wrap21 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1648)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6781)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)
Run Code Online (Sandbox Code Playgroud)
三星Galaxy S7(heroqltespr),4096MB RAM,Android 7.0报告2 of 2
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity
(ActivityThread.java:2947)
at android.app.ActivityThread.handleLaunchActivity
(ActivityThread.java:3008)
at android.app.ActivityThread.handleRelaunchActivity
(ActivityThread.java:4974)
at android.app.ActivityThread.-wrap21 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1656)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6688)
at java.lang.reflect.Method.invoke (Native Method) …
Run Code Online (Sandbox Code Playgroud) 这里有一些代码在点击按钮后成功分享了一个链接到Facebook:
public void onClick(View view) {
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("A title")
.setContentDescription("Some description.")
.setContentUrl(Uri.parse("www.website.com"))
.build();
shareDialog.show(linkContent);
}
}
Run Code Online (Sandbox Code Playgroud)
使用Android Studio时,不推荐使用".setContentTitle"和".setContentDescription",并在其中添加一行.当我发布链接时,它是共享的,没有标题和描述.我认为这是因为它们已被弃用.
我怎么能添加标题和描述?被弃用的条款取代了什么?这不是预先填写的帖子,Facebook完全摆脱这些功能是没有意义的.我尝试了几个不同的链接作为URL,没有一个对这个问题产生影响.
提前谢谢了.
修改:请注意,元标记不是一个选项,因为如果我要链接到Google Play商店中的某个应用,我无法控制该网页的标签.我希望从应用程序中提供标题/描述,以前可能使用提到的已弃用功能.
我读了3年前的文章,强调了为什么Jcenter比Maven Central更好的选择,其中一个主要原因是通过CDN分发的HTTPS传输.Maven Central有HTTP,Maven存储库是否还使用HTTP?
他们升级到HTTPS,匹配他们的竞争对手是有意义的(尽管Jcenter擅长的其他领域).他们这样做了吗?
另外,我想问为什么使用CDN可以增强安全性.如果不是通过CDN,Maven Central如何分发其库?
提前谢谢了.
android ×3
java ×2
build-system ×1
dependencies ×1
facebook ×1
galaxy ×1
jcenter ×1
maven ×1
repository ×1
screen ×1
sdk ×1
share ×1