小编ada*_*ker的帖子

Android双SIM卡API

关于通过Android SDK访问双SIM卡功能有几个问题,所有这些问题都通过简短的声明来回答,这些声明在Android中不支持这些功能.

尽管如此,双SIM卡手机确实存在,而像MultiSim这样的应用似乎能够以某种独立于制造商的方式检测到这一点.

所以,从这个承认开始,让我试着提出一些更尖锐的问题:

  • "Android SDK不支持多个SIM功能"是否意味着这些功能不存在,或者尝试使用它们只是一个坏主意?
  • 是否有提供SIM卡信息的Android内容提供商或内部包(com.android ...)?(TelephonyManager,据我在文档和代码中看到的,没有提到多个SIM卡)
  • 是否有任何制造商向开发人员公开多个SIM功能的报告?
  • 如果我要从制造商那里寻找未记录的功能,我该怎么做呢?

(顺便说一下,所有这一切只是为了实现这个算法:用SIM卡1发送短信;如果发送失败,切换到SIM卡2并重新发送消息.)

android sim-card

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

Android:我需要关闭Cursor对象吗?

在我的数据库适配器类中,我有很多这样的方法:

public long getContactId(final String phoneNumber) throws SQLException {
    final Cursor cur = mDb.rawQuery(
            "select contact_id from contactphones where number=? limit 1;",
            new String[] { phoneNumber });
    return cur.moveToFirst() ? cur.getLong(0) : -1;
}
Run Code Online (Sandbox Code Playgroud)

我很欣赏这种方法的简洁性.但我不是在调用Cursor.close(),我不确定这是不是问题.是否会关闭Cursor并在Cursor.finalize()中释放其资源?否则我将不得不这样做:

public long getContactId(final String phoneNumber) throws SQLException {
    final Cursor cur = mDb.rawQuery(
            "select contact_id from contactphones where number=? limit 1;",
            new String[] { phoneNumber });
    final boolean retVal = cur.moveToFirst() ? cur.getLong(0) : -1;
    cur.close();
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

sqlite android

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

将自定义sqlite函数添加到Qt应用程序

我正在尝试将自定义sqlite3 regexp函数添加到我的Qt应用程序中(按照此答案的建议).但是一旦我调用该sqlite3_create_function函数,我就会收到消息.The program has unexpectedly finished.当我调试时,它会终止分段错误sqlite3_mutex_enter.下面有一个MWE,对绝对文件路径道歉.

regexp我的代码中的实现来自这个站点 ; 它也失败了这里msign功能.各种检查直接来自Qt文档.driver()->handle()

顺便说一下,我曾经select sqlite_version();确定Qt 5.5使用的是sqlite版本3.8.8.2.我通过查看Qt GitHub存储库中的旧提交找到了该版本.

MWE.pro

QT       += core gui
TARGET = MWE
TEMPLATE = app
QT += sql
SOURCES += main.cpp \
    D:\Qt\Qt5.5.0\5.5\Src\3rdparty\sqlite\sqlite3.c

HEADERS  += D:\Qt\Qt5.5.0\5.5\Src\3rdparty\sqlite\sqlite3.h
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include <QtSql>

#include "D:/Qt/Qt5.5.0/5.5/Src/3rdparty/sqlite/sqlite3.h"

void qtregexp(sqlite3_context* ctx, int argc, sqlite3_value** argv)
{
    QRegExp regex;
    QString str1((const char*)sqlite3_value_text(argv[0]));
    QString str2((const char*)sqlite3_value_text(argv[1]));

    regex.setPattern(str1);
    regex.setCaseSensitivity(Qt::CaseInsensitive);

    bool b …
Run Code Online (Sandbox Code Playgroud)

sqlite qt

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

Qt的foreach表达式需要深层复制吗?

我对Qt的foreach函数有点问题.我有一个类Phrase,它是QList的子类.在〜Phrase中,我删除所有GlossItem指针.

在迭代Phrase中的GlossItem指针时,我想使用Qt的foreach:

    // phrase is a pointer to a Phrase object, 
    // which is a subclassed QList<GlossItem*>
    foreach( GlossItem *glossItem , *phrase )
    {
        // use glossItem
    }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,foreach正在对Phrase执行深层复制(我知道这是因为它需要我实现复制构造函数).但如果有一个短语的副本 - 如果我不想创建每个GlossItem的深层副本 - 这意味着这些指针将被删除两次.(或者,删除一次,然后崩溃.)所以我必须使用它,这可行,但不太漂亮.

    for(int i=0; i<phrase->count(); i++ )
    {
        GlossItem *glossItem = phrase->at(i);
        // use glossItem
    }
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,还是只需要忍受它?

c++ foreach qt

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

为什么 qobject_cast 和 dynamic_cast 在连接到 QWidget::destroyed 的插槽中失败?

我有一个子类,从 QObject 子类化。我想知道item什么时候被删除,所以我把这个槽连接到了子类继承的QWidget::destroyed()信号。但是当我尝试使用 qobject_cast 将参数转换为时,我得到零结果。从 C++ 的 dynamic_cast 获得相同的结果。为什么?

void MyClass::mySlot( QObject * item )
{
    qobject_cast<Subclass*>(item); // returns zero, even though item is a Subclass*
}
Run Code Online (Sandbox Code Playgroud)

qt casting qobject

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

将"Program Files"设置为Qt Installer Framework中的默认安装目录

在Qt安装程序框架中,所有演示都具有TargetDir(例如,用于Windows)将应用程序放置在其中的规范C:\InstallationDirectory.如何将其默认为Program Files?

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>Your application</Name>
    <Version>1.2.3</Version>
    <Title>Your application Installer</Title>
    <Publisher>Your vendor</Publisher>
    <StartMenuDir>Super App</StartMenuDir>
    <TargetDir>@RootDir@InstallationDirectory</TargetDir>
</Installer>
Run Code Online (Sandbox Code Playgroud)

c++ qt qt-installer

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

标签 统计

qt ×4

android ×2

c++ ×2

sqlite ×2

casting ×1

foreach ×1

qobject ×1

qt-installer ×1

sim-card ×1