小编GPG*_*GVM的帖子

getExternalFilesDir和getExternalStorageDirectory()之间的差异

我知道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

android

76
推荐指数
4
解决办法
6万
查看次数

如何在EventArgs中传递对象

我有一个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)

所以我的问题是将用户对象恢复为父级的"已批准"方法是什么?创建一个属性类,一切都可以访问并将其放在那里?

c#-4.0

31
推荐指数
4
解决办法
5万
查看次数

Android Emulator"链接验证失败"将开发人员计算机与自签名证书连接起来

我有一个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等网站.

https://android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-android-acts-as-if-cert-isn

我通过WebView访问该服务.

任何帮助,指针,想法将不胜感激.

TIA

ssl android ssl-certificate android-emulator

28
推荐指数
4
解决办法
1万
查看次数

ArrayList查找第一个和最后一个元素

晚上好,

我有一个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"事件中.

java android

12
推荐指数
2
解决办法
7万
查看次数

Jquery使用PhoneGap进行闪烁导航的移动代码

我相信这篇文章解决了我的麻烦 在页面之间导航时闪烁.特别:

$(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但后来我不知道在那里,如果这是正确的文件.

jquery-mobile cordova

5
推荐指数
1
解决办法
4131
查看次数

更好地理解SimpleAdapter的ViewBinder

我有4个TextViews,2个ImageViews,2个Buttons和2个小部件,它们是a中行定义的一部分ListView.数据来自XML和a SimpleAdapter.要访问这些,TextViewsViewBinde在自定义类中实现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)

android simpleadapter android-viewbinder

5
推荐指数
1
解决办法
3877
查看次数

长按按钮事件处理程序

我看到几篇文章,如这 一个描述如何处理与按键长按事件.我可以遵循这些指示,但我想知道是否可以像处理点击一样进行.我处理点击的方式是用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

android

5
推荐指数
1
解决办法
2万
查看次数

尽管定义了返回对象,NSubstitute Async 仍返回 null

我有一个单元测试应该返回指定的对象,但它返回 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)

c# unit-testing asynchronous

5
推荐指数
1
解决办法
1万
查看次数

查找列表<T>倒数第二个元素

我想找到列表中第二个到最后一个项目.一篇文章提出了我使用的搜索术语,他们建议获取最后一个元素的索引然后备份一步.这真的是这样做的方式....?看起来有点kludgy /硬编码.也许我太偏执了?

int _lstItemIdx = List<MyObj>.IndexOf(List<MyObj>.Last());
int _sndLstItmIdx = (_lstItemIdx - 1);
Run Code Online (Sandbox Code Playgroud)

谢谢

c#-4.0

4
推荐指数
1
解决办法
3270
查看次数

MVC ListBox多选在post上的控制器中只有一个值

我一直在关注列表框的一些指导并尝试正确处理选择.什么是困扰我,我似乎无法找到相关的材料是访问所选的值.可能只有一个被选中,但最有可能一次选择多个.

我的帖子控制器正在获取对象模型,它具有所选项目之一的值但不是全部的值?我是否需要在帖子之前运行一些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

c# asp.net asp.net-mvc razor asp.net-mvc-3

4
推荐指数
1
解决办法
7408
查看次数