小编pas*_*pkT的帖子

如何从任何地方获取包名?

我知道Context.getApplicationContext()View.getContext()的可用性,通过它我可以实际调用Context.getPackageName()来检索应用程序的包名.

如果我从一个View或一个Activity对象可用的方法调用它们,但是如果我想从一个完全独立的类中找到包名而没有View或者Activity,有没有办法(直接或间接)?

android package android-context

324
推荐指数
7
解决办法
31万
查看次数

Android编译资源 - resources.arsc

我想弄清楚"编译资源"是什么意思.

我为了解这个问题做了什么:

我已经阅读了很多关于这个主题的文章,但没有找到一个简单的答案.我读过的最好的是:android资源和资源ID之间的映射如何工作的?.

我怎么理解:

根据我的理解,当我们通过ANT(Eclipse)或Gradle(AS)编译项目时.我们使用一个名为aapt的工具--Android Asset Packaging Tool:用于为我们的每个资源生成唯一的ID,例如我们的布局,样式等,并将它们存储在查找表中.然后它通过生成两个文件来持久化此查找表:

  1. 它生成具有这些唯一ID的R.java文件,因此我们将能够在编译期间使用我们的java代码中的资源.
  2. 它生成resources.arsc文件,该文件可以在资源*.ap_文件中找到.这个resources.arsc文件稍后将由apktool打包到apk.
    此arsc文件格式是一种在运行时由设备轻松映射和解析的格式.

一个例子:

所以要简单一点:假设我在activity_main.xml中有这个:

    <TextView android:id="@+id/my_textView"
        android:text="@string/hello_world" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

我从我的onCreate中调用它:

findViewById(R.id.my_textView)
Run Code Online (Sandbox Code Playgroud)

在我的R.java文件中,我将看到:

public static final int my_textView=0x7f08003f;
Run Code Online (Sandbox Code Playgroud)

在生成的apk上使用:aapt dump资源我可以看到它包含两行my_textView:ec资源0x7f08003f com.example.lizi.liortest2:id/my_textView:flags = 0x00000000资源0x7f08003f com.example.lizi.liortest2:id/my_textView :t = 0x12 d = 0x00000000(s = 0x0008 r = 0x00)

我不明白的是:

我原以为这个resources.arsc文件不仅包含资源ID,还包含我为视图定义的所有属性,例如android:layout_width ="wrap_content".

所以现在在运行时VM尝试运行时findViewById(R.id.my_textView) 如何知道要创建哪个视图/要创建的属性?

我根本无法理解它是如何工作的......这个查找表是否也不包含属性数据?什么是0x7f08003f号码?(它是否应该表示稍后将映射到将存储对象的物理内存的值?)

resources android r.java-file

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

神经网络不学习 - MNIST数据 - 手写识别

我写了一个神经网络程序.它适用于Logic Gates,但是当我尝试使用它来识别手写数字时 - 它根本就不会学习.

请找到以下代码:

//这是一个神经元; 为了理解剩余的代码,这可能是必要的

typedef struct SingleNeuron
{
    double                  outputValue;
    std::vector<double>     weight;
    std::vector<double>     deltaWeight;
    double                  gradient;
    double                  sum;
}SingleNeuron;
Run Code Online (Sandbox Code Playgroud)

然后我初始化网.我将权重设置为-0.5到+0.5之间的随机值,总和为0,deltaWeight为0

然后是FeedForward:

for (unsigned i = 0; i < inputValues.size(); ++i)
{
    neuralNet[0][i].outputValue = inputValues[i];
    neuralNet[0][i].sum = 0.0;
    //  std::cout << "o/p Val = " << neuralNet[0][i].outputValue << std::endl;
}

for (unsigned i = 1; i < neuralNet.size(); ++i)
{
    std::vector<SingleNeuron> prevLayerNeurons = neuralNet[i - 1];
    unsigned j = 0;
    double thisNeuronOPVal = 0;
    //  std::cout << std::endl; …
Run Code Online (Sandbox Code Playgroud)

c++ gradient machine-learning image-processing neural-network

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

我怎么能模拟缺少文件描述符?

我想挑起一个没有文件描述符的情况.

我一直在考虑两种可能性:

  1. 随机打开数千个文件,直到打开结果为-1
  2. 设置一个非常低数量的文件描述符(比如stdin,stdout和stderr).

你会怎么做?

c linux file-descriptor

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

如何迭代命令行上传递的所有文件行?

我通常在Perl中这样做:

whatever.pl

while(<>) {
    #do whatever;
}
Run Code Online (Sandbox Code Playgroud)

然后 cat foo.txt | whatever.pl

现在,我想用Python做到这一点.我试过,sys.stdin但我不知道怎么做,就像我在Perl中所做的那样.我该如何阅读输入?

python stdin

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

从后面的代码显示上下文菜单

这可能是一个简单的问题,但我一直在环顾四周,找不到答案.是否有任何代码可以从代码中显示Android上下文菜单,而不是按菜单按钮?例如,当我触摸屏幕时,它会调用上下文菜单吗?

android contextmenu code-behind show

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

C 中的数组切片

在 Python 中,如果我想将向量分配x=(1,2)给 的前两个元素y=(0,0,0,0),我会做类似y[:1] = x. C 中是否有等效项可以将 a 分配给double x[2]={1.,2.}available 的前两个元素double y[4] = {0.,0.,0.,0.}?还是我必须循环?

c arrays

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

可以添加基本的新SQL Server索引会产生更多问题吗?

我对Indexing完全不熟悉,并希望加快我的一些客户系统.我的组织犯了一个错误,并将一些客户从SQL Server 2000升级到SQL Server 2008,然后在内部完全测试.因此,(新)服务器的运行速度比以往任何时候都慢.正如您所想象的那样,这让客户感到困惑.每个客户都有两个SQL Server用户数据库,大小约为1GB,每个客户各有约30个用户.

在我的组织中,目前没有任何资源可以引入开发人员或DBA来推荐如何加快新系统的使用速度.

如果我花费四周时间学习SQL Server数据库和索引,你认为添加一些索引以确定这是否有所不同可能是个好主意?我也可以轻松地删除索引以使系统恢复原状,这样就不会造成伤害吗?除了它是一种学习经历?

sql sql-server indexing

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

如何在swift label.text中添加新行

我正在创建一个应用程序,我想在Teach.text中添加一个新行

func RandomQuestions(){

        var RandomNumber = arc4random() % 1
        RandomNumber += 1

        switch(RandomNumber){
        case 1:
            QuestionLbl.hidden = false
           QuestionLbl.text = "2x + 4 = 14"
            Button1.setTitle("x = 5", forState: UIControlState.Normal)
           Button2.setTitle("x = 4", forState: UIControlState.Normal)
           Button3.setTitle("x = 9", forState: UIControlState.Normal)
            Button4.setTitle("y = 5", forState: UIControlState.Normal)
            Teach.text = "2x + 4 = 14"
            CorrectAnswer = "1"
            break

        default:
            break

        } 

    }
Run Code Online (Sandbox Code Playgroud)

所以换句话说,我需要添加另一行,所以当我测试我的应用时,'教'应该说

2x + 4 = 14
2x = 10

swift

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

为什么cppcheck工具找不到未初始化的变量?

我运行commad(Ubuntu 12.04)

cppcheck test.cpp
Run Code Online (Sandbox Code Playgroud)

我期待来自cppcheck工具的未初始化变量警告.为什么cppcheck工具不能在命令行上打印它?

示例cpp代码:

#include <iostream>

class Foo
{
private:
    int m_nValue;

public:
    Foo();
    int GetValue() { return m_nValue; }
};

Foo::Foo()
{
    // Oops, we forget to initialize m_nValue
}

int main()
{
    Foo cFoo;
    if (cFoo.GetValue() > 0)
    {//...
    }
    else
    {//...
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ warnings initialization cppcheck

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