我们创建在移动设备上运行的非游戏程序; iPhone,Windows Mobile,Android,Palm WebOS等.我们的主程序是用C#编写的Windows Mobile,我们已经被要求将它移植到iPhone上.我们不期待:
我们已经决定,作为一种策略,我们希望在尽可能多的移动平台上同时创建所有新产品,这是一项艰巨的任务.
我们知道我们不得不屈服于这些,但我们更愿意:
我的问题是这个; 对于为2-5个最受欢迎的移动平台开发最佳策略,您有什么建议?
编辑:根据评论,我想澄清我们有一个我们在PalmOS和Winmobile上都很受欢迎的产品.它在两个平台上的工作原理完全相同,使用户可以轻松切换手持设备并仍然使用它.
现在我们即将创建许多新的业务应用程序,并希望将其扩展到其他硬件/操作系统.您有什么建议在最少的痛苦下部署在许多新平台上?
我目前正在编写一些自定义模板标签,但由于某种原因它们无法加载.我的目录结构如下:
MyProj
|
----MyApp
|
|----templatetags
|
|----myapp_tags.py
|----__init__.py
Run Code Online (Sandbox Code Playgroud)
在myapp_tags.py中
from django.template import Library, Node
from myproj.myapp.models import Product
register = Library()
class LatestProductsNode(Node):
def render(self, context):
context['recent_products'] = Product.objects.all()[:5]
return ''
def get_latest_products(parser, token):
return LatestProductsNode()
get_latest_products = register.tag(get_latest_products)
Run Code Online (Sandbox Code Playgroud)
在settings.py中
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'myproj.myapp',
)
Run Code Online (Sandbox Code Playgroud)
在模板中
{% load myapp_tags %}
Run Code Online (Sandbox Code Playgroud)
尝试加载页面时出现的错误:
Exception Type: TemplateSyntaxError Exception Value:
'myapp_tags' is not a valid tag library: Could not load template library from django.templatetags.myapp_tags, No module named myapp_tags
Run Code Online (Sandbox Code Playgroud) 好的,我正在寻找能够读取显示器上某个像素颜色的功能或其他功能,当检测到该颜色时,将启用另一个功能.我想用RGB.所有帮助赞赏.谢谢.
union LowLevelNumber
{
unsigned int n;
struct
{
unsigned int lowByte : 8;
unsigned int highByte : 8;
unsigned int upperLowByte : 8;
unsigned int upperHighByte : 8;
} bytes;
struct
{
unsigned int lowWord : 16;
unsigned int highWord : 16;
} words;
};
Run Code Online (Sandbox Code Playgroud)
这个联合允许我访问无符号整数字节或逐字.但是,代码看起来相当丑陋:
var.words.lowWord = 0x66;
Run Code Online (Sandbox Code Playgroud)
有没有办法可以让我编写这样的代码:
var.lowWord = 0x66;
Run Code Online (Sandbox Code Playgroud)
更新:
这实际上是关于编写短/漂亮的代码,如上例所示.联合解决方案本身确实有效,我只是每次访问lowWord或lowByte时都不想写.words或.bytes.
我想知道是否有办法从一行文字中读取所有"单词".
这条线看起来像这样:R,4567890,Dwyer,Barb,CSCE 423,CSCE 486
有没有办法使用逗号作为分隔符将此行解析为数组或其他什么?
嗯,有两台电脑通过 Wi-Fi 连接,其中一台(我们称之为A)有一个串口打印机(在ttys0 中)和一个测量串口设备(在ttys1 中)。所以B需要从A 上连接的测量设备读取一些值,然后使用网络连接写入A 上连接的打印机。
有没有人有一个成功的解决方法,可以根据底层数据对象的属性更改silverlight中的样式,因为当值发生变化时,样式也会发生变化.我简单地使用了WPF,它显然有DataTrigger似乎涵盖了这一点,但它在Silverlight中缺失.
我发现了这个:http: //blois.us/blog/2009/04/datatrigger-bindings-on-non.html
但它似乎不适用于造型..
谢谢你的时间
我有许多小块数据,我希望能够将其推入一个更大的数据类型.假设,假设这是一个日期和时间.显而易见的方法是通过像这样的位字段.
struct dt
{
unsigned long minute :6;
unsigned long hour :5;
unsigned long day :5;
unsigned long month :4;
unsigned long year :12;
}stamp;
Run Code Online (Sandbox Code Playgroud)
现在让我们假装这个东西是有序的,这样首先声明的东西比后面声明的东西具有更高的重要性,所以如果我用变量的第一个字母表示位,它看起来像:
mmmmmm|hhhhh|ddddd|mmmm|yyyyyyyyyyyy
Run Code Online (Sandbox Code Playgroud)
最后,让我假装我只是声明一个unsigned long并使用mask将它拆分并移动来做同样的事情.
unsigned long dateTime;
Run Code Online (Sandbox Code Playgroud)
这是我的问题:
在计算机需要做什么方面,以下方法是访问分钟,小时等等的方法吗?或者是否存在编译器/计算机与位字段一起使用的一些棘手方法.
unsigned minutes = stamp.minutes;
//versus
unsigned minutes = ((dateTime & 0xf8000000)>>26;
Run Code Online (Sandbox Code Playgroud)
和
unsigned hours = stamp.hours;
//versus
unsigned hours = ((dateTime & 0x07C00000)>>21;
Run Code Online (Sandbox Code Playgroud)
等等
我正在使用ADO.Net + C#+ VSTS 2008 + ADO.Net连接到SQL Server 2008 Enterprise.我使用的是几乎相同的模式/示例 - 使用ADO.Net DataReader通过一个条目(行)检索一个条目(行)的数据.
http://msdn.microsoft.com/en-us/library/haa3afyz.aspx
我的问题是,如果我在此示例中设置SqlCommand超时,1.我认为超时适用于我们可以用多长时间来检索一个特定行,而不是整个数据逐条目的总超时环?
BTW:循环我的意思是,
while (reader.Read())
{
Console.WriteLine("{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
Run Code Online (Sandbox Code Playgroud)
2.此超时仅考虑从数据库检索数据条目所需的时间,并且此超时与我们处理每个条目的时间无关(例如,如果我们将超时设置为20秒,如果它需要1第二个从数据库中检索一个数据条目,我的应用程序逻辑需要30秒来操作数据条目,超时将永远不会发生).
正确理解?
考虑一下代码:
class Foo
{ // ...
std::vector<Bar> bars;
};
Run Code Online (Sandbox Code Playgroud)
我应该暴露整个容器,或者我应该公开typedef倒是迭代器类,并用适配器的方法(begin(),end(),size(),和任何我需要)?
如果答案取决于,应该如何做出决定?