我使用了Google Place API并集成了Place Autocomplete Fragment.我可以更改其前景色或背景色.我的设备似乎有点沉闷.
而且我也想知道我可以在屏幕的底部设置" 由Google提供支持 "的句子.我已经看到一些应用程序在底部.
android android-layout google-places-api google-places google-maps-android-api-2
我想限制某些用户在 Jitsi meet 活动中打开音频和视频选项。我可以将音频和视频静音,但用户可以重新打开它们。我想完全限制它们打开它们。
这是我的代码片段,
JitsiMeetConferenceOptions defaultOptions
= new JitsiMeetConferenceOptions.Builder()
.setServerURL(new URL(APIClass.JITSI_SERVER_URL))
.setWelcomePageEnabled(false)
.setAudioOnly(true)
.build();
JitsiMeet.setDefaultConferenceOptions(defaultOptions);
Run Code Online (Sandbox Code Playgroud)
我找到了几种方法,但根据要求并没有用,
我的应用程序使用以下布局来显示剪辑列表.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/ClipNo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Clip No"
android:textSize="20sp"
android:gravity="center"
android:layout_weight="1"/>
<TextView
android:id="@+id/ClipTime"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Time"
android:textSize="20sp"
android:gravity="center"
android:layout_weight="1"/>
<TextView
android:id="@+id/ClipDate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Date"
android:textSize="20sp"
android:gravity="center"
android:layout_weight="1"/>
<CheckBox android:id="@+id/ClipMark"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
下图显示了布局的输出
如何将'CheckBox'安排到'Mark'标题的中心
提前致谢
我正在尝试集成Realm 4.3.1但我得到了奇怪的错误,我无法解决.我提到了Realm文档,我正在使用
Android Studio 3.0 Canary 4,
Gradle版本4.1
Android插件版本3.0.0-alpha4
这是一个错误
Error:Cause: java.lang.NullPointerException
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:98)
at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
at java.nio.file.Paths.get(Paths.java:84)
at com.android.build.gradle.internal.scope.BuildOutput.getOutputPath(BuildOutput.java:222)
at com.android.build.gradle.internal.scope.BuildOutputs.lambda$load$2(BuildOutputs.java:243)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.android.build.gradle.internal.scope.BuildOutputs.load(BuildOutputs.java:245)
at com.android.build.gradle.internal.scope.BuildOutputs.load(BuildOutputs.java:184)
at com.android.build.gradle.internal.scope.BuildOutputs.load(BuildOutputs.java:140)
at com.android.build.gradle.internal.ide.BuildOutputsSupplier.lambda$get$1(BuildOutputsSupplier.java:54)
at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:397)
at com.android.build.gradle.internal.ide.BuildOutputsSupplier.get(BuildOutputsSupplier.java:49)
at com.android.build.gradle.internal.ide.BuildOutputsSupplier.get(BuildOutputsSupplier.java:34)
at com.android.build.gradle.internal.ide.AndroidArtifactImpl.getOutputs(AndroidArtifactImpl.java:137)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$ReflectionMethodInvoker.invoke(ProtocolToModelAdapter.java:592)
at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$AdaptingMethodInvoker.invoke(ProtocolToModelAdapter.java:397)
at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$PropertyCachingMethodInvoker.invoke(ProtocolToModelAdapter.java:625)
at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$SafeMethodInvoker.invoke(ProtocolToModelAdapter.java:647)
at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$SupportedPropertyInvoker.invoke(ProtocolToModelAdapter.java:670)
at org.gradle.tooling.internal.adapter.ProtocolToModelAdapter$InvocationHandlerImpl.invoke(ProtocolToModelAdapter.java:356)
at …
Run Code Online (Sandbox Code Playgroud) 我只需要向Button内的特定用户发送推送通知即可OnClickListener
。userId
此特定用户能否获得全部信息?
这是我的Button
OnClickListener()
代码
richiedi_invito.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
databaseReference = FirebaseDatabase.getInstance().getReference();
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
lista_richieste = (ArrayList) dataSnapshot.child("classi").child(nome).child("lista_richieste").getValue();
verifica_richieste = (String) dataSnapshot.child("classi").child(nome).child("richieste").getValue();
if (!lista_richieste.contains(userID)){
ArrayList lista_invito = new ArrayList();
lista_invito.add(userID);
if (verifica_richieste.equals("null")){
databaseReference.child("classi").child(nome).child("richieste").setValue("not_null");
databaseReference.child("classi").child(nome).child("lista_richieste").setValue(lista_invito);
}
else{
lista_richieste.add(userID);
databaseReference.child("classi").child(nome).child("lista_richieste").setValue(lista_richieste);
}
//invitation code here
Fragment frag_crea_unisciti = new CreaUniscitiFrag();
FragmentManager fragmentManager= getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, frag_crea_unisciti);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Toast.makeText(getActivity(), "Richiesta di entrare inviata correttamente", …
Run Code Online (Sandbox Code Playgroud) java android firebase firebase-authentication firebase-notifications
我正在使用 firebase 开发一个简单的聊天应用程序,到目前为止,用户身份验证、创建好友列表、发送和接收 msg 功能都已完成。现在我在对话活动中添加了一个名为“删除对话”的菜单项,显然这将清除对话消息。
现在让我告诉您存储在 firebase 数据库中的 msg 的数据库结构。
> messages
> <ConversationId>
> <MsgId>
> text:"hello"
> timestamp:<timestamp>
> sender:<sender's uid>
> receiver:<receiver's uid>
> <MsgId>
> ....
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是,对话至少包括 2 个用户。对。所以,假设我实现了一个删除对话来删除特定对话 ID 中的所有条目。它将删除该会话 ID 下的所有数据。但假设只有用户 1 单击删除对话...用户 2 想要所有对话。那我该如何实施呢?我需要创建本地数据库吗?存储和同步用户手机中的所有消息?