标签: googleio

带有新Firebase云消息传递系统的通知图标

昨天谷歌在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

118
推荐指数
5
解决办法
13万
查看次数

连接到Android Studio上的GitLab存储库

我正在尝试使用Android Studio的I/O预览连接到GitLab存储库.有谁知道怎么做/如果有可能吗?

git android googleio gitlab android-studio

38
推荐指数
2
解决办法
8万
查看次数

是否真的可以避免Java终结器用于本机对等体对象生命周期管理?

根据我作为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)

java java-native-interface android googleio

36
推荐指数
2
解决办法
1282
查看次数

Google IO Rest设计模式,已完成的ContentProvider现已停止

因此,在观看关于此主题的非常有名的视频后,我决定采用设计模式B.使用带有servicehelper的contentprovider.

谷歌设计模式休息

基本上我有以下文件:

  • MYPROVIDER
  • MyDatabase的
  • Mycontract

在活动中,我现在可以获取contentresolver并查询提供者.到目前为止一切都很好.

现在我需要同步我的contentprovider以从REST API获取数据.因此,我需要实现服务帮助程序服务和Rest方法.研究谷歌IO应用程序已经帮助了我很多,我是Android的新手所以它仍然很难搞清楚.

我看到谷歌使用RemoteHandlers来处理外部数据,我猜他们是图中的处理器类?

我不明白的是我如何实现servicehelper +服务部分来从网络获取数据.

  • 我在哪里打电话给服务助手?
  • 服务和助手需要做什么?
  • 这个确切的设计模式有什么好的例子吗?

我已经在堆栈上阅读了几个关于此的主题,所有这些都提出了不同的方法 我找到了一个声明restprovider的示例,然后myProvider必须扩展该提供程序.我不喜欢这些解决方案,并希望遵循这种结构化设计模式.我希望你们能帮助我!

rest android android-service android-contentprovider googleio

30
推荐指数
1
解决办法
1万
查看次数

导航体系结构组件 - "新建资源"对话框没有导航图的导航资源类型

即使在添加导航架构组件依赖项后,"新建资源"对话框也没有导航图的导航资源类型

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

22
推荐指数
3
解决办法
4688
查看次数

谷歌io 2010中的其他客户端应用程序设计方法是否仍然是最新的?

两年过去了,有片段,意图服务,游标加载器.方法是否仍然是最新的,或者是否有任何更好或成熟的模式来设计Android休息客户端,特别是与选项B相比(我没有权限发布图像,而是可以从这篇文章中找到图像).

我知道内容提供商部分是必不可少的.那么服务助手和服务组件呢?到目前为止,startService方法是Context或其子类的本质.这意味着服务助手将是一项活动.因此,从内容提供商发起活动是优雅的,还是应该从顶部的活动开始.

  • 对于那些深入研究google io 2011 iosched应​​用程序源代码的人,您是否会将HomeActivity中的静态类SyncStatusUpdaterFragment视为服务帮助程序,虽然它无法启动SyncService,但它会收听来自SyncService的回调,触发UI的刷新.那可能被视为Virgil Dobjanschi方法的变化吗?

有服务,意图服务,asyncTask和线程.在我看来,意图服务适合于从远程服务器同步大量数据.这就是为什么他们在iosched中使用它.但常见的情况是只有部分项目将与远程服务器同步.意图服务太沉重了.甚至是服务方式.我们可以只使用内容提供程序中的asyncTask或线程或其中的某个组件来完成此类任务.或者是否有任何令人信服的理由使用该服务,并通过服务助手服务处理器路径.我说的是一个严肃的申请.

你有什么看法?

android rest-client googleio intentservice

9
推荐指数
1
解决办法
1625
查看次数

Android滚动效果(Google I/O应用)

我正在尝试重现两个版本的Google I/O 2014应用程序的效果,第一个在滚动时淡出的版本,以及在靠近工具栏时伸展的更新版本

Google I/O工具栏

我下载了应用程序的源代码,但这种影响不在公共资源上,所以我试图找出如何通过自我实现

我已经做的是创建一个自定义视图,它将translationY从actionbarHeight设置为0,反之亦然,但它看起来不是最好的方法,有没有人知道更好的方法?

android android-animation googleio android-scroll android-toolbar

9
推荐指数
1
解决办法
1550
查看次数

调用procrank不适用于真实设备

根据谷歌io视频,了解你的应用程序需要多少内存,你可以使用procrank并读取它的USS值.

我已经在模拟器上尝试过了(无论我使用哪个版本 - 从2.3.x到4.1)它运行良好,但在实际设备上运行,它无效(在带有android 4.0.4的galaxy s3上测试过) ).就好像命令不存在一样.

怎么会这样 ?是否可以获得此USS值的替代方案?

memory android uss googleio

8
推荐指数
1
解决办法
5934
查看次数

如何使用设计库实现折叠图像视图,如Google IO 2015 App

如何使用Google IO 2015实现折叠工具栏布局设计 Design Library

在Google IO 2015的开源代码中,它未使用设计库(CoordinatorLayout,CollapsingToolbarLayout等)实现

Google IO 2015会话详细信息布局

注意:此处工具栏位于上部的底部.我需要工具栏滚动像这个附加上部textview或任何其他view上部.

android googleio android-design-library android-collapsingtoolbarlayout

8
推荐指数
1
解决办法
7272
查看次数

构建失败的Google io 2018(iosched)

下载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 gradle googleio iosched

8
推荐指数
1
解决办法
1573
查看次数