小编Bil*_*ill的帖子

SQLite和共享首选项的优缺点

在SQLite数据库和共享首选项之间存储信息的好机制是什么?

为何使用共享偏好?为什么要使用sqlite?我试图找出它们之间的区别,哪个是更好的数据存储机制,但我无法在Google上找到合适的答案.请帮我举例和解释.

database sqlite android data-storage sharedpreferences

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

YouTube Android API:YouTubePlayerFragment加载微调器

我正在使用Android YouTube API示例在我的应用中创建无格式的YouTube播放器.我有一个问题,即缓冲/加载进度条即使在加载并开始播放后也会继续显示在我的视频上.我可以FragmentDemoActivity通过几个小的修改在样本中重现这个:

public class FragmentDemoActivity extends AppCompatActivity implements YouTubePlayer.OnInitializedListener {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.fragments_demo);

        YouTubePlayerFragment youTubePlayerFragment =
            (YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.youtube_fragment);
        youTubePlayerFragment.initialize(DeveloperKey.DEVELOPER_KEY, this);
    }

    @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
          boolean wasRestored) {
        if (!wasRestored) {
            player.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS);
            player.loadVideo("nCgQDjiotG0", 10);
        }
    }

    @Override
    public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {}

}
Run Code Online (Sandbox Code Playgroud)

我已经改为FragmentDemoActivity继承AppCompatActivity而不是YouTubeFailureRecoveryActivity,正如文档所说的那样好.我也改变了玩家的风格onInitializationSuccess.最后,我已经改变cueVideoloadVideo,只是触发自动播放.

这种情况发生在包括Nexus 5X在内的多种设备上.我正在使用库版本1.2.2.没有触发错误onInitializationFailure.

视频在缓冲后开始播放.该播放器是无铬的.然而,缓冲旋转器永远不会消失.这是一个错误,还是我在做一些我不允许做的事情?

youtube android youtube-api android-fragments android-youtube-api

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

为什么我得到"undefined不是一个对象(评估PropTypes.shape)"?

每当我尝试运行我的iOS模拟器时,我都会收到该错误.所有模块都已安装,我的图片的文件路径是正确的,除了我的模拟器中出现的错误外,我的IDE中没有错误.图片下面的错误.

错误图片

这是Login.js:

import React, {Component} from 'react';
import {StyleSheet, TextInput, Text, TouchableOpacity, KeyboardAvoidingView} from 'react-native';

class Login extends Component {
    onButtonPress() {
        this.props.navigator.push({
            id: 'CreateAccount'
        });
    }

    render() {
        return(
            <KeyboardAvoidingView behavior={"padding"} style={styles.container}>
                    <TextInput
                        style={styles.input}
                        returnKeyType={"next"}
                        keyboardType={"email-address"}
                        autoCorrect={false}
                        placeholder={"Email"}
                    />

                    <TextInput
                        style={styles.input}
                        returnKeyType={"go"}
                        placeholder={"Password"}
                        secureTextEntry
                    />

                    <TouchableOpacity>
                        <Text style={styles.loginAndCA}>Login</Text>
                    </TouchableOpacity>

                    <TouchableOpacity onPress={this.onButtonPress.bind(this)}>
                        <Text style={styles.loginAndCA}>Create Account</Text>
                    </TouchableOpacity>
            </KeyboardAvoidingView>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        padding: 20 // Length of text input boxes.
    },

    input: …
Run Code Online (Sandbox Code Playgroud)

javascript ios webstorm reactjs react-native

8
推荐指数
2
解决办法
6246
查看次数