小编Ste*_*ick的帖子

Crashlytics弃用logException()有什么替代品?

任何人都知道Crashlytics中的替换调用logException(),从2.2.4开始似乎已被弃用?我的问题是我遇到了异常,但我怀疑它们会导致更多错误,从而导致应用程序崩溃.我想记录所有处理的异常,并在一个地方看到它们.使用Flurry但似乎没有做到这一点,Crashlytics看起来更强大.我希望它们都在同一个工具中,因为它只需要在一个地方轻松匹配异常,而不是通过LogEntries,Flurry和Crashlytics将它们拼凑在一起.一旦我确定了主要的崩溃元素,我将慢慢删除logException()调用,只是寻找真正的硬崩溃.

谢谢!

android deprecated crashlytics

19
推荐指数
4
解决办法
5021
查看次数

使用.Net WebHooks作为RESThooks连接到Zapier

我正在考虑创建一个"Zap应用程序",我想知道是否有人使用新的.Net Webhooks这样做了.它们似乎具有RESTHooks请求的"模式",即Subcription/Publish机制.它没有很多工作的例子,我想在我花了几天实现它并发现它是不兼容的之前检查.

挂钩到Zapier的实际代码示例会很棒!

.net rest webhooks zapier

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

调用setVisibility时不改变焦点(View.VISIBLE)

我有一个场景,当一个动作发生时,我想让某些字段可见.这很好用,但是当我在包含一些其他字段(如TextEdit)的LinearLayout上调用setVisible(View.VISIBLE)时,焦点会转移到TextEdit(或至少屏幕滚动到它).

调用setVisibility(View.VISIBLE)时有没有办法不改变焦点?

LinearLayout的XML布局我可以调用setVisible:

<LinearLayout 
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:focusableInTouchMode="true">

    <TextView
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textStyle="normal"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingBottom="5dp"
        android:text="" />

     <EditText android:id="@+id/entry"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:gravity="right" /> 

    <View
        android:layout_marginTop="8dp"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/grey"
        android:visibility="gone" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

初始化它的代码:

private TextView mName;
private EditText mEntry;
Run Code Online (Sandbox Code Playgroud)

...

     private void initialize() {

        LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.field_multiline_entry, this);

        // setup fields
        mName = (TextView)findViewById(R.id.name);
        mEntry = (EditText)findViewById(R.id.entry);
        mEntry.addTextChangedListener(textWatcher);

    }
Run Code Online (Sandbox Code Playgroud)

并且调用setVisibility的代码:

        if(sectionFieldView != null && sectionFieldView.getVisibility() != View.VISIBLE) 
        {
            sectionFieldView.setVisibility(View.VISIBLE);
        }
Run Code Online (Sandbox Code Playgroud)

谢谢!

UPDATE

感谢下面的朋友,以下代码有效.它基本上使LinearLayout的所有后代都无法获得焦点,这意味着当显示时,屏幕不会滚动到它们,因为它们没有获得焦点.到目前为止,我发现只有这样才能防止这种情况发生......

        ((ViewGroup) fieldView).setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS); …
Run Code Online (Sandbox Code Playgroud)

android visibility focus

7
推荐指数
1
解决办法
3015
查看次数

Android SSO Okta集成示例

不太了解Okta和Android.有没有人知道一个很好的教程,展示如何将Android应用程序连接到Okta框架.或者我实现SAML SSO实现,然后Okta与之相关联?任何代码示例都表示赞赏 - 特别是一个显示通用SSO的Android实现,如果存在这样的话.

android okta

5
推荐指数
1
解决办法
1049
查看次数

Android NFC在启动应用程序时传递单个参数

我想使用NFC标签启动应用程序.我使用Android应用程序记录(AAR)使用Android应用程序记录(AAR),使用NFC标签启动Android应用程序,使用额外数据或使用NDEF_DISCOVERED/ TECH_DISCOVEREDintent过滤器.但是,在通过NFC事件启动时,如何将NFC标签(例如某些文本)中的数据传递给我的活动?

我已经阅读了NFC基础知识,但据我所知,它似乎想要实现一种读取标签的机制,当我真的不想在标签打开应用程序后重新读取标签,但是相反,我只想要同时传入的数据.

此外,这些机制似乎允许应用程序在标记启动后读取标记.换句话说,我担心如果有人在应用程序打开后再点击标签,那么标签将再次被读取(这是我想要的).

其次,我如何创建这样的NDEF消息?

tags android nfc ndef android-applicationrecord

4
推荐指数
1
解决办法
3344
查看次数

Android Studio构建正常,Gradle命令行失败

我已经将一个应用程序从Eclipse移植到Android Studio,实现了我所需的功能,并允许它在Android Studio中工作。由于口味的数量,我宁愿使用命令行Gradle来构建它。但是,当我运行以下命令来构建发布的APK时

gradlew.bat assembleRelease
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\whatever\build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':MyCompany'.
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
Run Code Online (Sandbox Code Playgroud)

我已经使用--stacktrace和--debug运行了,它实际上没有提供任何其他信息,只是指出错误与build.gradle的第一行有关:

apply plugin: 'com.android.application'
Run Code Online (Sandbox Code Playgroud)

我已根据对此错误的其他stackoverflow响应尝试以下操作:

  1. 升级到JavaVersion.VERSION_1_8
  2. 为Jack添加了build.gradle(这减慢了所有速度,但是即使弃用了1.8,它也是必需的?)
  3. 增加了堆(org.gradle.jvmargs=-Xmx4096m)和dex(javaMaxHeapSize "4g")的内存。

我在跑步 Android Studio 2.3.3

这是我的build.gradle …

gradle android-studio

2
推荐指数
1
解决办法
1399
查看次数

Android Gradle Plugin 3.0 Output apk到不同的目录

我最近升级到Gradle 3.0,现在发现重命名输出APK的功能已更改.我想我可以解决这个问题,但我想知道的是我是否仍然可以选择APK的目标目录.我们现有的软件使用我想要维护的特定APK命名约定和目录结构.有没有办法做到这一点?

这是我当前的gradle构建结构(简化并重命名以保护无辜者):

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.3'
    defaultConfig {
        applicationId "com.mycompany.myapp"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 23
        versionName "23.23.23"
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7        }
        signingConfig signingConfigs.config
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.config
        }
    }
    productFlavors.whenObjectAdded { flavor ->
        // Add the property 'myCustomProperty' to each product flavor and set the default value to 'customPropertyValue'
        flavor.ext.set('directoryPath', '')
        flavor.ext.set('apkName', '')
    }
    productFlavors {

        MyCompany {
            signingConfig signingConfigs.config
            directoryPath = mycompany
        }

        Copper …
Run Code Online (Sandbox Code Playgroud)

directory android android-gradle-plugin

2
推荐指数
1
解决办法
2658
查看次数

Android 模拟设备内存不足,App 在后台运行但未被杀死

我正在尝试对我的应用程序进行防弹保护,这样,如果它的内存因内存不足或在再次拉到前台时未使用而被 Android 操作系统回收,我可以确保它不会崩溃。

我已经处理了应用程序被杀死并重新启动并保留数据的问题,但是如果内存已被回收并且应用程序仍在运行,则我希望能够从后台恢复,从上次运行的 Activity 开始。

为此,我希望能够在设备上强制这种情况(并且应用程序仍在运行)。我已经看到了用于模拟的SO项目[如何在Android模拟器中模拟低内存?,通过杀死每个 Activity /sf/answers/755999191/[1]但我想在设备上进行真正的交易。

所以基本上我想将我的应用程序推到后台,强制回收其内存,将其拉到前台,以便我可以验证它是否正确恢复 - 全部在设备上。很简单,对吧?

memory android

0
推荐指数
1
解决办法
5116
查看次数