小编Ram*_*h R的帖子

标准的JSON API响应格式?

是否存在用于从API构造JSON响应的标准或最佳实践?显然,每个应用程序的数据都是不同的,所以我不关心,而是"响应样板",如果你愿意的话.我的意思的一个例子:

成功要求:

{
  "success": true,
  "payload": {
    /* Application-specific data would go here. */
  }
}
Run Code Online (Sandbox Code Playgroud)

请求失败:

{
  "success": false,
  "payload": {
    /* Application-specific data would go here. */
  },
  "error": {
    "code": 123,
    "message": "An error occurred!"
  }
}
Run Code Online (Sandbox Code Playgroud)

json response request

642
推荐指数
11
解决办法
50万
查看次数

ReactJS - 向组件添加自定义事件侦听器

在普通的旧javascript我有DIV

<div class="movie" id="my_movie">
Run Code Online (Sandbox Code Playgroud)

和以下的JavaScript代码

var myMovie = document.getElementById('my_movie');
myMovie.addEventListener('nv-enter', function (event) {
     console.log('change scope');
});
Run Code Online (Sandbox Code Playgroud)

现在我在这个组件里面有一个React组件,在render方法中,我正在返回我的div.如何为自定义事件添加事件侦听器?(我将这个库用于电视应用程序 - https://github.com/ahiipsa/navigation)

import React, { Component } from 'react';

class MovieItem extends Component {

  render() {

    if(this.props.index === 0) {
      return (
        <div aria-nv-el aria-nv-el-current className="menu_item nv-default">
            <div className="indicator selected"></div>
            <div className="category">
                <span className="title">{this.props.movieItem.caption.toUpperCase()}</span>
            </div>
        </div>
      );
    }
    else {
      return (
        <div aria-nv-el className="menu_item nv-default">
            <div className="indicator selected"></div>
            <div className="category">
                <span className="title">{this.props.movieItem.caption.toUpperCase()}</span>
            </div>
        </div>
      );
    }
  }

}

export default MovieItem; …
Run Code Online (Sandbox Code Playgroud)

reactjs

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

违反不变性:ViewPropTypes 已从 React Native 中删除。迁移到从“deprecated-react-native-prop-types”导出的 ViewPropTypes

由于 ViewPropTypes 已从“react-native”中删除,并且使用它的包没有更新。构建应用程序后出现此错误

ERROR  Invariant Violation: ViewPropTypes has been removed from React Native. Migrate to ViewPropTypes exported from 'deprecated-react-native-prop-types'.   
ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect.
      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.
ERROR  Invariant Violation: Module AppRegistry is not a registered callable module (calling …
Run Code Online (Sandbox Code Playgroud)

react-native

49
推荐指数
4
解决办法
7万
查看次数

方法“RaishedButton”未定义

我创建了一个新项目并在 Visual Studio Code 中编写了一些代码。

这是我的源代码:

import 'package:flutter/material.dart';
    
    class Raisedbutton extends StatelessWidget {
      Widget build(BuildContext context) {
        return MaterialApp(
          title: "Raised Button",
          home: Scaffold(
            appBar: AppBar(
                title: Text("Latihan membuat Raised button"),
                backgroundColor: Colors.green),
            body: Center(
              child: Column(
                children: <Widget>[
                  Expanded(
                    child: Row(
                      children: <Widget>[
                        Text("1. Pizza"),
                        Text("2. Satay"),
                        Text("3. Spagethi"),
                      ],
                    ),
                  ),
                ],
              ),
            ),
          ),
        );
      }
    }
    
    class Raised extends StatelessWidget {
      Widget build(BuildContext context) {
        var button = Container(
          margin: EdgeInsets.only(top: 50.0),
          child: RaisedButton(
              child: Text("Click …
Run Code Online (Sandbox Code Playgroud)

android ios flutter

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

如何在TabLayout android中的活动中获取tab click事件

这是我的活动中onCreate函数的实现.我需要动态创建标签.为简单起见,我制作了两个标签.

public class ActivityProductList extends AppCompatActivity {

    private android.support.v7.widget.SearchView searchView = null;
    private RecyclerView recyclerView;
    MyAdapter adapter;
    List<ParentListItem> parentListItems = new ArrayList<>();
    List<ParentListItem> originalProductList = new ArrayList<>();
    String query = null;
    int categoryId = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_products_final);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle("PRODUCTS");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        //ViewPager viewPager = (ViewPager) findViewById(R.id.pager);

        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
        tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
        //setupViewPager(viewPager);
        //tabLayout.setupWithViewPager(viewPager);
        //viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

        searchView = (android.support.v7.widget.SearchView) findViewById(R.id.searchView);
        searchView.setIconified(false);
        searchView.onActionViewExpanded();
        searchView.clearFocus();
        searchView.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
            @Override …
Run Code Online (Sandbox Code Playgroud)

android

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

无法在 RoomDB Dao 中使用挂起功能

RoomDB 和 Kotlin 协程发生了什么?我一次又一次地尝试在 Room Dao 中使用挂起功能,但每次都会显示错误。我什至遵循 android codelabs 示例。但它又显示错误。如果我在 Dao 中编写暂停,应用程序甚至不会构建。但如果我删除 suspend 关键字,它就会成功构建。

它显示以下错误:

error: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
kotlin.coroutines.Continuation<? super kotlin.Unit> continuation);
Run Code Online (Sandbox Code Playgroud)

我的实体:

import androidx.room.Entity
import androidx.room.PrimaryKey

@Entity(tableName = "vocabulary")
class Vocabulary(
    @PrimaryKey(autoGenerate = true)
    val vocabularyId: Long,
    val word: String,
    val meaning: String,
    val definition: String,
    val example: String,
    val partsOfSpeech: String,
    val synonyms: String,
    val antonyms: String,
    val phonetics: String,
    val folderId: Long,
    val …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-studio android-room kotlin-coroutines

9
推荐指数
2
解决办法
2141
查看次数

警告:API'variant.getMergeResources()'已过时,并已替换为'variant.getMergeResourcesProvider()'

每次我构建应用程序时,都会遇到此错误。我认为我已经更新了所有库,有人可以告诉我问题出在哪里?显然,我认为这可能来自Google Play服务,但是我拥有所用所有库的最新版本。

我找不到能解决问题的任何东西

警告:API'variant.getMergeResources()'已过时,已被'variant.getMergeResourcesProvider()'取代。它将于2019年底删除。有关更多信息,请参见https://d.android.com/r/tools/task-configuration-avoidance。要确定正在调用variant.getMergeResources()的内容,请在命令行上使用-Pandroid.debug.obsoleteApi = true来显示更多信息。受影响的模块:应用

android gradle android-studio

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

CameraX api 仅适用于 Kotlin 还是也适用于 Java?

当我进入示例应用程序代码时,提到在创建项目时选择 Kotlin。

我以前使用过camera2 API。

android-camerax

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

Android:在纯 java 包中使用 JSON 库时出现问题

我们的 Android 应用程序有一个仅包含与 Android 解耦的纯 Java 代码的包。我需要在这个包中使用 JSON,并尝试导入官方 JSON 库。虽然导入成功,并且我可以在代码中使用 JSON,但它不起作用。我经常遇到同样的异常:

java.lang.NoSuchMethodError:没有静态方法 g(Ljava/lang/String;)Ljava/lang/Object; 在类 Lorg/json/JSONObject 中;或其超类(“org.json.JSONObject”的声明出现在 /system/framework/core-libart.jar 中)

No virtual method b()Z in class Lorg/json/JSONObject; or its super classes (declaration of 'org.json.JSONObject' appears in /system/framework/core-libart.jar)
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我会得到这个。我读到,这是由于与 Android 包含的 JSON 库发生冲突,但这仅在纯 Java 库中使用,与 Android 的任何代码交互都涉及字符串或长整型,而不是 JSON

有人经历过这个吗?或者对如何在这个纯 java 包中使用 JSON 有什么建议吗?

我尝试导入一个非常旧版本的 JSON 库,以防它是由于某种冲突而导致我使用较新的方法,但没有骰子。同样的错误。还尝试导入 jar 而不是使用 gradle。

这用于 ORMLITE 中数据库的简单 getter 和 setter。下面是一个示例,其中 mExtraFlag 是一个字符串。也会引起问题的方法是 JSONObject 中的 toString 以及以下方法:valueToString、StringToValue 等...

public JSONObject getExtraFlag() {
 return new JSONObject(mExtraFlag);
}
Run Code Online (Sandbox Code Playgroud)

java android json gson android-studio

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

在 Android Compose 中重新组合

我正在使用新的撰写库在 android 中实现OutstandingTextField 。但奇怪的是,文本字段中的输入数据没有更新。

于是我搜索了一下,发现了一个叫做Recomposition in android compose的主题。我没有完全明白。
不过,我确实找到了解决方案:

@Composable
fun HelloContent(){
    var name:String by remember {mutableStateOf("")}
    OutlinedTextField(
        value = name,
        onValueChange = {name = it},
        label = {Text("Name")}
    )
}
Run Code Online (Sandbox Code Playgroud)

我还阅读了jetpack compose 中的状态概念。但我没能完全理解它。
有人可以用简单的话解释一下吗?

android android-jetpack android-jetpack-compose android-jetpack-compose-text

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