小编Dig*_*jay的帖子

Elasticsearch 在控制台中显示 https 通道上收到的纯文本 http 流量

我正在尝试在 Windows 系统中设置 elasticsearch,但是当我尝试运行它时,它会启动并在我重定向到http://localhost:9200.

{
  "name" : "DESKTOP-L8UKCFI",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "z8IfZcFaQfSti3P4jhZxbg",
 "version" : {
   "number" : "8.1.0",
   "build_flavor" : "default",
   "build_type" : "zip",
   "build_hash" : "3700f7679f7d95e36da0b43762189bab189bc53a",
   "build_date" : "2022-03-03T14:20:00.690422633Z",
   "build_snapshot" : false,
   "lucene_version" : "9.0.0",
   "minimum_wire_compatibility_version" : "7.17.0",
   "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
 }
Run Code Online (Sandbox Code Playgroud)

但在控制台中它显示这样的东西

[2022-03-16T11:26:12,307][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [DESKTOP- 
L8UKCFI] received plaintext http traffic on an https channel, closing connection 
Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200, remoteAddress=/[0:0:0:0:0:0:0:1]:5996}


[2022-03-16T11:31:56,806][WARN ] 
[o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [DESKTOP-L8UKCFI] http 
client did not trust …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

29
推荐指数
4
解决办法
6万
查看次数

如何隐藏片段中的底部导航栏

我在主要活动中定义了底部导航栏。我有三个片段与底部导航栏链接在我有回收器视图的片段中,所以我想在 RecyclerView 向下滚动时隐藏底部导航栏,并在 RecyclerView 向上滚动时显示。我的问题是如何在片段中访问底部导航栏,因为它是在 MainActivity 中定义的。

这是我的代码:

活动_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"
    app:elevation="0dp"
    android:background="@color/colorPrimary"
    android:paddingBottom="7dp"
    android:fitsSystemWindows="true">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"
        app:layout_scrollFlags="scroll|enterAlways|snap">

        <Spinner
            android:layout_width="110dp"
            android:layout_height="50dp"
            android:id="@+id/chooseLocation"
            app:backgroundTint="@android:color/white"/>

    </android.support.v7.widget.Toolbar>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:id="@+id/search"
        android:paddingTop="6dp"
        android:paddingBottom="6dp"
        android:paddingRight="6dp"
        android:paddingLeft="12dp"
        android:hint="Search here"
        android:textColorHint="#9e9e9e"
        android:textColor="#000"
        tools:ignore="HardcodedText"
        android:background="@drawable/search_edit_text"
        android:paddingEnd="6dp"
        android:paddingStart="12dp"/>

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_main" />

<android.support.design.widget.BottomNavigationView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/bottomBar"
    android:layout_gravity="bottom"
    app:menu="@menu/bottom_menu"
    android:background="#fff"
    app:itemIconTint="@drawable/nav_check"
    app:itemTextColor="@drawable/nav_check"/>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

fragment_home.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

如何使用MLab连接sting连接MongoDB Compass,

我在MLab上托管数据库,我正在尝试将其与Compass连接.我使用连接字符串中给出的主机和端口,但它显示错误,这是我的截图:

罗盘

请让我知道我做错了什么.

谢谢

mongodb mlab

16
推荐指数
3
解决办法
4938
查看次数

从服务器获取数据后如何将数据存储在房间数据库中

我在我的 android 应用程序中使用 Retrofit2 和 Rxjava2 作为网络库,使用 NodeJS 和 MongoDB 作为后端服务。我想从服务器获取数据并将数据存储在房间数据库中,以便如果用户再次打开应用程序,它会从房间和在服务器上添加一些新数据之前,不会来自服务器。

到目前为止,我已成功从服务器获取数据并将其显示在回收站视图中。

我想要达到的目标:

1) 从服务器获取数据后,将数据存储在房间数据库中。

2) 显示房间数据库中的数据,直到服务器上更新了一些新数据。

这是我的代码如下:

接口服务.java

public interface ApiService {

@POST("retrofitUsers")
@FormUrlEncoded
Observable<String> saveData(@Field("name") String name,
                             @Field("age") String age);

@GET("getUsers")
Observable<List<BioData>> getData();

}
Run Code Online (Sandbox Code Playgroud)

改造客户端.java

public class RetrofitClient {

private static Retrofit retrofit = null;

public static Retrofit getInstance(){

    if(retrofit == null)
        retrofit = new Retrofit.Builder()
                .baseUrl("https://bookbudiapp.herokuapp.com/")
                .addConverterFactory(GsonConverterFactory.create(new GsonBuilder().setLenient().create()))
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .build();

    return retrofit;

}

private RetrofitClient(){

}
}
Run Code Online (Sandbox Code Playgroud)

生物数据.java

public class BioData {

@SerializedName("name")
@Expose
private String name; …
Run Code Online (Sandbox Code Playgroud)

android retrofit2 rx-java2 android-room

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

即使从服务器删除后,数据仍显示在房间数据库中

我正在从服务器获取数据并保存在房间数据库中,然后从房间在回收站视图中显示它。数据完美地保存在房间数据库中并在回收站视图中显示。

问题:当我从服务器数据库中删除一些数据时,它之前保存的旧副本仍然存在于房间中。

我想要什么:我不想在回收站视图中显示从服务器删除的数据。那么我如何根据服务器响应更新房间数据库。

这是我到目前为止所做的:

用户道

@Dao
public interface UserDao {

@Insert(onConflict = OnConflictStrategy.REPLACE)
void Insert(User... users);

@Query("SELECT * FROM Users")
LiveData<List<User>> getRoomUsers();
}
Run Code Online (Sandbox Code Playgroud)

用户.java

@Entity(tableName = "Users")
public class User {

@NonNull
@PrimaryKey
private String id;

@ColumnInfo(name = "name")
@SerializedName("name")
@Expose
private String name;

@ColumnInfo(name = "age")
@SerializedName("age")
@Expose
private String age;

public User(String id,String name, String age) {
   this.id = id;
   this.name = name;
   this.age = age;
}

public String getId() {
   return id;
}

public void …
Run Code Online (Sandbox Code Playgroud)

java android retrofit2 android-room

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

如何检查房间数据库是否为空

我试图在进行网络调用之前检查房间数据库是否为空。但它显示以下错误。

错误:不确定如何将 Cursor 转换为此方法的返回类型 (java.lang.Integer)。

我一直在做的是,当应用程序启动时,我正在检查房间数据库中的行数,如果它为空,那么我正在进行网络调用。

下面是我的代码。

UserDao.java

@Dao
public interface UserDao {

   @Query("SELECT * FROM Users")
   LiveData<Integer> isDbEmpty();
}    
Run Code Online (Sandbox Code Playgroud)

用户存储库.java

public class UserRepository {

private Context context;
private UserDb userDb;
private LiveData<Integer> checkDb;
private UserDao userDao;


public UserRepository(Context context) {
    this.context = context;
    userDb = UserDb.getInstance(context);
    userDao = userDb.userDao();
    checkDb = userDao.isDbEmpty();
}

public LiveData<Integer> isDbEmpty(){
    return checkDb;
}

}  
Run Code Online (Sandbox Code Playgroud)

UserViewModel.java

public class UserViewModel extends AndroidViewModel {

private UserRepository repo;
private LiveData<Integer> checkDb;

public UserViewModel(@NonNull Application application) {
    super(application); …
Run Code Online (Sandbox Code Playgroud)

java android dao android-room

5
推荐指数
2
解决办法
8140
查看次数

如何检测 NestJs/NodeJs 中的浏览器详细信息

我正在尝试将设备检测器 npm 模块集成到我的应用程序中,以便检测浏览器详细信息。为此,我正在使用这个模块npm i device-detector-js

我已经将它集成到我的代码中,因为它是代码片段。

下面是我的代码:

应用程序控制器.ts

import { Controller, Get, Req } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

@Get()
getHello(@Req() req): string {
  console.log(req.headers);
  return this.appService.getHello();
  }
}
Run Code Online (Sandbox Code Playgroud)

应用程序服务.ts

import { Inject, Injectable } from '@nestjs/common';
import DeviceDetector = require("device-detector-js");

@Injectable()
export class AppService {
private readonly deviceDetector = new DeviceDetector();

getHello(): string {
const userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 …
Run Code Online (Sandbox Code Playgroud)

device-detection node.js nestjs

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

如何将数据从适配器类传递到底部工作表对话框片段

我的片段中有一个回收器视图,每个回收器视图行项目都有一个按钮,因此当用户单击按钮时,它应该打开,BottomSheetDialogFragment并且该特定行项目的详细信息应该在 BottomSheetDialogFragment 中可见。

到目前为止,我所做的对话框片段在单击按钮时正确显示,但我不知道如何将数据从适配器类传递到对话框片段。

下面是我的代码:

事实适配器.java

public class FactsAdapter extends RecyclerView.Adapter<FactsAdapter.ViewHolder> {

List<Facts> factList;
Context context;

public FactsAdapter(List<Facts> factList, Context context) {
    this.factList = factList;
    this.context = context;
}

@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.facts_row,parent,false);

    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

    final Facts model = factList.get(position);

    final String str1 = model.getDescription();

    RequestOptions requestOptions = new RequestOptions();
    requestOptions.placeholder(R.color.place);

    holder.title.setText(model.getTitle());

    Glide.with(context).load(model.getImage()).apply(requestOptions).into(holder.factImage);

    holder.more.setOnClickListener(new View.OnClickListener() {
        @Override …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

3
推荐指数
1
解决办法
1567
查看次数

如何在 React Native 中的不同屏幕上显示或隐藏状态栏

我是新来反应本机并尝试创建一些应用程序,我想在不同的屏幕上显示或隐藏状态栏。在主屏幕中,我不想显示状态栏,因为我已经设置了它的属性,hidden={true}但在这样做时在其他屏幕上也不可见,如何使其在其他屏幕上可见。

在屏幕OnboardHome我想显示状态栏,在Login屏幕Register中我不想显示状态栏。

下面是我的代码:

应用程序.js

import React from 'react';
import {StatusBar} from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import Onboard from './components/Onboard';
import Login from './components/Login';
import Register from './components/Register';
import Home from './components/Home';

const Stack = createStackNavigator();

const App = () => {

return (
  <NavigationContainer>
   <StatusBar hidden={true}/>
    <Stack.Navigator>
     <Stack.Screen
       name="Onboard"
       component={Onboard}
       options={{ headerShown: false }} />
    <Stack.Screen
      name="Login"
      component={Login}
      options={{ headerShown: false …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native

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

Dart语法突出显示未突出显示Dart代码

我已经安装了dart(仅语法突出显示)扩展名,但没有突出显示我的dart代码。安装扩展名后,我已经重新启动了VS代码几次,但无法正常工作。有人请让我知道这个问题,我该如何解决。

以下是我的VS代码屏幕截图:

与

谢谢

dart visual-studio-code

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

无法使用 RxJava Completable 在 Room 中添加数据

我正在使用 MVVM 架构模式制作一个应用程序,我正在尝试使用 RxJava 在房间数据库中添加数据,但它在 lambda 表达式下显示红线:

lambda 表达式中的返回类型错误:void 无法转换为 Object。

下面是我的代码:

UserDao.java

@Dao
public interface UserDao {

@Insert
void insert(User user);

@Query("SELECT * FROM Users ORDER BY id DESC")
Flowable<List<User>> getAllUsers();

} 
Run Code Online (Sandbox Code Playgroud)

用户存储库.java

public class UserRepository {

private UserDb userDb;
private UserDao userDao;
private Flowable<List<User>> allUsers;

public UserRepository(Application application) {

    userDb = UserDb.getInstance(application);
    userDao = userDb.userDao();
    allUsers = userDao.getAllUsers();
}

public void insert(final User user){

   Completable.fromCallable(() -> userDb.userDao().insert(user))
                            .subscribeOn(Schedulers.io())
                            .observeOn(AndroidSchedulers.mainThread())
                            .subscribe(new CompletableObserver() {
                                @Override
                                public void onSubscribe(Disposable d) { …
Run Code Online (Sandbox Code Playgroud)

android rx-java2

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

如何使用房间数据库作为缓存

我正在使用 MVVM 架构制作一个 android 应用程序。我想从 API 中获取数据并将其插入房间数据库,然后在我的应用程序中从房间中获取它。不知道是不是更好的实现数据库缓存功能的方式。如果有其他或更好的方法,请告诉我。

android android-room

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

AdMob广告在回收者视图中无法正确显示

我正在尝试在回收站视图中实施admob横幅广告,我想在每个被2整除的回收站视图项目之后显示横幅广告。为什么回收站视图项目没有显示在显示广告的特定位置上。

到目前为止,这是我所做的:

public class HomeBookAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{

private static final int LAYOUT_ADS= 0;
private static final int LAYOUT_BOOKS= 1;

private ArrayList<LoadHomeBooks> list;
private Context context;

AdRequest adRequest;

public HomeBookAdapter(ArrayList<LoadHomeBooks> list,Context context){

    this.list = list;
    this.context = context;
}

@Override
public int getItemViewType(int position) {

    if(!(position == 0) && position % 2 == 0){

        return LAYOUT_ADS;
    }else{

        return LAYOUT_BOOKS;
    }
}

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View view =null;
    RecyclerView.ViewHolder viewHolder = null;

    if(viewType==LAYOUT_ADS)
    {
        view …
Run Code Online (Sandbox Code Playgroud)

android admob android-recyclerview

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