小编Geo*_*rge的帖子

GCM和PARSE推送消息之间的区别

我正在建立一个Android应用程序,它将从我的服务器接收通知.这意味着超过100万的所有用户都将收到来自我服务器的通知.我知道解析和谷歌云消息传递(GCM)可以做推送消息,但我想知道这两个中最好的(解析和GCM),所以我可以实现它.提前致谢.

android parse-platform google-cloud-messaging

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

mysql中的表情符号转向问号

我试图将表情符号插入到mysql中,但它转向问号,我更改了mysql连接服务器排序规则,数据库排序规则,表排序规则和列排序规则.我用这些来改变物品

# For each database:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
# For each table:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# For each column:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

我已经完成了所有这些,但是mysql中的表情符号仍然显示问号.请问我该怎么做让mysql显示表情符号.提前致谢

mysql emoji

11
推荐指数
2
解决办法
2710
查看次数

如何从服务器在线获取音频流的持续时间

收集音频的总持续时间对我来说已经成为一个问题.我正在创建一个从在线播放音频的活动,我使用的是Android媒体播放器.现在音频能够正常播放,但我面临的问题是允许seek bar 相应的音频进度.搜索栏设置正确但我已经看到getDuration返回0值.以下是我所做的.

public class AudioDetails extends AppCompatActivity
    implements MediaPlayer.OnCompletionListener, SeekBar.OnSeekBarChangeListener {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.audios_details_activity);


    // Mediaplayer
    mp = new MediaPlayer();
    utils = new AudioUtilities();

    // Listeners
    songProgressBar.setOnSeekBarChangeListener(this); // Important
    mp.setOnCompletionListener(this); // Important



    // By default play first song
    playSong(0);

    /**
     * Play button click event
     * plays a song and changes button to pause image
     * pauses a song and changes button to play image
     * */
    btnPlay.setOnClickListener(new View.OnClickListener() {

        @Override …
Run Code Online (Sandbox Code Playgroud)

android

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

React Native 中的“用户正在打字”逻辑实现

我试图在用户键入时显示一条消息,并在达到超时期限后隐藏该消息,我将此逻辑与React Native和 一起使用Gifted Chat

     updateTyping() {
        var TYPING_TIMER_LENGTH= 1000;

        if (this.state.connected) {

            if (!this.state.typing) {
                this.setState({typing : true})
                console.log('typing')   
            }

            var lastTypingTime = (new Date()).getTime();

            setTimeout( () => {

                var typingTimer = (new Date()).getTime();
                var timeDiff = typingTimer - lastTypingTime;

                if (timeDiff >= TYPING_TIMER_LENGTH && this.state.typing) {
                console.log('Stop typing')
                this.setState({typing : false});
                }

            }, TYPING_TIMER_LENGTH);
        }
        else{
            console.log("Socket Cannot connect.")
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,typing即使用户正在打字,消息也会不断隐藏和显示(闪烁)。

逻辑学

现在从逻辑上讲,该typing消息应该显示,如果 1000 毫秒空闲后,该typing消息将隐藏。

从我的代码片段来看,我是否有什么做得不对的地方?任何想法将不胜感激

javascript reactjs react-native

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

通过php将csv文件导入mysql

我正在使用php将csv文件导入我的数据库(Mysql).下面的代码只将第一行(csv文件中的数据)插入到数据库中.但它应该在数据库中插入多行.

$info = pathinfo($_FILES['file']['name']);

/**
 * This checks if the file is a csv file
 */
if(strtolower($info['extension']) == 'csv'){
    $filename=$_FILES["file"]["tmp_name"];

    if($_FILES["file"]["size"] > 0){

        //Open the file
        $file = fopen($filename, "r");

        while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE){
            $num = count($emapData);

            /**
             * Insert data into the database if the columns are 
             *  exactly in three columns
             */ 
            if ($num == 3){
                $sql = "INSERT 
                        INTO Users (firstName,surName,indexNo)
                    VALUES('$emapData[0]','$emapData[1]','$emapData[2]')";

                $result=$db->query($sql);


                if($result){
                    echo "<script type=\"text/javascript\">
                            alert(\"CSV File has been successfully Imported.\"); …
Run Code Online (Sandbox Code Playgroud)

php mysql csv

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