小编eja*_*jay的帖子

Android Studio:像Eclipse一样自动构建

多年以后,我决定在使用Eclipse之后使用Android Studio.但我发现Android Studio有一个坏处.实际上,似乎不可能像Eclipse一样拥有自动构建功能.修改和保存文件时,我无法看到我的项目是否有错误,警告等.

那有没有办法实现这个?

android android-studio

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

Android - 取消Volley请求

我在我的项目中使用Android Volley lib来执行网络请求,所有工作都很顺利但是我对这个lib的"取消"功能有一些麻烦.我解释我的问题..

我有一个活动,我在OnCreate方法中执行请求,请求被调用,没问题.但为了确保该cancel方法有效,我想测试并尝试两件事:

  1. 我解雇了我的请求,就像取消它之后:

    MySingleton.getMyData("urltocall", getDataListener, requestTag); MySingleton.getRequestQueue().cancelAll(requestTag);

这一个有效!取消被调用(我也可以在Volley的Request类中看到它):

public void cancel() {
        mCanceled = true; // my breakpoint is called here
    }
Run Code Online (Sandbox Code Playgroud)
  1. 我激活了我的请求,在调用了我的活动的finish()方法和活动的方法onDestroy和/或onStop方法后,我正在调用相同的代码:

    MySingleton.getMyData("urltocall", getDataListener, requestTag); MySingleton.getRequestQueue().cancelAll(requestTag);

但这不起作用!

requestTag不是null并且很好地传递给Volley,所以我无法理解为什么第一种方法有效而不是另一种方法...知道我的目的是在onDestroy被调用时取消请求..

谢谢你的帮助

android request android-volley

14
推荐指数
3
解决办法
2万
查看次数

Android - 将Parcelable数据保存到文件中

我曾经使用Serializable对象将它们保存在filesytem中并读取它们以便做任何我想做的事情.但是当你必须在活动之间传递数据时,序列化很慢,所以我读了比推荐使用Parcelable.然后我做了,是的,它更快!但现在,我有一点问题.由于Parcelable针对IPC进行了优化,因此它们不可序列化,无法保存到文件中.所以我想知道是否可以这样做.

此外,如果我决定为我的类实现Parcelable和Serializable接口,但只使用Parcelable在我的活动之间传递数据,我将能够将类保存到文件中.但我想,因为我使用serializable(只保存,不传递数据),这不是一个好主意哼哼?

我也想过使用Gson库,从类中序列化数据,并将JSON保存到文件中,并重用Gson反序列化JSON以获取我的Parcelable对象.这似乎是个好主意吗?性能怎么样?

感谢大家的回答!

J.

android serializable parcelable gson

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

从Jenkins读取build.gradle的versionName

我将Jenkins用于我的Android应用程序构建。在每个版本中,我都会得到一些信息,例如版本号等。

我正在寻找一种方法来读取Jenkins建立工作时的versionName价值build.gradle。我知道我们可以使用$BUILD_NUMBERenv变量获取buildNumber ,但是如何获取versionName

versioning android jenkins android-gradle-plugin

6
推荐指数
2
解决办法
3721
查看次数

解析变更日志并提取版本的变更

我在 Markdown 中有一个更改日志文件,其中包含我的应用程序的每个版本之间的所有更改,如下所示:

## Version 1.0.6

* first change
* second change
* third change

## Version 1.0.5

* first foo change
* second foo change

## Version 1.0.4

* and so on...
Run Code Online (Sandbox Code Playgroud)

我想要的是在脚本中提取版本的更改内容。例如,我会提取版本 1.0.5的更改,因此它应该打印:

* first foo change
* second foo change
Run Code Online (Sandbox Code Playgroud)

理想的方法是./getVersionChanges version filename这两个参数:

version :提取更改的版本

filename : 要解析的文件名

我怎样才能用 sed、awk、grep 或其他什么来实现这一点?

bash shell awk sed sh

6
推荐指数
1
解决办法
1531
查看次数

Firebase的Fabric crashlytics无法上传崩溃

我只是想使用Firebase迁移Fabric Crashlytics,所以我只遵循了指南https://firebase.google.com/docs/crashlytics/get-started

一切都会编译,并且可以启动该应用程序。因此,我想像Crashlytics.getInstance().crash();以前一样使用来模拟崩溃。

应用程序崩溃,但崩溃没有上载到Firebase,并且我有这个奇怪的堆栈:

E/Fabric: Error performing auto configuration.
                                               io.fabric.sdk.android.services.network.HttpRequest$HttpRequestException: java.net.ProtocolException: Too many follow-up requests: 21
                                                   at io.fabric.sdk.android.services.network.HttpRequest.code(HttpRequest.java:1355)
                                                   at io.fabric.sdk.android.services.settings.AbstractAppSpiCall.invoke(AbstractAppSpiCall.java:86)
                                                   at io.fabric.sdk.android.services.settings.UpdateAppSpiCall.invoke(UpdateAppSpiCall.java:29)
                                                   at io.fabric.sdk.android.Onboarding.performUpdateApp(Onboarding.java:204)
                                                   at io.fabric.sdk.android.Onboarding.performUpdateApp(Onboarding.java:194)
                                                   at io.fabric.sdk.android.Onboarding.performAutoConfigure(Onboarding.java:175)
                                                   at io.fabric.sdk.android.Onboarding.doInBackground(Onboarding.java:112)
                                                   at io.fabric.sdk.android.Onboarding.doInBackground(Onboarding.java:45)
                                                   at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63)
                                                   at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:28)
                                                   at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
                                                   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                                                   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                   at java.lang.Thread.run(Thread.java:762)
                                                Caused by: java.net.ProtocolException: Too many follow-up requests: 21
                                                   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:451)
                                                   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:567)
                                                   at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
                                                   at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java)
Run Code Online (Sandbox Code Playgroud)

任何人都已经遇到此错误?

android firebase crashlytics google-fabric

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