我知道有(昂贵的)框架让你在VS C#中编写Android应用程序并将其编译为android apk.
我也知道,可以在VS(链接)中编写Java应用程序.
是否有可能,甚至可能不比Eclipse更难,使用一些免费的插件/框架/工具在Visual Studio中编写Android应用程序?是否可以编译orroids应用程序,并在手机/虚拟设备中进行调试?
在不久的将来,我认为使用Android Studio将是最佳选择.
在C#程序中,我有两个Queues的longs,26M元素结合在一起,四HashSets中longs,50M元素结合在一起.所以我的容器存储75M longs了600MB数据.程序的内存使用情况是3GB.
为什么这些容器需要这么多内存?什么是内存复杂性HashSet?即使所有的结构加倍他们的能力,它会给1.2GB,不会3GB.
编辑:是的,我并不是指复杂性.HashSet需要存储多少额外内存long?简单的二进制堆不需要任何额外的内存.HashSet如果我需要降低内存使用量或者我需要自己实现一个,是否还有其他选择?
我有意在我的应用程序服务.这项服务有一些工作要做 - 上传一些文件.只有在有事情要做时它才会运行.
满足某些条件时不会上传服务,例如没有Internet连接.出于这个原因,它将自己注册到广播接收器上以接收有关互联网连接变化的消息.
问题是即使服务器正在做某事,服务也会被app杀死,例如:
如果应用程序被杀后服务被唤醒,为什么它会被应用程序杀死?当应用程序被杀时,有什么方法可以防止查杀服务吗?
我手动杀了app.我知道android可以随时杀死我的服务而且我不想阻止它.我只想在用户关闭或杀死应用程序后运行此服务.
我需要将大量的long(最多5GB)数组写入磁盘.我尝试使用,BinaryFormatter但它似乎只能编写大小低于2GB的数组:
long[] array = data.ToArray();
FileStream fs = new FileStream(dst, FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
try
{
formatter.Serialize(fs, array);
}
catch (SerializationException e)
{
Console.WriteLine("Failed to serialize. Reason: " + e.Message);
throw;
}
finally
{
fs.Close();
}
Run Code Online (Sandbox Code Playgroud)
此代码抛出IndexOutOfRangeException较大的数组.
我不想为每个元素保存元素,因为它需要太多时间.有没有正确的方法来保存这么大的阵列?
每个元素编写元素:
using (BinaryWriter writer = new BinaryWriter(File.Open(dst, FileMode.Create)))
{
foreach(long v in array)
{
writer.Write(v);
}
}
Run Code Online (Sandbox Code Playgroud)
这很慢.
我有两个型号:
class ModelIn{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
}
class ModelOut{
public ModelOut(){ People = new List<ModelIn>();}
public List<ModelIn> People { get; private set;}
public string Country { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有Controller编辑ModelOut:
public ActionResult People()
{
...
return View(SomeModelOutInstanceWith3People);
}
[HttpPost]
public ActionResult(ModelOut items)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在视野中我有点像:
<% using (Html.BeginForm()) { %>
<%: Html.EditorFor(m => Model.Country) %>
<% for(int i = 0; …Run Code Online (Sandbox Code Playgroud) 我需要对某些实体框架模型的某些字段执行原子操作检查值,如果其值为0则增加它.
我想过交易,就像:
bool controlPassed = false;
using (TransactionScope scope = new TransactionScope())
{
var model = ...ModelEntities.first_or_default(...)
if (model.field == 0){
++model.field;
...saveChanges();
controlPassed = true;
}
scope.Complete();
}
if (controlPassed)
{
...
using (TransactionScope scope = new TransactionScope())
{
--model.field;
...saveChanges();
scope.Complete();
}
}
Run Code Online (Sandbox Code Playgroud)
当然,一切都在尝试捕获等.
我的问题是:它会如何运作?
这真的很难检查.我有多线程应用程序.
是否有可能,两个或多个线程将通过控制(检查field == 0并增加它)?
数据库(数据库,表,行,字段)中是否会阻止whout?
我不能让两个或多个线程controlPassed同时在段中.
我的项目的一部分是用C++编写的工作者应用程序,在Linux上运行.我发现MS不提供C++版本的Windows Azure SDK.我需要访问Windows Azure存储队列.
是否有SDK的C++端口?有没有机会使用其他语言的SDK(即python,node.js)?或者最好的选择是使用REST API?
我有两个实体,比方说汽车和照片.每张照片都有Car的外键,所以每辆车都有一套照片.
我想列出一些汽车的子集,并且对于每辆列出的汽车,我想列出所有每张照片.
如何在1 db查询的Entity Framework中执行此操作?我从一开始就知道我需要照片.
我的代码现在看起来像:
var carList = CarEntities.Where(...).ToList();
foreach(var car in carList){
var photoList = car.Photos.ToList();
}
Run Code Online (Sandbox Code Playgroud)
我想,EF会为每辆车单独进行数据库查询.
我有Android应用程序列表视图,选择模式设置为多选模式.
此列表中的项目定义为相对布局.
如何在选择项目时更改项目的背景?
项目xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
android:checkable="true"
android:background="@drawable/my_item_background"
Run Code Online (Sandbox Code Playgroud)
我的项目背景xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@color/mycolor1" android:state_selected="true"/>
<item android:drawable="@color/mycolor2" android:state_checked="true"/>
<item android:drawable="@android:color/black"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
物品的背景总是黑色的.
我正在使用与C#的节俭#.
Thrift可以选择编译为C#,但是,当许多C#项目使用thrift时,添加new并逐个删除thrift生成的旧源会很累 - 将thrift编译为C#只会为每个thrift结构创建一个.cs文件.
我想过编写简单的应用程序,它将使用新生成的thrift文件创建/更新Visual Studio 2012项目文件.是否有任何工具/库帮助这些?从空项目获取现有项目文件,更改GUID和仅修改文件列表是否安全?