我正在尝试在 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) 我在主要活动中定义了底部导航栏。我有三个片段与底部导航栏链接在我有回收器视图的片段中,所以我想在 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 应用程序中使用 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) 我正在从服务器获取数据并保存在房间数据库中,然后从房间在回收站视图中显示它。数据完美地保存在房间数据库中并在回收站视图中显示。
问题:当我从服务器数据库中删除一些数据时,它之前保存的旧副本仍然存在于房间中。
我想要什么:我不想在回收站视图中显示从服务器删除的数据。那么我如何根据服务器响应更新房间数据库。
这是我到目前为止所做的:
用户道
@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) 我试图在进行网络调用之前检查房间数据库是否为空。但它显示以下错误。
错误:不确定如何将 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) 我正在尝试将设备检测器 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) 我的片段中有一个回收器视图,每个回收器视图行项目都有一个按钮,因此当用户单击按钮时,它应该打开,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) 我是新来反应本机并尝试创建一些应用程序,我想在不同的屏幕上显示或隐藏状态栏。在主屏幕中,我不想显示状态栏,因为我已经设置了它的属性,hidden={true}但在这样做时在其他屏幕上也不可见,如何使其在其他屏幕上可见。
在屏幕Onboard中Home我想显示状态栏,在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) 我已经安装了dart(仅语法突出显示)扩展名,但没有突出显示我的dart代码。安装扩展名后,我已经重新启动了VS代码几次,但无法正常工作。有人请让我知道这个问题,我该如何解决。
以下是我的VS代码屏幕截图:
谢谢
我正在使用 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) 我正在使用 MVVM 架构制作一个 android 应用程序。我想从 API 中获取数据并将其插入房间数据库,然后在我的应用程序中从房间中获取它。不知道是不是更好的实现数据库缓存功能的方式。如果有其他或更好的方法,请告诉我。
我正在尝试在回收站视图中实施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 ×8
android-room ×4
java ×2
retrofit2 ×2
rx-java2 ×2
admob ×1
dao ×1
dart ×1
javascript ×1
mlab ×1
mongodb ×1
nestjs ×1
node.js ×1
react-native ×1
reactjs ×1