Articles of android

`DialogInterface.dismiss()`和`DialogInterface.cancel()`有什么区别?

在android中使用对话框时可以取消它或解除它,但是什么时候使用dismiss以及何时使用取消? 他们之间有什么区别? 提前致谢。

Android选项菜单图标将不会显示

我正在阅读一本关于Android开发的书,让我开始编写我的第一个真正的应用程序。 我达到了我正在为我的一项活动制作选项菜单的地步。 菜单显示,但菜单项的相应图标拒绝显示。 这是菜单的代码: ReminderListActivity @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater mi = getMenuInflater(); mi.inflate(R.menu.list_menu, menu); return true; } RES /菜单/ list_menu.xml 我已将ic_menu_add.png图标(32x32px)从我的一个Android SDK子文件夹复制到我的res / drawable-mdpi文件夹,并将该文件重命名为menu_add.png。 我刷新了eclipse中的文件夹,所以图标显示出来,正如你所看到的,我将它设置为布局文件中菜单项的图标。 我尝试在模拟器中运行我的项目几次,但图标永远不会出现。 为了记录,我使用Android 4.0.3 .. 有任何想法吗?

有没有理由使用Google GCM和Apple消息进行推送通知?

Google拥有此Google Cloud Messaging信息,可与iOS集成 为同一目的使用Google Cloud Messaging或iOS有什么区别? 一个比另一个更有效吗? 电池或网络负载是否不同?

Android如何在活动之间传递LinkedHashMap?

我试图在活动之间传递LinkedHashMap,我的代码是这样的 活动A. LinkedHashMap mLinkedHashMap = new LinkedHashMap(); // setting data in map Bundle bundle = new Bundle(); bundle.putSerializable(“OBJECTS_LINKED_HASHMAP”, mLinkedHashMap); Intent intent = new Intent(this, ActivityB.class); intent.putExtras(bundle); startActivity(intent); 在Activity中,当我收到bundle对象时,我收到“Class cast exception”错误消息 活动B. Bundle bundle = this.getIntent().getExtras(); LinkedHashMap mLinkedHashMap = new LinkedHashMap(); mLinkedHashMap = (LinkedHashMap) bundle.getSerializable(“OBJECTS_LINKED_HASHMAP”); 获得类强制转换exception ClassCastException: java.util.HashMap cannot be cast to LinkedHashMap 我检查了文档LinkedHashMap也实现了Serializable接口。 我正在使用LinkedHashMap,因为我想维护对象顺序,他们按顺序插入我想要的方式。 如何在活动之间传递LinkedHashMap?

javax.net.ssl.SSLException:SSL握手中止在调用webservice Android时由对等方重置连接

我之前打电话给https webservice并且它的工作正常,但现在当我试图调用它时它会给我以下错误。 记录错误: 12-23 06:28:11.969: W/System.err(3014): javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x1cc160: I/O error during system call, Connection reset by peer 12-23 06:28:11.979: W/System.err(3014): at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native Method) 12-23 06:28:11.979: W/System.err(3014): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:474) 12-23 06:28:11.979: W/System.err(3014): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.(OpenSSLSocketImpl.java:750) 12-23 06:28:11.979: W/System.err(3014): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:692) 12-23 06:28:11.979: W/System.err(3014): at crittercism.android.aa.getInputStream(Unknown Source) 12-23 06:28:11.979: W/System.err(3014): at org.apache.http.impl.io.SocketInputBuffer.(SocketInputBuffer.java:93) 12-23 06:28:11.979: W/System.err(3014): […]

我为什么要在发布前签署我的应用程序APK

任何人都可以告知在发布之前签署APK的确切重要性。

Navbar重叠最后一个ListView项(Android)

我的问题类似于上面的图像 我在Nexus Devices中遇到此问题。 我通过获得底部导航栏高度从底部添加了边距。 但我的应用程序显示平板电脑底部的额外余量。 我不想在我的样式文件中更改任何内容。 Code:- 此framelayout中的drop_down_overlay_container是我显示片段的地方。

使用packageRelease“为属性’signedConfig.storeFile’指定的Gradle签名应用程序不存在”

我正在尝试使用Gradle在Android Studio中使用Build Variant在发布模式下测试应用程序。 的build.gradle: (omitted dependencies and repositories) android { apply plugin: ‘android’ compileSdkVersion 19 buildToolsVersion “19.0.0” defaultConfig { minSdkVersion 11 targetSdkVersion 16 versionCode 1 versionName “1.0” } signingConfigs { release { storeFile file(“release.jks”) storePassword “password” keyAlias “MobileAndroid” keyPassword “password” } } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ signingConfig signingConfigs.release } } […]

Android上的ThreeTen-Backport错误 – ZoneRulesException:未注册任何时区数据文件

我正在为我的Android项目使用ThreeTen-Backport库(因为java.time尚未在android开发中实现)。 当我LocalDate today=LocalDate.now();写LocalDate today=LocalDate.now(); 或LocalTime time=LocalTime.now(); 我得到以下exception: Caused by: org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered at org.threeten.bp.zone.ZoneRulesProvider.getProvider(ZoneRulesProvider.java:176) at org.threeten.bp.zone.ZoneRulesProvider.getRules(ZoneRulesProvider.java:133) at org.threeten.bp.ZoneRegion.ofId(ZoneRegion.java:143) at org.threeten.bp.ZoneId.of(ZoneId.java:357) at org.threeten.bp.ZoneId.of(ZoneId.java:285) at org.threeten.bp.ZoneId.systemDefault(ZoneId.java:244) at org.threeten.bp.Clock.systemDefaultZone(Clock.java:137) at org.threeten.bp.LocalDate.now(LocalDate.java:165) 相同的代码行在我拥有的另一个java项目中运行良好,该项目使用本机java.time库。 我搜索了一个可能的解决方案,但找不到任何有用的东西:一个解决方案建议我需要使用另一个包含时区规则的jar,另一个建议在类路径中可能有两个或更多ThreeTenBP库。 那些案件与我的案件不符。 在build.gradle文件中,在dependencies部分,我尝试了一些配置: 起初,我用 – compile ‘com.jakewharton.threetenabp:threetenabp:1.0.3’ 然后,我尝试 – compile ‘org.threeten:threetenbp:1.0.3’ 之后,我尝试了 – compile ‘org.threeten:threetenbp:1.3.1’ 目前,我使用compile ‘org.threeten:threetenbp:1.3.2’ 我不知道该行代码有什么问题以及如何修复它。 LocalDate.now()和LocalTime.now()方法应该可以在不指定时区的情况下工作。

无声登录以使用GoogleApiClient检索令牌

我在我的应用中使用“Google登录”。 因此,我使用GoogleApiClient类来获取用户电子邮件和我后端所需的ID令牌。 当用户登录时,我可以访问一个Activity(当然),我使用该Activity让GoogleApiClient通过调用builder.enableAutoManage(myActivity,…)来处理UI生命周期的事情。 这很好用。 但是,在稍后阶段(几天后),我需要获得一个新令牌(出于某种原因,我不会在这里进一步讨论)。 我希望在没有用户交互的情况下静默获取此令牌。 但是,在我需要这个新令牌的代码中,我无法访问任何Activity实例。 这意味着我无法进行上述调用,即“builder.enableAutoManage”。 而且我发现,如果我不打那个电话,那么静默登录似乎不起作用。 我附上了以下代码。 现在,看看“silentLogin”方法。 只要我作为用户收到的令牌执行了实际登录,小于一小时,则语句“pendingResult.isDone”将返回true并且可以接收缓存的令牌。 但是,如果我作为用户收到的令牌执行了实际登录,则超过一小时,则调用“pendingResult.setResultCallback”,但是“onResult”方法永远不会被调用,我无法获得新的令牌。 如果我从一个活动中做同样的事情(并且通过调用“builder.enableAutoManage”)也不会发生这个问题。 那么,有没有人知道我做错了什么,更重要的是 – 如何解决这个问题并获得一个新的令牌而无需访问活动实例? 我使用的是com.google.android.gms:play-services-auth:8.4.0 package com.google.samples.quickstart.signin; import android.content.Context; import android.os.Bundle; import android.util.Log; import com.google.android.gms.auth.api.Auth; import com.google.android.gms.auth.api.signin.GoogleSignInAccount; import com.google.android.gms.auth.api.signin.GoogleSignInOptions; import com.google.android.gms.auth.api.signin.GoogleSignInResult; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.Scopes; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.OptionalPendingResult; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Scope; /** * Use this class to login with google […]