昨天谷歌在Google I/O上展示了基于新Firebase的新通知系统.我在Github上尝试了这个新的FCM(Firebase云消息传递)示例.
尽管我已声明了特定的drawable,但通知的图标始终是ic_launcher
为什么?以下是处理邮件的官方代码
public class AppFirebaseMessagingService extends FirebaseMessagingService {
/**
* Called when message is received.
*
* @param remoteMessage Object representing the message received from Firebase Cloud Messaging.
*/
// [START receive_message]
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// If the application is in the foreground handle both data and notification messages here.
// Also if you intend on generating your own notifications as a result of a received FCM
// message, here is where that should …
Run Code Online (Sandbox Code Playgroud) android push-notification googleio firebase firebase-cloud-messaging
我正在尝试使用Android Studio的I/O预览连接到GitLab存储库.有谁知道怎么做/如果有可能吗?
根据我作为C++/Java/Android开发人员的经验,我已经了解到终结器几乎总是一个坏主意,唯一的例外是管理Java所需的"本地对等"对象来调用C/C++代码通过JNI.
我知道JNI:正确管理java对象问题的生命周期,但是这个问题解决了不使用终结器的原因,对于本地对等体也是如此.因此,在上述问题中对答案的解释是一个问题/讨论.
Joshua Bloch在他的Effective Java中明确将此案例列为他不使用终结器的着名建议的例外:
终结器的第二个合法使用涉及与本地对等体的对象.本机对等体是普通对象通过本机方法委托的本机对象.由于本机对等体不是普通对象,因此垃圾回收器不知道它,并且在回收Java对等体时无法回收它.假设本地对等方没有关键资源,终结器是执行此任务的适当工具.如果本机对等体拥有必须立即终止的资源,则该类应具有显式终止方法,如上所述.终止方法应该执行释放关键资源所需的任何操作.终止方法可以是本机方法,也可以调用一个.
(另请参阅"堆栈交换中的为什么最终方法包含在Java中?"问题)
然后我看到真正有趣的如何在Google I/O '17中管理Android演讲中的本机内存,其中Hans Boehm实际上主张使用终结器来管理java对象的本地对等,同时引用Effective Java作为参考.在快速提及为什么显式删除本地对等或基于范围的自动关闭可能不是一个可行的替代方案后,他建议使用java.lang.ref.PhantomReference
.
他提出了一些有趣的观点,但我并不完全相信.我将尝试通过其中一些并陈述我的疑虑,希望有人能够进一步了解它们.
从这个例子开始:
class BinaryPoly {
long mNativeHandle; // holds a c++ raw pointer
private BinaryPoly(long nativeHandle) {
mNativeHandle = nativeHandle;
}
private static native long nativeMultiply(long xCppPtr, long yCppPtr);
BinaryPoly multiply(BinaryPoly other) {
return new BinaryPoly ( nativeMultiply(mNativeHandle, other.mNativeHandler) );
}
// …
static native void nativeDelete (long …
Run Code Online (Sandbox Code Playgroud) 因此,在观看关于此主题的非常有名的视频后,我决定采用设计模式B.使用带有servicehelper的contentprovider.
基本上我有以下文件:
在活动中,我现在可以获取contentresolver并查询提供者.到目前为止一切都很好.
现在我需要同步我的contentprovider以从REST API获取数据.因此,我需要实现服务帮助程序服务和Rest方法.研究谷歌IO应用程序已经帮助了我很多,我是Android的新手所以它仍然很难搞清楚.
我看到谷歌使用RemoteHandlers来处理外部数据,我猜他们是图中的处理器类?
我不明白的是我如何实现servicehelper +服务部分来从网络获取数据.
我已经在堆栈上阅读了几个关于此的主题,所有这些都提出了不同的方法 我找到了一个声明restprovider的示例,然后myProvider必须扩展该提供程序.我不喜欢这些解决方案,并希望遵循这种结构化设计模式.我希望你们能帮助我!
rest android android-service android-contentprovider googleio
即使在添加导航架构组件依赖项后,"新建资源"对话框也没有导航图的导航资源类型
def nav_version = '1.0.0-alpha01'
implementation "android.arch.navigation:navigation-fragment:$nav_version"
implementation "android.arch.navigation:navigation-ui:$nav_version"
Run Code Online (Sandbox Code Playgroud)
navigation android googleio android-architecture-components android-architecture-navigation
两年过去了,有片段,意图服务,游标加载器.方法是否仍然是最新的,或者是否有任何更好或成熟的模式来设计Android休息客户端,特别是与选项B相比(我没有权限发布图像,而是可以从这篇文章中找到图像).
我知道内容提供商部分是必不可少的.那么服务助手和服务组件呢?到目前为止,startService方法是Context或其子类的本质.这意味着服务助手将是一项活动.因此,从内容提供商发起活动是优雅的,还是应该从顶部的活动开始.
有服务,意图服务,asyncTask和线程.在我看来,意图服务适合于从远程服务器同步大量数据.这就是为什么他们在iosched中使用它.但常见的情况是只有部分项目将与远程服务器同步.意图服务太沉重了.甚至是服务方式.我们可以只使用内容提供程序中的asyncTask或线程或其中的某个组件来完成此类任务.或者是否有任何令人信服的理由使用该服务,并通过服务助手服务处理器路径.我说的是一个严肃的申请.
你有什么看法?
我正在尝试重现两个版本的Google I/O 2014应用程序的效果,第一个在滚动时淡出的版本,以及在靠近工具栏时伸展的更新版本
我下载了应用程序的源代码,但这种影响不在公共资源上,所以我试图找出如何通过自我实现
我已经做的是创建一个自定义视图,它将translationY从actionbarHeight设置为0,反之亦然,但它看起来不是最好的方法,有没有人知道更好的方法?
android android-animation googleio android-scroll android-toolbar
根据谷歌io视频,了解你的应用程序需要多少内存,你可以使用procrank并读取它的USS值.
我已经在模拟器上尝试过了(无论我使用哪个版本 - 从2.3.x到4.1)它运行良好,但在实际设备上运行,它无效(在带有android 4.0.4的galaxy s3上测试过) ).就好像命令不存在一样.
怎么会这样 ?是否可以获得此USS值的替代方案?
如何使用Google IO 2015实现折叠工具栏布局设计 Design Library
在Google IO 2015的开源代码中,它未使用设计库(CoordinatorLayout,CollapsingToolbarLayout等)实现
注意:此处工具栏位于上部的底部.我需要工具栏滚动像这个附加上部textview
或任何其他view
上部.
android googleio android-design-library android-collapsingtoolbarlayout
下载Google IO 2018项目(iosched),尝试在Android Studio 3.3 Canary 7中编译它,也在3.2 RC1中进行探测.但是我收到以下错误:
error: resource style/TextAppearance.MaterialComponents.BottomNavigationView.Colored (aka com.google.samples.apps.iosched:style/TextAppearance.MaterialComponents.BottomNavigationView.Colored) not found.
Run Code Online (Sandbox Code Playgroud)
检查文件样式.xml,据观察未能找到样式TextAppearance.MaterialComponents.BottomNavigationView.Colored.
<style name="TextAppearance.IOSched.BottomNavigationView" parent="@style/TextAppearance.MaterialComponents.BottomNavigationView.Colored">
<item name="android:fontFamily">@font/google_sans</item>
<item name="android:textColor">@color/bottom_nav_item</item>
</style>
Run Code Online (Sandbox Code Playgroud)
如果已实施,还要检查Google Material components依赖项.
implementation "com.google.android.material:material:$rootProject.materialVersion"
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么会犯这个错误.
android ×10
googleio ×10
android-architecture-components ×1
android-architecture-navigation ×1
android-collapsingtoolbarlayout ×1
firebase ×1
git ×1
gitlab ×1
gradle ×1
iosched ×1
java ×1
memory ×1
navigation ×1
rest ×1
rest-client ×1
uss ×1