我不想将任何特殊日志发送到Firebase Analytics控制台,只需检查哪些屏幕是用户花费更多时间等等.
当我使用AnalyticsTracker
它时必须在任何地方添加它,所以你可以用Tracker.xml
文件设置每个屏幕的具体名称.
官方文件说:
将Firebase Analytics的依赖项添加到您的应用级
build.gradle
文件:
compile 'com.google.firebase:firebase-core:9.2.1'
在活动顶部声明FirebaseAnalytics对象:
private FirebaseAnalytics mFirebaseAnalytics;
然后在
onCreate()
方法中初始化它:
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
所以我想我在每个想要获取数据的页面都这样做,不是吗?
我正在使用Android Marshmallow READ_PHONE_STATE权限,我想更改权限请求中显示的文本.
默认情况下显示:
允许[应用程序名称]拨打和管理电话?
但我正在用它来获取device id
和sim serial number
,所以我认为最好更改请求消息.有谁知道怎么做(一些特殊的功能或什么)?
或者我只需要实现一个独立Dialog
的?
非常感谢你.
android android-permissions android-6.0-marshmallow runtime-permissions
当我尝试onClick
在我的 Google 中设置方法时SignInButton
:
android:onClick="@{() -> viewModel.onGoogleLoginClick()}"
我总是收到这个错误:
发现数据绑定错误。
****/ 数据绑定错误 ****msg: 找不到正确的 android:onClick 回调类。尝试 android.view.View 但它有 0 个抽象方法,应该有 1 个抽象方法。
文件:/Users/user/Android/project/app/src/main/res/layout/activity_login.xml loc:53:31 - 53:66 ****\ 数据绑定错误****
这是我的代码:
活动登录.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".ui.login.LoginActivity">
<data>
<import type="android.view.View" />
<variable
name="viewModel"
type="com.example.myapp.ui.login.LoginViewModel" />
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="@dimen/default_layout_padding">
<EditText
android:id="@+id/login_name_editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/login_username_hint"
android:inputType="text"
android:text="@{viewModel.mEmail}" />
<EditText
android:id="@+id/login_pass_editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_name_editText"
android:hint="@string/login_password_hint"
android:inputType="numberPassword"
android:text="@{viewModel.mPassword}" />
<Button
android:id="@+id/login_login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_pass_editText"
android:onClick="@{() -> viewModel.onServerLoginClick()}"
android:text="@string/login_login_button_text" …
Run Code Online (Sandbox Code Playgroud) 我需要AlertDialog
在 Android 上的a 中使用断线。我已经尝试过使用 "\n" 字符,但它不起作用。我没有看到“\n”字符,但文本不会换行。
有什么帮助吗?
解决了
\n\n我已经修复了它,混合了你的答案,所以我决定写在这里。
\n\n关键是ViewHolder
构造函数:
我已经删除了setOnClickListener()
和onClick()
方法,并且我\xc2\xb4ve在我的ObjectAdapter.java
.
public static class ViewHolder extends RecyclerView.ViewHolder{\n\n public ViewHolder(View itemView) {\n super(itemView);\n card_first_btn.setOnClickListener(new View.OnClickListener() {\n @Override\n public void onClick(View v) {\n int position = getAdapterPosition();\n Toast.makeText(v.getContext(), object.get(position).getName(), Toast.LENGTH_SHORT).show();\n }\n });\n card_second_btn.setOnClickListener(new View.OnClickListener() {\n @Override\n public void onClick(View v) {\n Toast.makeText(v.getContext(), "Forward button", Toast.LENGTH_SHORT).show();\n }\n });\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n这就是\xc2\xb4 的全部。班级的其余部分都是一样的。
\n\n这ObjectFragment.java
:
public class ObjectFragment extends Fragment {\n\n public void ObjectFragment() {\n // …
Run Code Online (Sandbox Code Playgroud) 我在我的下一个插件调用build.gradle
:
apply plugin: 'com.company.gradleplugins.plugin'
Run Code Online (Sandbox Code Playgroud)
当我编译时,Jenkins 警告我关于 Gradle 5.0 及其弃用:
Task.leftShift(Closure) 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 Task.doLast(Action)。
在 build_c4218hywg.run(/Users/user/Documents/project/projectfolder/app/build.gradle:12)
标准替换很清楚(使用doLast
替代<<
),但我发现了一些我不知道如何更新的操作(整个项目不仅是我的)。
所以,在插件中,我有一些:
configJSON = mainProperties.getConfig() << buildProperties.getConfig()
imageNames << image.getFileName()
for (int i = 0; i < m.groupCount(); i++) {
list << m[i][1]
}
Run Code Online (Sandbox Code Playgroud)
等等。目前这样做的方法是什么?
我正在尝试setIndicatorsEnabled(true)
在我的Picasso调用中添加该选项,但它不起作用.
这是电话:
Picasso.with(context)
.load(image)
.placeholder(R.drawable.placeholder_img)
.error(R.drawable.error_img)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
如果我.setIndicatorsEnabled(true)
以前写过.load(image)
,没有任何作用.如果我写.setIndicatorsEnabled(true)
后.into(imageView)
,.setIndicatorsEnabled(true)
不起作用.
毕加索版本是2.5.2(最后一个).
有什么建议吗?
我正在尝试更新这个RetroFit + Otto教程,所以我的代码更新是:
IWeather.java
RetroFit 2. +不允许返回void
,所以而不是void getWeather(...)
我添加Call<Weather> getWeather(...)
.
public interface IWeather {
@GET("/{latitude},{longitude}")
Call<Weather> getWeather(@Path("latitude") String latitude,
@Path("longitude") String longitude,
Callback<Weather> callback);
}
Run Code Online (Sandbox Code Playgroud)
ForecastClient.java
RetroFit 2. +已经改变了他的构造函数,所以new ForecastClient
有下一个形式.方法的IllegalArgumentException
要点weather.getWeather(...)
.
public class ForecastClient {
private static final String BASE_URL = "https://api.darksky.net/forecast/";
private static final String API_KEY = "******************";
public static final String API_URL = BASE_URL + API_KEY + "/";
private static ForecastClient mForecastClient;
private static Retrofit mRetroAdapter;
public …
Run Code Online (Sandbox Code Playgroud) 我的代码是用 Java 编写的,我正在将它重构为 Kotlin。我有这个:
Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar) {
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
dismiss();
dialog = null;
setLockedDialog(false);
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
我无法使用 Kotlin 编写它。这是我的方法:
dialog = Dialog(this, android.R.style.Theme_Translucent_NoTitleBar) {
override fun dispatchTouchEvent(ev: MotionEvent) {
// TODO Implement function
}
}
Run Code Online (Sandbox Code Playgroud)
我的 Android Studio 向我展示了:
1- Type mismatch. Required: Boolean. Found: Int
(下android.R.style.Theme_Translucent_NoTitleBar
)。
2-Type mismatch. Required: DialogInterface.OnCancelListener! Found: () - > Unit
围绕被覆盖的功能。
有什么建议?
android ×8
java ×2
android-mvvm ×1
button ×1
data-binding ×1
deprecated ×1
dialog ×1
firebase ×1
fragment ×1
groovy ×1
image ×1
kotlin ×1
line-breaks ×1
motionevent ×1
otto ×1
picasso ×1
retrofit ×1