小编mad*_*adu的帖子

Android - 从广播接收器onReceive()获取上下文以发送到

我基本上想要创建一个intent并将它传递给我的BroadcastReceiver的onReceive()服务.

到目前为止,我总是使用View.getContext(),但在这里,我被卡住了.我怎样才能获得上下文以便我可以使用public Intent (Context packageContext, Class<?> cls)

service android broadcastreceiver android-intent android-context

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

Android - 短信广播接收器

我一直试图让这个程序工作,但到目前为止没有运气.我无法找到我做错的地方.我不确定代码或调试是否有问题.

我正在尝试收到新短信到达时的通知.

这是我的计划:

package Technicaljar.SMSBroadcastReceiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;

public class SMSBroadcastReceiver extends BroadcastReceiver {

        private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
        private static final String TAG = "SMSBroadcastReceiver";

        @Override
        public void onReceive(Context context, Intent intent) {
             Log.i(TAG, "Intent recieved: " + intent.getAction());

                if (intent.getAction() == SMS_RECEIVED) {
                    Bundle bundle = intent.getExtras();
                    if (bundle != null) {
                        Object[] pdus = (Object[])bundle.get("pdus");
                        final SmsMessage[] messages = new SmsMessage[pdus.length];
                        for (int i …
Run Code Online (Sandbox Code Playgroud)

sms android broadcastreceiver android-intent

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

单线程与多线程

在一次采访中询问了这个问题.第一部分是编写单例类:

class Singleton
{
    static Singleton *singletonInstance;
    Singleton() {}

  public:
    static Singleton* getSingletonInstance()
    {
        if(singletonInstance == null)
        {
            singletonInstance = new Singleton();
        }
        return singletonInstance;
    }
};
Run Code Online (Sandbox Code Playgroud)

然后我被问到如何getSingletonInstance()在多线程情况下处理这个问题.我不太确定,但我修改为:

class Singleton 
{
    static Singleton *singletonInstance;
    Singleton() {}
    static mutex m_;

  public:
    static Singleton* getSingletonInstance()
    {
        m_pend();
        if(singletonInstance == null)
        {
            singletonInstance = new Singleton();
        }
        return singletonInstance;
    }

    static void releaseSingleton()
    {
        m_post();
    }
};
Run Code Online (Sandbox Code Playgroud)

然后有人告诉我,虽然需要一个互斥锁,但挂起和发布互斥锁效率不高,因为需要时间.并且有一种更好的方法来应对这种情况.

有没有人知道在多线程情况下处理单例类的更好,更有效的方法?

c++ singleton multithreading synchronization mutex

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

C++:深度复制Base类指针

我四处搜索,似乎为了执行此操作,我需要更改我的Base类,并想知道这是否是最好的方法.例如,我有一个Base类:

class Base {}
Run Code Online (Sandbox Code Playgroud)

然后是一长串派生类:

class Derived_1:: public Base {}
class Derived_2:: public Derived_1{}
...
...
class Derived_n:: public Derived_M{}
Run Code Online (Sandbox Code Playgroud)

然后我又上了一堂课:

class DeepCopy 
{ 
  Base * basePtr;

  public:
   DeepCopy(DeepCopy & dc) {}
}
Run Code Online (Sandbox Code Playgroud)

假设Base类和Derived_x类复制构造函数已正确编码,那么为DeepCopy编写复制构造函数的最佳方法是什么.我们如何知道我们要复制的对象的basePtr中的类?

我能想到的唯一方法就是使用RTTI,但是使用一长串的dynamic_cast似乎不对.此外,它需要DeepCopy来了解Base类的继承层次结构.

我看到的另一种方法是在这里.但它需要Base和Derived类实现克隆方法.

那么有一个更简单,标准的方法吗?

c++ inheritance deep-copy copy-constructor

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

从活动开始Google搜索查询 - Android

我想知道是否有更简单的方法(或任何方式)启动带有Google搜索查询的浏览器.例如,用户可以选择某个单词或短语并单击按钮,该活动将使用Google搜索查询启动浏览器.

谢谢.

search android

19
推荐指数
4
解决办法
2万
查看次数

C++:成员变量的初始化

我对类成员变量初始化感到困惑.

假设我的.h文件是:

class Test {

int int_var_1;
float float_var_2;

public:
       Test();
}
Run Code Online (Sandbox Code Playgroud)

我的.cpp会是:

Test::Test() : int_var_1(100), float_var_2(1.5f) {}
Run Code Online (Sandbox Code Playgroud)

现在,当我实例化一个类时,变量初始化为100和1.5.

但如果这就是我在构造函数中所做的一切,我可以在我的.cpp中执行以下操作:

int Test::int_var_1 = 100;
float Test::float_var_2 = 1.5f;
Run Code Online (Sandbox Code Playgroud)

我对构造函数中的变量初始化或解析运算符之间的区别感到困惑.

这种使用范围分辨率在构造函数外部初始化变量的方法是否仅适用于静态变量,或者是否也可以对常规变量执行此操作?

c++ constructor initialization

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

引用在不同文件夹中创建的 Terraform 资源

我有以下文件夹结构:

\n
infrastructure\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80security-groups\n\xe2\x94\x82   \xe2\x94\x82   main.tf\n\xe2\x94\x82   \xe2\x94\x82   config.tf\n\xe2\x94\x82   \xe2\x94\x82.  security_groups.tf\n\xe2\x94\x82   \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80instances\n    \xe2\x94\x82   main.tf\n    \xe2\x94\x82   config.tf\n    \xe2\x94\x82   instances.tf\n
Run Code Online (Sandbox Code Playgroud)\n

我想通过引用来引用 security-groups 文件夹中实例化的安全组 ID。\n我尝试使用以下命令在 security_groups.tf 文件中输出所需的 ID

\n
output "sg_id" {\n  value = "${aws_security_group.server_sg.id}"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

然后在实例文件中将其添加为模块:

\n
module "res" {\n  source = "../security-groups"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这种方法的问题是,当我在实例文件夹中执行 terraform apply 时,它也会尝试创建安全组(我已经通过在安全组文件夹中执行 terraform apply 创建了安全组),但它失败了,因为 SG 是现存的。

\n

在不更改代码结构的情况下引用在不同文件夹中创建的资源的最简单方法是什么?

\n

谢谢。

\n

terraform terraform-provider-aws

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

带滚动条的HTML画布

我正在宽幅不均匀的画布上画图.每个画布是否可以拥有自己的滚动条?我试图将所有画布放在一个div中并指定一个最大宽度,但它不起作用.是否可以在页面上以可见宽度表示所有画布500px,并且每个画布都有其滚动条以查看画布的整个宽度.

谢谢.

html css canvas scrollbar

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

编译器不生成移动构造函数

我试图理解移动语义正在寻找编译器生成的移动构造函数(复制和赋值).在Modern Effective C++中,Scott Meyers在第17项中说,如果没有声明显式的复制构造函数,编译器将生成移动构造函数,它将为non-static成员执行成员移动.

为了确认这一点,我正在尝试下面的代码:

#include <iostream>
#include <string>
using namespace std;

class A
{
private:
    std::string str;

public:

    A() : str("Init string")
    {
        cout << "Default constructor" << endl;
    }

    A(std::string _str) : str(_str)
    {
        cout << "Constructor with string" << endl;
    }

    std::string getString()
    {
        return str;
    }
};

int main() {

    A obj1;
    A obj2("Obj2 string");

    cout << endl;
    cout << "obj1: " << obj1.getString() << endl;
    cout << "obj2: " << obj2.getString() …
Run Code Online (Sandbox Code Playgroud)

c++ move-semantics c++11

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

编写和读取XML的最简单方法

我想知道在Android中编写和解析XML文件的最简单方法是什么.

我的要求很简单.示例文件类似于:

<Item ID="1" price="$100" Qty="20" />
Run Code Online (Sandbox Code Playgroud)

我只想通过ID检索项目并读取价格和数量.

我指的是使用XmlResourceParser来解析自定义编译的XML,但是想知道是否有一种轻量级的方法来做一些微不足道的事情(仍然使用标签).

xml android xml-parsing android-xmlpullparser

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