我对Android API的内部工作感到困惑.
如果我的应用程序是针对Android 5.0编译的,则可以接受以下内容适用于运行Android 5.0及更高版本的设备:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
Run Code Online (Sandbox Code Playgroud)
但是,如果我在运行旧版Android的设备上运行它,这仍然有效.我的假设是该设备上的库没有变量的定义Build.VERSION_CODES.LOLLIPOP.那么当应用程序运行此代码时,如何在这些旧设备上解析变量?
如果我有一个如下的一对多表:
FamilyId UserId
1 1
1 2
2 3
2 4
3 5
Run Code Online (Sandbox Code Playgroud)
我可以offset/fetch用来获取一组行。但是我怎样才能用它来获得一组家庭呢?我怎样才能fetch例如,前两个家庭使用(在这种情况下,共4行返回)offset/fetch?
在Eclipse中,当我实现一个类库并且我已经准备好部署时,我通常会将其导出并打包成一个JAR文件,稍后您可以将其添加到另一个项目的构建路径中.Visual Studio中是否有相同的功能?是否有一种正确的方法来"发布"类库并将其打包到dll文件中以便稍后作为参考添加到另一个项目中?或者你经常自己去bin文件夹中挖掘它?
我跟着步骤描述Dotfuscator的融入我Xamarin.Android项目在这里,但是当它的时间来打造这个项目,我发现了以下错误:
"_DotfuscatorXamarin_DetermineDefaultInputsTask"任务意外失败.2>\path\to\PreEmptive.Dotfuscator.Xamarin.targets(570,5):错误MSB4018:System.NullReferenceException:对象引用未设置为对象的实例.2>\path\to\PreEmptive.Dotfuscator.Xamarin.targets(570,5):错误MSB4018:位于\ path\to\AppData\Local\Temp\eruovv3u.0.cs中的InlineCode._DotfuscatorXamarin_DetermineDefaultInputsTask.Execute():行106 2>\path\to\PreEmptive.Dotfuscator.Xamarin.targets(570,5):错误MSB4018:at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()2>\path\to\PreEmptive.Dotfuscator.Xamarin.targets(570,5):错误MSB4018:在Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()
我看过网上看过,但似乎没有人遇到这个问题.我认为问题与在第一次构建时生成默认配置文件有关.有任何想法吗?
因此布局非常简单.A ListView占据屏幕的大部分,而RelativeLayout底部包含EditTexta和a Button.一切看起来都很棒,但问题是当用户键入并输入新行时,EditText不会增加其高度,以便用户可以看到所有文本类型而无需滚动.你会认为WRAP_CONTENT在它EditText和它的父母RelativeLayout都使用它会照顾它,但它不是出于某种原因.有任何想法吗?这是布局XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:id="@+id/postCommentRelativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:visibility="visible" >
<Button
android:id="@+id/viewCommentsPostCommentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="false"
android:text="@string/post" />
<EditText
android:id="@+id/viewCommentsInsertCommentTextEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/viewCommentsPostCommentButton"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="false"
android:layout_toLeftOf="@+id/viewCommentsPostCommentButton"
android:ems="10"
android:hint="@string/enter_comment"
android:inputType="textCapSentences|textMultiLine" >
<requestFocus />
</EditText>
</RelativeLayout>
<ListView
android:id="@+id/entriesListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/postCommentRelativeLayout"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:focusable="false" >
</ListView>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 所以我在URL"mysite.com"上有一个站点,在"subdomain.mysite.com"上有另一个站点.用户帐户存储在"mysite.com"中,因此当我需要登录"subdomain.mysite.com"时,我将用户带到"mysite.com",他们输入他们的凭据正常验证它们并确保验证通过domain在cookie中设置cookie,可以在"subdomain.mysite.com" 中使用cookie,如下所示:
HttpCookie cookie = FormsAuthentication.GetAuthCookie(username, true);
cookie.Domain = ".mysite.com";
Response.Cookies.Add(cookie);
Run Code Online (Sandbox Code Playgroud)
然后我将它们重定向回"subdomain.mysite.com",感谢用户在那里进行身份验证.
一切正常,除了退出时.当用户尝试从任何站点注销时,我按预期删除了身份验证cookie:
FormsAuthentication.SignOut();
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,cookie未被删除,用户仍然保持登录状态.
我试过直接使用Request.Cookies[FormsAuthentication.FormsCookieName]但仍然没有删除cookie .由于某些原因,Chrome非常紧张地坚持使用Cookie:我可以在Chrome的开发者工具中看到它.
我究竟做错了什么?救命!
subdomain forms-authentication logout httpcookie asp.net-mvc-4
据我所知,这<!DOCTYPE html>使得浏览器以标准模式呈现页面,但这并不能阻止您的页面在HTML 6出现时被破坏.
为什么他们不这样做,而不是让标准如此通用,以便在页面顶部明确指定您要定位的标准版本?而不是<!DOCTYPE html>做一些类似的<!DOCTYPE html=5>事情,当未来的浏览器出现HTML 6时,他们看到<!DOCTYPE html=5>他们知道该页面不知道HTML 6标准,所以为了保证页面不会破坏,浏览器会崩溃回到HTML 5标准.
这就像是一种向后兼容性方法,因此您今天编写的页面可以保证工作数十年.当然,您不应该等待数十年来更新您的页面,但至少您知道它不会打破标准的新版本出现的那一刻,同时您的页面支持旧版浏览器而不更改一行HTML .
为什么不是这样的事情?这种方法有什么问题?
我将使用JavaPNS来实现推送通知服务的服务器端.我无法控制服务器上打开的端口,但假设所有端口都为出站连接打开,是否还必须为入站连接打开端口2195?如果我错了,请纠正我,但我对TCP的理解是,当我与Apple服务器建立连接时,源端口被随机分配给任何未使用的端口以及Apple服务器响应时(入站连接),它将来自该源端口.所以,我的理论是端口2195不需要为入站连接打开.是对的吗?
此外,如果响应来自随机端口,这是否意味着该端口需要对入站连接开放?防火墙如何管理这个,因为只有少数端口会无限期地为入站连接打开?它是否仅为此特定请求 - 响应会话暂时打开随机端口?
我一直为 Android 编写代码,现在我希望将我的知识扩展到 iOS 开发;所以我真的很新,请耐心等待。
我知道只有一小部分应用程序可以在后台无限期运行。这些是 VoIP、音乐播放器和位置跟踪应用程序。
我想使用 XMPP 框架编写一个聊天应用程序。一切都很好,直到用户将应用程序置于后台,在这种情况下,应用程序将保持连接大约十分钟,然后被系统杀死,因此用户将无法接收新消息。
我知道有一些技巧可以让应用程序保持活力。诸如在 info.plist 文件中将其定义为音乐播放应用程序的技巧,然后无限期地播放一些空的声音。但我也知道,当该应用程序发布到 App Store 时,Apple 会拒绝该应用程序。
那么,通常情况下,其他应用程序是如何做到的呢?其他聊天应用程序如何在后台保持活动状态以接收来自服务器的新消息?像 Google Hangouts、IM+ 之类的应用程序?
我昨晚安装了Visual Studio 2013,我注意到它根本没有显示任何警告.具体来说,我希望它突出显示未使用的局部变量,私有方法等.我需要启用Visual Studio中的某个设置吗?
我有一个支持希伯来语的应用程序,并在清单中声明它对RTL语言环境的支持.但是,还有其他RTL语言环境我不支持,并希望View在设置这些语言环境时不会镜像我的镜像.例如,我不希望我的应用程序View在阿拉伯语语言环境中从右向左交换,因为我不支持阿拉伯语,因此文本将以英语显示.