小编and*_*ref的帖子

将文本文件写入SD卡失败

我遇到一个奇怪的问题.我的应用程序可以写一个简单的文本文件到SD卡,有时它适用于一些人,但不适用于其他人,我不知道为什么.

对于某些人来说,如果他们...在文件中放置一些字符等强制关闭它.我似乎无法重现它,因为我没有麻烦,但这是处理文件写入的代码.任何人都可以想到可能导致问题的事情或更好的方法吗?

public void generateNoteOnSD(String sFileName, String sBody)
{
    try
    {
        File root = new File(Environment.getExternalStorageDirectory(), "Notes");
        if (!root.exists()) 
        {
            root.mkdirs();
        }

        File gpxfile = new File(root, sFileName);
        FileWriter writer = new FileWriter(gpxfile);
        writer.append(sBody);
        writer.flush();
        writer.close();

        Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
    }
    catch(IOException e)
    {
         e.printStackTrace();
         importError = e.getMessage();
         iError();
    }
}   
Run Code Online (Sandbox Code Playgroud)

android android-sdcard android-file

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

在Java中将String转换为Long的正确方法

在Java 中转换StringLong(Object)的最佳方法是什么?

Long a = new Long(str);
Run Code Online (Sandbox Code Playgroud)

要么

Long a = Long.parseLong(str);
Run Code Online (Sandbox Code Playgroud)

这里有正确的方法,因为两者似乎具有相同的可读性水平,并且autoboxing在第一种方法中添加额外的步骤是否可以接受?

java autoboxing

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

阿拉伯语的布局方向不是基于区域设置确定的(Mac和Linux)

有没有人设法从用户​​的语言设置中推断出正确的布局方向(从左到右和从右到左)?

我无法将我的应用程序本地化到阿拉伯语(沙特阿拉伯)语言环境.检测当前的语言环境,加载和安装适当的QTranslator都可以正常工作.(该文本在Linux上看起来很棒!)我遇到的问题是没有从系统区域设置中推断出全局布局方向.

QApplication :: layoutDirection的文档说明(带有我的亮点):

此属性保存此应用程序的默认布局方向.在系统启动时,默认布局方向取决于应用程序的语言.

事实并非如此:无论系统区域设置如何,布局都设置为Qt :: LeftToRight.我制作了一个显示问题的测试程序.它的主要功能是:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTranslator translator;
    translator.load(":/layoutDirection.qm");
    a.installTranslator(&translator);

    Window w;
    w.show();

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

它还有一个包含必要图像和翻译文件的资源文件.它的定义如下:

<RCC>
    <!-- Arabic resources. The arrow points to the left. -->
    <qresource prefix="/" lang="ar">
        <file alias="arrow.png">images/arrow-rtl.png</file>
        <file alias="layoutDirection.qm">translations/layoutDirection_ar.qm</file>
    </qresource>
    <!-- English resources. The arrow points to the right. -->
    <qresource prefix="/" lang="en">
        <file alias="arrow.png">images/arrow-ltr.png</file>
        <file alias="layoutDirection.qm">translations/layoutDirection_en.qm</file>
    </qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)

Window类的源代码是微不足道的和相应的.ui文件不设置的layoutDirection为任何部件.在英语(美国)语言环境中运行时,窗口如下所示:

英文截图显示从左到右的布局,正确的翻译和指向右侧的箭头图像http://i26.tinypic.com/25txmz6.png

当在阿拉伯语(沙特阿拉伯)语言环境中运行时,它看起来像这样:

阿拉伯语截图显示错误的从左到右布局,正确的翻译和指向右侧的箭头图像http://i28.tinypic.com/11gu7mx.png …

c++ user-interface qt qt4 internationalization

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