小编Sau*_*ack的帖子

在Android的UserDictionary中添加单词

我想在我的Android手机(Moto Droid)中添加整个医学字典.我希望能够发送短信并将医学词汇放在可预测的文本中.

我一直在尝试编写一个可以实现此目的的小应用程序,但是我尝试应用程序的所有内容都会在启动时崩溃.我从来没有为移动平台编写应用程序,所以这对我来说是第一次.这是不正常的.

public class WordAdd extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    UserDictionary.Words.addWord( this , "newMedicalWord", 1, UserDictionary.Words.LOCALE_TYPE_CURRENT);
}
Run Code Online (Sandbox Code Playgroud)

}

这似乎很简单,但我很困难.感谢您的任何帮助,您可以提供.

编辑:我应该提到我在AVD(虚拟设备)中得到Android 2.1的这个错误.

编辑2: 用户词典可在Android API中找到.addWord是一个静态方法.我没有声明UserDictionary,因为我只使用一个静态方法.自从我用Java开发任何东西以来已经很久了,这是我在任何移动开发中的第一次尝试,所以我不知道我做错了什么.

android

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

使用git在Windows中推送到code.google.com

相关问题: gitGit 不接受netrc - 如何在windows上使用.netrc文件保存用户和密码

我正在尝试将更改推送到code.google.com git存储库.我正在使用Git Extensions.我的HOME变量在Windows和Git Bash中都设置了.

C:\> echo %HOME%
C:\Users\Username

$ echo $HOME
/c/Users/Username
Run Code Online (Sandbox Code Playgroud)

我在%HOME%中添加了一个名为_netrc的文件

machine code.google.com
login username@gmail.com
password GOOGLEGENERATED
Run Code Online (Sandbox Code Playgroud)

显然,用户名被我的用户名取代,而GOOGLEGENERATED是谷歌生成的密码.尝试推送时,我收到此错误消息:

C:\ Program Files\Git\bin\git.exe push -u --recurse-submodules = check"origin"master:master Done fatal:remote error:用户名/密码无效.您可能需要使用生成的googlecode.com密码; 请参阅https://code.google.com/hosting/settings

相关问题表明一切设置正确,但仍然无效.有任何想法吗?

windows git

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

在Wix安装期间注册.NET COM DLL

背景:

我们的应用程序是一个用于更大应用程序的插件.我们创建的所有内容都是较大的应用程序挂钩的DLL文件.因此我们的.NET(C#)必须为COM接口注册DLL文件.

我们有一个有效的InstallShield项目,但由于很多原因我不打算在这里进行,我们希望将它迁移到WiX.对安装程序唯一要做的就是为COM注册我们的DLL文件.

问题

这是一个包含单个DLL文件的示例组件.

<Component Id="MyComponent" Guid="COMPONENT-GUID" SharedDllRefCount="yes" >
    <File Id="MyDLL.dll" Name="MyDLL.dll" KeyPath="yes" Assembly=".net" 
          AssemblyManifest="MyDLL.dll" AssemblyApplication="MyDLL.dll" />
</Component>
Run Code Online (Sandbox Code Playgroud)

根据接受的答案如何在WiX 3中注册Win32 COM DLL文件?,建议添加SelfRegCost=1到File标签.这会导致安装期间出错:

模块C:\ Program files\Product\MyDll.dll无法注册.HRESULT -2147024769.联系您的支持人员.

同一问题中的第二个答案(由Rob Menshing提出)建议不要采用这种方法,但要在文件标签内添加:

<Class Id="PUT-CLSID-HERE" Context="InprocServer32" ThreadingModel="apartment" Description="Your server description">
        <ProgId Id="Your.Server.1" Description="Your ProgId description">
            <ProgId Id="Your.Server" Description="Your ProgId description" />
        </ProgId>
    </Class>

    <Class Id="PUT-PROXY-CLSID-HERE" Context="InprocServer32" ThreadingModel="both" Description="Your server Proxies, assuming you have them">
        <Interface Id="PUT-INTERFACEID-HERE" Name="IInterface1" />
        <Interface Id="PUT-INTERFACEID-HERE" Name="IInterface2" />
        <Interface Id="PUT-INTERFACEID-HERE" …
Run Code Online (Sandbox Code Playgroud)

wix

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

线程接收错误的参数

我需要在一个线程中运行一个给定参数的方法.我注意到,当我运行它时,参数是错误的.对于给出的示例,我有一个int[] output数字为1-7 的数组.对于每个数字,我使用该方法创建一个线程WriteInt(i).我希望输出在任何顺序都是1-7,但我一直看到一些数字遗漏,其他人重复.发生了什么以及启动这些线程的正确方法是什么?

(该列表仅在此后加入线程)

class Program
{
    static void Main(string[] args)
    {
        int[] output = { 1, 2, 3, 4, 5, 6, 7 };

        List<Thread> runningThreads = new List<Thread>();

        foreach (int i in output)
        {
            Thread thread = new Thread(() => WriteInt(i));
            thread.Start();
            runningThreads.Add(thread);
        }
        foreach(Thread t in runningThreads)
        {
            t.Join();
        }
    }

    private static void WriteInt(int i)
    {
        Console.WriteLine(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

示例输出:

3
3
4
5
6
7
Run Code Online (Sandbox Code Playgroud)

c# multithreading .net-3.5

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

How can I make LWP::UserAgent look like another browser?

This is my first post on SO, so be gentle. I'm not even sure if this belongs here, but here goes.

我想访问我的一个个人帐户的一些信息.该网站写得不好,要求我手动输入我想要的信息日期.这确实很痛苦.我一直在寻找借口来学习更多Perl所以我认为这将是一个很好的机会.我的计划是编写一个Perl脚本,该脚本将登录到我的帐户并为我查询信息.但是,我很快陷入困境.

my $ua = LWP::UserAgent->new;
my $url = url 'https://account.web.site';
my $res = $ua->request(GET $url);
Run Code Online (Sandbox Code Playgroud)

生成的网页基本上表示我的网络浏览器不受支持.我尝试了许多不同的值

$ua->agent("");
Run Code Online (Sandbox Code Playgroud)

但没有任何事情似乎有效.谷歌周围建议使用这种方法,但它也表示perl在网站上被用于恶意原因.网站阻止这种方法吗?我甚至想做什么?是否有更合适的不同语言?我正在努力做甚至合法甚至是好主意?也许我应该放弃我的努力.

请注意,为了防止泄露任何私人信息,我在这里写的代码不是我正在使用的确切代码.但我希望这很明显.

编辑:在FireFox中,我禁用了JavaScript和CSS.我没有"不兼容的浏览器"错误就登录了.它似乎不是JavaScript问题.

perl lwp

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

Lambda内循环

我在lambda中有一个lambda,在for循环中有一个loop变量参数.当我运行它时,我希望输出数字0-9.但由于它是一个lambda,x不会立即得到评估.

    for( int x = 0; x < n; ++x)
    {
            vec.push_back(thread{[&x](){
                    m.lock();
                    cout << x << endl;
                    m.unlock();
            }});
    }
Run Code Online (Sandbox Code Playgroud)

输出:

0
3
3
9
Run Code Online (Sandbox Code Playgroud)

等等

其他语言的解决方案是创建一个临时变量,

    for( int x = 0; x < n; ++x)
    {
            int tmp = x;
            vec.push_back(thread{[&tmp](){
                    m.lock();
                    cout << tmp << endl;
                    m.unlock();
            }});
    }
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.

请参阅接收错误参数的线程

奖金:

在我寻找答案的过程中,我偶然发现了这个问题, 概括了C++ 11 Threads类以使用lambda ,它建议不使用会使迭代器无效的容器.为什么会这样?

c++ lambda c++11

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

默认情况下,将子功能设置为不安装

我有一个带有功能和两个子功能的WIX安装.我希望该功能是必需的,并且两个子功能是可选的,但默认情况下不安装.这是我的功能树:

<Feature Id="A" Level="3" AllowAdvertise="no" TypicalDefault="install" 
         InstallDefault="local" Absent="disallow" >
  <Feature Id="A1" Level="1" AllowAdvertise="no" />
  <Feature Id="A2" Level="1" AllowAdvertise="no" />
</Feature>
Run Code Online (Sandbox Code Playgroud)

我想添加:

<Property Id="INSTALLLEVEL" Value=3 />
Run Code Online (Sandbox Code Playgroud)

将设置主要功能安装和子功能不安装.情况并非如此; 默认情况下安装所有功能.

我正在使用WixUI_FeatureTree.我想知道这是否会搞乱INSTALLLEVEL属性.

那么我正在尝试甚至可能吗?如何默认禁用这两个子功能?

编辑:有趣.我重新设置INSTALLLEVEL=1000并尝试了,所有功能仍然设置为安装.WixUI_FeatureTree会破坏INSTALLLEVEL吗?

installer windows-installer wix

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

使用OleDbDataAdapter和DataSet更新Access.mdb

我正在尝试更新一个简单的ms访问数据库.我在某些表上得到一个Exception,在搜索之后,我发现了Microsoft支持 - 语法错误.我相信这意味着其中一个列名使用保留字.这似乎是这种情况,因为除了具有"GUID"作为列名之一的保留字之外,所有表都更新.这个页面还说明我应该使用OleDbAdapter和DataSet来解决这个问题.不幸的是我无法更改列的名称.这是我无法控制的,所以我必须与给予我的东西一起工作.

我没有必要对数据库做太多工作,而且我所知道的一切都是从互联网上的例子中学到的(可能是坏的).那么使用OleDbAdapter和dataSet更新数据库的正确方法是什么?

我不认为我应该使用DataTable或OleDbCommandBuilder,我相信解决方案与参数有关.但我的谷歌技能很弱.

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " +
                            Data Souce=" + source);
conn.Open();
OleDbAdapter adapter = new OleDbDataAdapter("SELECT * From " + table, conn);
OleDbCommandBuiler cmdBuiler = new OleDbCommandBuilder(adapter);
DataSet = new DatSet();
adapter.InsertCommand = cmdBuilder.GetInertCommand(true); // Is this necessary?
adapter.Fill( dataSet, table);
DataTable dataTable = dataSet.Tables[table]; // Do I need a DataTable?
DataRow row = dataTable.
row [ attribute ] = field; // Do this for all attributes/fields. I think this is wrong. …
Run Code Online (Sandbox Code Playgroud)

c# ms-access

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

在 WIX 安装中如何使用 ReuseCabinetCache

类似问题:重用 WIX 组件来加速蜡烛/灯

我的项目与引用的项目有相同的问题;每次需要构建时,都会将一个从不更改的非常大的静态数据库压缩到 msi 中。我想按照问题的要求做:重用预压缩的 cab 文件以加快构建时间。

我开始按照答案建议使用 cabCache 属性。我在 .wixproj 中添加了以下内容:

<CabinetCachePath>cabs</CabinetCachePath>
<ReuseCabinetCache>True</ReuseCabinetCache>
Run Code Online (Sandbox Code Playgroud)

然后我将静态数据分离成一个片段:

<Fragmet>
  <Media Id="2" Cabinet="static.cab" EmbedCab="no" />
  <Component Id="staticCab" Guid="..." >
    Files ...
  </Component>
Run Code Online (Sandbox Code Playgroud)

该片段在功能中被引用:

<ComponentRef Id="staticCab" />
Run Code Online (Sandbox Code Playgroud)

这创建了 cab 文件,但将其留空。我的下一个想法是使用合并模块。我创建了模块:

<Module Id="StaticModule" Language="1033" Version="1.0.0.0" >
  <Package ...>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="MergeRedirectFolder" Name=".">
        <Component Id="StaticFiles" Guid="...">
          Files...
        </ -- End all XML Tags
Run Code Online (Sandbox Code Playgroud)

然后合并它:

<Directory Id="StaticDir" Name="static">
  <Merge Id="StaticModule" Language="1033" src="..\Static\bin\Release\static.msm" />
</Directory>

<Feature ...>
  <MergeRef Id="StaticModule"/>
</Feature>
Run Code Online (Sandbox Code Playgroud)

即使在这一切之后,CabinetCache 仍然每次都在重建。

我想我的问题是使用 ReuseCabinetCache 的正确方法是什么。我仍在学习 …

wix wix3.5

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