Tag: 安卓

订阅多个视图到一个视图onclick和可见性改变RxAndroid

我新使用RxJava,并且仍然熟悉很多概念。 试图在一个项目中使用它,我想要做的是订阅一个视图的点击事件来改变另一个视图的可见性。 这是我的审判工作。 RxView.clicks(info_overlay).map { _ -> View.GONE }.subscribe { AppCache().hasSeenInfoScreen = true info_overlay_child_take_a_helfie.visibility = it info_overlay_child_subscription.visibility = it info_overlay_child_description.visibility = it info_overlay_child_header.visibility = it } 不过,我也想订阅info_overlay可见性。 这样info_overlay的可见性info_overlay影响其他视图。 我如何实现这一点和点击观察在一起。

如何从Firebase数据库中删除用户

所以我想添加一个用户删除他的帐户到我的应用程序的function..简单的权利? 我看文件,它很容易: FirebaseAuth.getInstance().getCurrentUser().delete() 但是,FirebaseDatabase和Storage中的所有数据仍然保留。 这是我的结构(给予或承担) 在firebase存储它更简单一点,所以我不包括在这个问题.. 现在的问题是,用户几乎与所有的节点有关联,并且有很多地方需要删除。 从android设备用户发送“DeleteUserRequest”到服务器,服务器负责删除用户。 但做完方法后,它的地狱! 我需要借用爸爸的显示器来编码,因为太深的嵌套调用! 这里是方法 public static void deleteUser(DeleteUserRequest request, ExecutorService executorService) { deleteUserReferences(request.getUserId(), executorService); deleteUserStorage(request.getUserId()); } /** * Delete Tree * – /grades/userId * – /subjects/userId * – /user_groups/userId -> save groupIdList * – /group_members/groupId/userId * – /groups/groupId/ [where createdBy=userId] save friendIdList * – /user-friends/friendId/userId * – /user_tokens/userId […]

java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull

我得到这个错误 java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter event 为线路 override fun onEditorAction(v: TextView, actionId: Int, event: KeyEvent) 以下是整个代码。 这个代码最初是在java中,我使用Android Studio将其转换为Kotlin,但现在我得到这个错误。 我尝试重建和清理这个项目,但是这不起作用。 val action = supportActionBar //get the actionbar action!!.setDisplayShowCustomEnabled(true) //enable it to display a custom view in the action bar. action.setCustomView(R.layout.search_bar)//add the custom view action.setDisplayShowTitleEnabled(false) //hide the title edtSearch = action.customView.findViewById(R.id.edtSearch) […]

如何关闭片段中的软键盘

我在一个片段内部有一个EditText,它本身在一个actionbarsherlock选项卡中。 当我触摸EditText框内时,出现一个软键盘,其中一个键带有放大镜(搜索)图标。 当我键入一些文本,然后单击搜索键,我可以在我的onEditorAction中处理键入的字符串,但软键盘仍然显示。 我怎样才能以编程方式关闭它? 顺便说一句,如果一个答案是,我可以配置EditText的一些设置,使其在搜索时自动关闭,我仍然想知道软键盘是否可以通过方法调用关闭,因为我在屏幕上也有我自己的搜索按钮(与软键盘无关),我也希望软键盘在按下时也能关闭。 注意:在任何人提出这个问题之前,重复一个前面的问题,我已经看到很多关于隐藏软键盘的问答。 许多答案似乎过于复杂,并且在许多方面不清楚这个想法是永久隐藏键盘还是只是暂时关闭它,直到用户再次点击EditText字段。 还有一些答案需要调用片段中不可用的方法。

Android音频捕捉静音检测

我发现这个android代码当他/她开始说话时记录用户声音,当他/她停止时停止录音。 但问题是,录制停止很快。 如果要说两个字,就只记录第一个字。 如何改变下面的代码,使录音过程对短暂的沉默不那么敏感? public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final int RECORDER_BPP = 16; int RECORDER_SAMPLERATE = 8000; int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO; int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT; // Get the minimum buffer size required for the successful creation of // an AudioRecord object. int bufferSizeInBytes = AudioRecord .getMinBufferSize(RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING); // Initialize Audio Recorder. […]

错误:(2,0)无法find方法’org.gradle.api.internal.file.DefaultSourceDirectorySet

我最近升级我的android工作室到3.0.1当我尝试创建新的项目我得到下面的错误我的代码运行良好的旧版本我也升级了Gradle插件 错误 Error:(2, 0) Unable to find method ‘org.gradle.api.internal.file.DefaultSourceDirectorySet.(Ljava/lang/String;Lorg/gradle/api/internal/file/FileResolver;)V’. Possible causes for this unexpected error include:Gradle’s dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network)The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. Stop […]

android.widget.Switch – 开/关事件监听器?

我想实现一个开关按钮,android.widget.Switch(可从API v.14中获得)。 但我不知道如何添加一个事件监听器的按钮。 它应该是一个“onclick”的听众? 我怎么知道它是否“打开”?

在Android Studio中Kotlin构建失败

错误: Error:Execution failed for task ‘:synclib:compileKotlin’. > com.intellij.openapi.fileTypes.LanguageFileType.(Lcom/intellij/lang/Language;)V synclib模块的build.gradle文件: apply plugin: ‘java’ apply plugin: ‘kotlin’ compileJava { sourceCompatibility = 1.7 targetCompatibility = 1.7 } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) testCompile ‘junit:junit:4.12’ // compile ‘com.android.support:appcompat-v7:23.1.1’ compile ‘com.firebase:firebase-client-jvm:2.2.3’ compile “org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version” compile project(‘:jamodel’) } buildscript { ext.kotlin_version = ‘1.0.0’ repositories { mavenCentral() } dependencies { classpath […]

Firestore本地过滤

Firestore每读取10万次读取配额和价格。 在基于关系的数据库中,我有非常简单的任务,但是对于Firestore而言,这看起来像是开销: 我有Firestore集合的“文章”,每篇文章都有字段“views_by_uids”作为Firebase用户UID的数组 我已经阅读了10万篇文章(简称) 我想为我的UID获取UNREaded文章 我是否真的需要用分页来查询这个100K的参考文章,例如每页50个项目,以便过滤LOCALLY(通过我的弱移动网络发送太多的数据),最后得到UNREaded文章来显示? 编辑:澄清这里是我如何用Kotlin在Android中创建“文章”: data class Article ( val title: String, val text: String, val ownerUid: String, @ServerTimestamp val creationDate: Date? = null) //写满文章到firestore val article = Article (title = “test title” text = “test text”, ownerUid = FirebaseAuth.getInstance().uid!!) val articleRef = FirebaseFirestore.getInstance() .collection(Article.COLLECTION_NAME) .document() .set(article) .addOnFailureListener { …just show error } […]

Android Kotlin创建类实现Parcelable在writeToParcel方法的“覆盖”中给出一个错误

为了使用Parcelable,我遵循了Kotlin 1.1.4的这个版本: https : //blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/ 在项目中添加这一行 androidExtensions { experimental = true } 然后定义一个类: @Parcelize class User(val firstName: String, val lastName: String) : Parcelable writeToParcel()和createFromParcel()方法是自动创建的 override fun writeToParcel(parcel: Parcel, flags: Int) { … } 但是在消息的“覆盖”关键字中仍然存在错误 OVERRIDING_WRITE_TO_PARCEL_IS_NOT_ALLOWED:不允许覆盖“writeToParcel”。 改为使用“Parceler”随播对象 你能告诉我正确的方法吗? 编辑:只有默认构造函数中定义的属性将添加到包,其他不是? 我在这堂课看到这个警告。 PROPERTY_WONT_BE_SERIALIZED:属性不会被序列化为“包裹”。 添加“@Transient”注释以删除警告