我的应用程序将数据本地存储在本机SQLite数据库中,我希望允许用户通过向自己发送.csv文件来导出这些数据.为了做到这一点,我从数据库生成.csv并将其写入SD卡,然后将其附加到电子邮件中:
StringBuilder csv = generateFile();
writeFile(csv.toString(),"file.csv");
Intent email = new Intent(android.content.Intent.ACTION_SEND);
email.setType("application/octet-stream");
email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://sdcard/file.csv"));
Run Code Online (Sandbox Code Playgroud)
哪一切都很棒.但我想知道的是,是否有可能首先跳过写入SD的步骤,并直接附加数据.
我在Rails中创建应用程序时遇到问题.
该应用程序有两个模型,一个代表公司,另一个代表产品.每家公司都销售零件或更多产品,我希望在模型中捕捉这种关系.这是我到目前为止所得到的:
我通过运行生成器创建了模型:
script/generate scaffold company name:string product_id:integer
script/generate scaffold product name:string
Run Code Online (Sandbox Code Playgroud)
我在公司模型中添加了以下行,以表明每个公司可以有多个产品:
has_many :products
Run Code Online (Sandbox Code Playgroud)
我在产品型号中添加了以下行:
belongs_to :company
Run Code Online (Sandbox Code Playgroud)
我在YAML文件中创建了一些示例数据.这些公司的样本数据是:
microsoft:
name: Microsoft
product_id: [1, 3]
google:
name: Google
product_id: [2, 4]
Run Code Online (Sandbox Code Playgroud)
产品的样本数据是:
word:
id: 1
name: Word
earth
id: 2
name: Earth
excel:
id: 3
name: Excel
chrome:
id: 4
name: Chrome
Run Code Online (Sandbox Code Playgroud)
然后我加载了示例数据:
rake db:fixtures:load
Run Code Online (Sandbox Code Playgroud)
然后,我在公司视图中尝试打印公司的所有产品:
<% if @company.product_id %>
<% for product in @company.product_id %>
<tr>
<td><%=h product.name %></td>
</tr>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是我收到错误的地方.有任何想法吗?我不确定问题是什么.据我所知,这可能是我如何生成模型或建立他们的关系.或者可能是我试图在视图中打印信息.
我看到了/ Gy选项,我想知道为什么要使用它?http://msdn.microsoft.com/en-us/library/xsa71f43.aspx
我使用Launch4j作为我在Windows 7下的Java应用程序的包装器,根据我的理解,本质上它的一个实例javaw.exe
依次解释Java代码.因此,在尝试将我的应用程序固定到任务栏时,Windows会反而引脚javaw.exe
.如果没有所需的命令行,我的应用程序将无法运行.
如您所见,Windows也没有意识到Java是主机应用程序:应用程序本身被描述为"Java(TM)Platform SE binary".
我尝试更改注册表项HKEY_CLASSES_ROOT\Applications\javaw.exe
以添加值IsHostApp
.这通过完全禁用我的应用程序的固定来改变行为; 显然不是我想要的.
在阅读了Windows如何解释单个应用程序的实例(以及此问题中讨论的现象)之后,我开始对将应用程序用户模型ID(AppUserModelID)嵌入到我的Java应用程序中感兴趣.
我相信我可以通过传递一个独特AppUserModelID
的Windows 来解决这个问题.有一种shell32
方法,SetCurrentProcessExplicitAppUserModelID
.根据Gregory Pakosz的建议,我实现了它,试图将我的应用程序识别为以下单独的实例javaw.exe
:
NativeLibrary lib;
try {
lib = NativeLibrary.getInstance("shell32");
} catch (Error e) {
Logger.out.error("Could not load Shell32 library.");
return;
}
Object[] args = { "Vendor.MyJavaApplication" };
String functionName = "SetCurrentProcessExplicitAppUserModelID";
try {
Function function = lib.getFunction(functionName);
int ret = function.invokeInt(args);
if (ret != 0) {
Logger.out.error(function.getName() + " returned error …
Run Code Online (Sandbox Code Playgroud) 我有一个使用JarBundler打包的Java应用程序.该应用程序相当CPU密集型(许多大型Collection.sort()调用).
在Mac OS上,当使用64位JavaApplicationStub时,应用程序运行缓慢且缓慢.此JavaApplicationStub文件正在启动Java 64位VM.
我找到了一个只有32位的旧JavaApplicationStub文件.我在Bundle中替换它,应用程序运行速度提高了10倍!(因此,在应用程序运行时使用32位VM).
这有意义吗?为什么64位虚拟机这么慢?构建应用程序并破解JavaApplicationStub文件是否有意义?
建议表示赞赏.
我目前已经创建了一个应用程序,需要一些帮助来编写我的javadoc.
这是代码:
import java.lang.*;
import java.util.*;
import java.io.*;
import java.net.*;
/**
*@author Name HERE
*@version 1.0
* The Assignment2App public class represents a menu application that will form
* the base of the other source files which will be able to run within this program.
* Users will be able to run another source file within this pogram of which they choose
* by selecting a number specified by the output presented to them on the command window.
*/
public …
Run Code Online (Sandbox Code Playgroud) 在使用数据库进行存储的单用户桌面应用程序中,是否有必要对数据库执行数据验证,还是可以在代码中执行此操作?什么是最佳实践,如果没有,两种可能性的优缺点是什么?
我无法理解PHP APC配置中apc.filters指令所需的格式.(特别是对于多种模式)
该手册说,"用逗号分隔的POSIX列表扩展正则表达式."
比方说,我不希望缓存两个文件,即brooklyn.php和boston.php
我把以下条目:
apc.filters = "-(.*)/brooklyn\.php$, -(.*)/boston\.php$"
它仍然缓存
我也试过了
apc.filters = "-(.*)/brooklyn\.php$", "-(.*)/boston\.php$"
仍然缓存
如果有人可以编写具有多个模式的示例表达式,我将非常感激.
我注意到enums
在编译膨胀总大小之后引入了许多额外的类文件(Class $ 1).它似乎附属于甚至使用枚举的每个类,并且这些通常是重复的.
为什么会发生这种情况,并且有一种方法可以在不删除枚举的情况下阻止这种情况
(问题的原因是空间对我来说是非常宝贵的)
编辑
在进一步研究这个问题时,每次在Enum上使用开关时,Sun的Javac 1.6都会创建一个额外的合成类.它使用某种SwitchMap.这个网站有更多信息,这里告诉你如何分析Javac正在做什么.
每次在枚举上使用开关时,额外的物理文件似乎都要付出高昂的代价!
有趣的是,Eclipe的编译器不会生成这些附加文件.我想知道唯一的解决方案是切换编译器吗?
我见过不同的开发人员在javascript函数之后包含分号,而有些则没有.哪个是最佳做法?
function weLikeSemiColons(arg) {
// bunch of code
};
Run Code Online (Sandbox Code Playgroud)
要么
function unnecessary(arg) {
// bunch of code
}
Run Code Online (Sandbox Code Playgroud)