小编Hei*_*nen的帖子

使用数据库发送应用程序

如果您的应用程序需要数据库并且它带有内置数据,那么运送该应用程序的最佳方式是什么?我是不是该:

  1. 预先创建SQLite数据库并将其包含在.apk?

  2. 在应用程序中包含SQL命令并让它创建数据库并在首次使用时插入数据?

我看到的缺点是:

  1. 可能的SQLite版本不匹配可能会导致问题,我目前不知道数据库应该去哪里以及如何访问它.

  2. 在设备上创建和填充数据库可能需要很长时间.

有什么建议?关于任何问题的文档的指针将不胜感激.

android android-sqlite android-database

948
推荐指数
9
解决办法
23万
查看次数

当进度对话框和后台线程激活时,如何处理屏幕方向更改?

我的程序在后台线程中执行一些网络活动.在开始之前,它会弹出一个进度对话框.该对话框在处理程序上被关闭.这一切都很好,除非在对话框启动时屏幕方向发生变化(后台线程正在运行).此时,应用程序崩溃或死锁,或进入一个奇怪的阶段,在应用程序完全无法工作之前,直到所有线程都被杀死.

如何优雅地处理屏幕方向变化?

下面的示例代码大致匹配我的真实程序:

public class MyAct extends Activity implements Runnable {
    public ProgressDialog mProgress;

    // UI has a button that when pressed calls send

    public void send() {
         mProgress = ProgressDialog.show(this, "Please wait", 
                      "Please wait", 
                      true, true);
        Thread thread = new Thread(this);
        thread.start();
    }

    public void run() {
        Thread.sleep(10000);
        Message msg = new Message();
        mHandler.sendMessage(msg);
    }

    private final Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            mProgress.dismiss();
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

堆:

E/WindowManager(  244): Activity MyAct has …
Run Code Online (Sandbox Code Playgroud)

android android-dialog android-activity

515
推荐指数
9
解决办法
23万
查看次数

在with-block之外使用with语句定义的变量?

请考虑以下示例:

with open('a.txt') as f:
    pass
# Is f supposed to be defined here?
Run Code Online (Sandbox Code Playgroud)

我已经阅读了with语句和PEP-343的语言文档(2.7),但据我所知,他们在这个问题上没有说什么.

在CPython 2.6.5 f中似乎确实在with-block之外定义,但我宁愿不依赖可能改变的实现细节.

python

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

如何让easy_install在setup.py中执行自定义命令?

我希望我的setup.py除了安装Python包之外还做一些自定义操作(比如安装init.d脚本,创建目录和文件等).我知道我可以自定义distutils/setuptools类来做我自己的操作.我遇到的问题是当我cd到包目录并执行"python setup.py install"时一切正常,但是当我执行"easy_install mypackage.tar.gz"时,我的自定义类似乎没有被执行.这是我的setup.py文件(在同一目录中创建一个空的myfoobar.py文件进行测试):

import setuptools
from setuptools.command import install as _install

class install(_install.install):
    def initialize_options(self):
        _install.install.initialize_options(self)

    def finalize_options(self):
        _install.install.finalize_options(self)

    def run(self):
        # Why is this never executed when tarball installed with easy_install?
        # It does work with: python setup.py install
        import pdb;pdb.set_trace()
        _install.install.run(self)

setuptools.setup(
    name = 'myfoobar',
    version = '0.1',
    platforms = ['any'],
    description = 'Test package',
    author = 'Someone',
    py_modules = ['myfoobar'],
    cmdclass = {'install': install},
)
Run Code Online (Sandbox Code Playgroud)

即使我从distutils导入"setup"和"install",也会发生同样的事情.任何想法如何让easy_install执行我的自定义类?

为了澄清,我不想使用任何额外的东西,比如Buildout或Paver.

python setuptools easy-install

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

如何将路径转换为Mac OS X路径,几乎是NFD正常形式?

Mac通常在HFS +文件系统上运行,该系统规范化路径.也就是说,如果您在其中保存带有重音é的文件(u'\xe9'例如),然后执行a,os.listdir您将看到文件名已转换为u'e\u0301'.这是Python unicodedata模块可以处理的正常unicode NFD规范化.不幸的是,HFS +与NFD并不完全一致,这意味着某些路径不会被标准化,例如u'\ufa1b',尽管它的NFD形式是福的,但不会改变福()u'\u798f'.

那么,如何在Python中进行规范化呢?我可以使用原生API,只要我可以用Python调用它们.

python unicode macos hfs+ unicode-normalization

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

当你在Eclipse中使用堆栈中的SDK类获得堆栈跟踪时,如何看待SDK源代码?

当您使用Eclipse插件和调试器开发Android应用程序并获得堆栈跟踪时,您将看不到任何SDK源代码.你需要采取哪些措施来解决这个问题?假设初学Java程序员.

为了澄清,我希望Eclipse在跳转到堆栈帧时自动向我显示正确的源文件和行.我假设我需要找到正确的SDK源代码,将它们放在我的本地系统上,然后告诉Eclipse如何查找和使用它们.问题是,我究竟是如何做这些步骤的.

eclipse android

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

如何使EditText小于默认值?

我需要在屏幕上显示大量的EditText控件,每个控件只允许输入0-2位数.默认的EditText大小太宽,我无法在屏幕上显示足够的EditText控件,但我一直无法弄清楚如何使它们更窄.我已经尝试了以下属性

XML:

android:maxLength="2"
android:layout_width="20dip"
android:maxWidth="20px"
android:ems="2"
android:maxEms="2"
Run Code Online (Sandbox Code Playgroud)

所以问题是:如何使EditText小于默认值?

android android-layout android-xml

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

M2Crypto使用AES256加密/解密

有人可以使用Python为m2crypto aes256 CBC提供加密/解密代码

python aes m2crypto

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

您可以使用AM/PM将24小时时间字符串格式化为12小时的时间字符串吗?

我以%H:%M字符串格式(例如"15:43")在sqlite中存储一些时间值,但是我希望以12小时格式将它们格式化为AM/PM指示符(例如"3:43")下午").这是可能的sqlite(如果是这样,如何),或者我需要在我的应用程序代码中执行此操作?

sqlite

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

如何在雪豹上有条件地建立一个蚂蚁目标

我有一个跨平台的应用程序,我们使用ant在不同的平台上构建不同的东西.现在出现了一个新的要求,如果在Snow Leopard或者后来的Leopard上进行构建,我需要采取不同的做法.

我查看了http://www.devdaily.com/blog/post/java/how-determine-operating-system-os-ant-build-script,其中介绍了如何区分Windows和Macintosh等,以及http ://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/api/org/apache/tools/ant/taskdefs/condition/Os.html显示了os的其他属性,例如${os.version}.

我还没想到的是如何比较它的os.version价值,如果它是10.6或更高的雪豹的东西.如果我可以snow_leopard在Snow Leopard上将变量设置为1,我想我可以将其余部分计算出来.

ant osx-snow-leopard

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

Python M2Crypto - 生成DSA密钥对并分离公共/私有组件

任何人都可以解释以下原因:

>>> from M2Crypto import DSA, BIO
>>> dsa = DSA.gen_params(1024)
..+........+++++++++++++++++++++++++++++++++++++++++++++++++++*
............+.+.+..+.........+.............+.....................+.
...+.............+...........+.........................................
+.........+................+..........+......+..+.+...+..........+..+..
..+...+......+....+.............+.................+.......+.........+..
....+......+.+..+..........+........+.+...+..+...............+.........
..+.....+........+..........+++++++++++++++++++++++++++++++++++++++++++
++++++++*
>>> mem = BIO.MemoryBuffer()
>>> dsa.save_key_bio(mem, cipher=None)
1
>>> dsa.save_pub_key_bio(mem)
0
>>> print mem.getvalue()
-----BEGIN DSA PRIVATE KEY-----
MIIBIgIBAAKBgQDPGRFSTqqx8vet5kaW5m99A83REotTcX9HOv+zrqMxQpaTlinS
MDz49I4psDPJ+bWH7vySEdOYO2JGUj6kYZdz/ZwyNjphWNjQkaUrmfaVLzS3PHpW
aMrPEweLesf/PT4KXm2HaDbaW/g2Ds5h+Zlq9LDKcN2vfvyeiTCmf1esyQIVAO9I
ippU4PIdvJVO9HQRkqrD2bxPAoGBAIwVgM7dgNVwihJva6qeeh7ypy3ESNB9k8nY
fOnES+SqZGQbkPrJIusRCJNKERiMATJXNRMfBeWD8htNRezbgtr0OpuYSBurAQjp
hKKVI3DHSv7XT49BQ3tdJww8lQfkOhHOfFTG6U1dJhWdggp0WN3EjYlt77agRsjR
4t5sD1f3
-----END DSA PRIVATE KEY-----
-----BEGIN PUBLIC KEY-----
-----END PUBLIC KEY-----
>>>
Run Code Online (Sandbox Code Playgroud)

很明显我错过了一些东西.M2Crypto不存在的文档没有帮助.

python cryptography rsa m2crypto

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

使用变量问题制作目录

我不能使用定义的变量创建一个目录,我得到一个, WindowsError: [Error 183] Cannot create a file when that file already exists:

我试过这样的事情:

import os, ConfigParser
import Tkinter as tk

root = Tk()

exp_no = ""

config = ConfigParser.ConfigParser()
config.read("config.ini")
resultado = config.get("General", "lugar_exp")

en1 = tk.Entry(root, width = 30, background = 'white', textvariable = exp_no)
en1.pack()

os.mkdir(resultado+'/'+en1.get())
Run Code Online (Sandbox Code Playgroud)

python directory variables

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