我知道ExternalFiles将用于API 8及更高版本,而getExternalStorageDirectory则用于7及更低版本.不过我使用之间有点困惑.例如,我想检查一个存在的文件夹,之前您将使用以下内容:
File ChildFolder = new File(Environment.getExternalStorageDirectory() + "/ParentFolder/Child");
Run Code Online (Sandbox Code Playgroud)
但是我看到的每个例子都说使用了getExternalFilesDir(null),File.ext.由于我在API 8以上,我想使用此方法,但我如何检查文件夹?我将在另一点检查文件是否存在但是现在只想查看文件夹是否存在?
TIA JB
我有一个usercontrol,它在与Web服务通信后引发一个事件.父项在引发时处理此事件.我认为正确的方法是将webservice返回的对象作为eventargs传递给父对象???
如果这是正确的方法,我似乎无法找到如何这样做的说明.
用户控件
public event EventHandler LoginCompleted;
Run Code Online (Sandbox Code Playgroud)
然后在服务返回biz对象之后:
if (this.LoginCompleted != null)
{
this.LoginCompleted(this, new EventArgs() //this is where I would attach / pass my biz object no?);
}
Run Code Online (Sandbox Code Playgroud)
亲
ctrl_Login.LoginCompleted += ctrl_Login_LoginCompleted;
....snip....
void ctrl_Login_LoginCompleted(object sender, EventArgs e)
{
//get my object returned by login
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是将用户对象恢复为父级的"已批准"方法是什么?创建一个属性类,一切都可以访问并将其放在那里?
我有一个android工作室项目,调用基于Web的api服务.当服务代码在dev,qa,prod等中时,没有证书问题,但是当试图访问web api开发人员框以测试新功能/错误修复/等时,我得到:
因错误而无法回复:
javax.net.ssl.SSLHandshakeException:链验证失败
在com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
我有从服务开发者机器导出的自签名证书,没有私钥DER编码.我掉到了模拟器上并"安装"但这没有用.
我使用了相同的证书并复制到模拟的SD卡.然后从模拟器中的安全设置安装.结果相同.链验证失败.
现在我的安全/证书知识非常基础.我认为错误实际上描述了这个问题.自签名证书中没有链条......但我可能错了.
无论如何,我该如何解决这个问题?
我希望能够运行我的android代码并点击开发人员框进行测试/调试等.
我已经阅读了这样的帖子,只是为了拥有企业环境,我正在阻止开放SSL等网站.
我通过WebView访问该服务.
任何帮助,指针,想法将不胜感激.
TIA
晚上好,
我有一个ArrayList(实例化为ld_data),我向前和向后迭代查看/向用户显示元素数据.在这个过程中,我需要知道我何时处于第一个元素和最后一个元素.检测我何时处于最后一个元素:
if((index + 1) <= ld_data.size())
{
....
}
Run Code Online (Sandbox Code Playgroud)
这是因为size属性也是ArrayList的上限.然而,检测我何时处于第一个元素对我来说并不容易.我能够弄清楚的最好的是这看起来相当蹩脚......但它确实有效.
if((index - 1) >= (ld_data.size() - ld_data.size()))
{
....
}
Run Code Online (Sandbox Code Playgroud)
在C#.NET世界中,我们有ArrayList.UpperBound或ArrayList.LowerBound在Java中有类似的东西吗?
JB
编辑:更多细节.因此,对于更多信息,我绑定到ListView.因此,当用户滚动到列表的第一个元素时,我想显示一个消息"在列表的开头",当它们到达结束时显示"列表结束".我知道有一个滚动条使这显而易见我只是想举例说明我在做什么.因此,此检查发生在"OnScroll"事件中.
我相信这篇文章解决了我的麻烦 在页面之间导航时闪烁.特别:
$(document).bind("mobileinit", function()
{
if (navigator.userAgent.indexOf("Android") != -1)
{
$.mobile.defaultPageTransition = 'none';
$.mobile.defaultDialogTransition = 'none';
}
});
Run Code Online (Sandbox Code Playgroud)
我来自C#世界,对jQuery
移动设备几乎一无所知.我想添加这个片段,但不知道在哪里.如果它重要我认为我会添加它,jquery.mobile-1.1.0.rc.1.js
但后来我不知道在那里,如果这是正确的文件.
我有4个TextViews
,2个ImageViews
,2个Buttons
和2个小部件,它们是a中行定义的一部分ListView
.数据来自XML和a SimpleAdapter
.要访问这些,TextViews
我ViewBinde
在自定义类中实现r并覆盖setViewValue
.这是有效的,TextViews
我想动态改变的两个是在setViewValue
.令我困惑的是为什么我的另外两个TextView没有通过setViewValue
.我这是基于设置一个断点,执行线程只输入两次.我期待看到它4次或更多次?
这是setViewValue
我设置断点的地方.
@Override
public boolean setViewValue(View view, Object data, String text)
{
if(view.getId() == R.id.txtvw1)
{
//blah do some stuff
}
else if (view.getId() == R.id.txtvw2)
{
//Blah do some stuff
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
xml声明TextViews
(1显示,4不):
<TextView
android:id="@+id/txtvw1"
android:layout_centerHorizontal="true"
android:layout_width="185dp"
android:layout_height="25dp"
android:textSize="20sp"
android:layout_marginTop="60dp"
android:gravity="center"
android:inputType="none"
android:text="@string/str_StaticA"
android:textColor="#C0F700" />
<TextView
android:id="@+id/txtvw4"
android:layout_alignParentLeft="true"
android:layout_marginLeft="35dp"
android:layout_width="95dp"
android:layout_height="50dp" …
Run Code Online (Sandbox Code Playgroud) 我看到几篇文章,如这 一个描述如何处理与按键长按事件.我可以遵循这些指示,但我想知道是否可以像处理点击一样进行.我处理点击的方式是用XML定义处理程序:
<Button
android:id="@+id/btn_NextLift"
...
android:onClick="btn_NextLiftClick" />
Run Code Online (Sandbox Code Playgroud)
然后在代码中:
public void btn_NextLiftClick(View vw_Current)
{...}
Run Code Online (Sandbox Code Playgroud)
我确实在xml中看到boolean属性longClickable但是我没有看到在哪里定义事件处理程序所以... ???
TIA JB
我有一个单元测试应该返回指定的对象,但它返回 null。
要测试的数据提供者:
public class PlanDataProvider : BaseDomainServiceProvider, IPlanDataProvider
{
//CTOR
public PlanDataProvider(IDataAccessTemplate template, IEntityStore entityStore) : base(template, entityStore)
{
}
public async Task<DefaultActionPlan> GetDefaultActionPlan(string referenceListId)
{
var objectId = GetObjectId(referenceListId);
var defaultActionPlan = await Template.InvokeAsync(context => Task.FromResult(EntityStore.GetEntityById<DefaultActionPlan, ObjectId>
(
context.ActivityContext as IDataAccessContext,
typeof(DefaultActionPlan).FullName,
objectId
)));
}
}
Run Code Online (Sandbox Code Playgroud)
考试:
public async Task GetPlan_BadPlanID()
{
//Arrange
string badPlanId = "57509afbc6b48d3f33b2dfcd";
...snip...
DefaultActionPlan jj = new ObjectId(badPlanId);
//create EntityStore object
var dataxs = Substitute.For<IDataAccessContext>();
var estore = Substitute.For<IEntityStore>();
estore.GetEntityById<DefaultActionPlan, ObjectId>(
dataxs,
typeof(DefaultActionPlan).FullName, …
Run Code Online (Sandbox Code Playgroud) 我想找到列表中第二个到最后一个项目.一篇文章提出了我使用的搜索术语,他们建议获取最后一个元素的索引然后备份一步.这真的是这样做的方式....?看起来有点kludgy /硬编码.也许我太偏执了?
int _lstItemIdx = List<MyObj>.IndexOf(List<MyObj>.Last());
int _sndLstItmIdx = (_lstItemIdx - 1);
Run Code Online (Sandbox Code Playgroud)
谢谢
我一直在关注列表框的一些指导并尝试正确处理选择.什么是困扰我,我似乎无法找到相关的材料是访问所选的值.可能只有一个被选中,但最有可能一次选择多个.
我的帖子控制器正在获取对象模型,它具有所选项目之一的值但不是全部的值?我是否需要在帖子之前运行一些jquery,正如其他文章所说的那样?似乎不对,但也许......
我的模特:
public partial class ExtrnlSubsModel : BaseEntityModel
{
public IList<SelectListItem> AvailableForums { get; set; }
public int ExtForumId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的剃刀:
@Html.ListBoxFor(model => model.ExtForumId, Model.AvailableForums, new { style = "width:500px;height:250px" })
@Html.RequiredHint()
@Html.ValidationMessageFor(model => model.ExtForumId)
Run Code Online (Sandbox Code Playgroud)
我的控制器:
[HttpPost]
public ActionResult ExtForumAdd(ExtrnlSubsModel model)
{ .... }
Run Code Online (Sandbox Code Playgroud)
因此,正如我所提到的,我的模型已经填充,但只有一个选择,尽管有ctrl点击了很多项目.
TIA
android ×5
c# ×2
c#-4.0 ×2
asp.net ×1
asp.net-mvc ×1
asynchronous ×1
cordova ×1
java ×1
razor ×1
ssl ×1
unit-testing ×1