小编And*_*nez的帖子

试图上传到Dropbox:NetworkOnMainThreadException?

我现在已经和他一起战斗了6个小时.我已经关注了Dropbox的"教程"(如果它们可以被称为,因为它们非常差),使用DBRoulette示例,并完成了大量的工作以使我的应用程序正常工作.

我的应用程序可以正常进行身份验证.但是,尽管做了教程正在做的事情,但我无法上传任何内容:

这是我的一小段代码(这是为了在手机上保存创建的笔记,然后上传到Dropbox):

        saveBtn.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
            try
            {
                //Create the directory if it doesn't exist. If it does exist the next two line won't do anything.
                File dropNotesDir = new File(Environment.getExternalStorageDirectory() + "/documents/AppData/Dropnotes/");
                dropNotesDir.mkdirs();
                //-----------------------------------------------------------------------------------------------
                String wholeNoteString = noteBody.getText().toString();
                //Now we create the title of the txt file. It will be the first line of the whole note. The name will get truncated to 32 characters
                //if it's too long.
                String noteTitle;
                if(wholeNoteString.indexOf("\n") >= …
Run Code Online (Sandbox Code Playgroud)

android dropbox dropbox-api

3
推荐指数
1
解决办法
2018
查看次数

如何使用用户的iPod库艺术家索引UITableView?

我想在我的应用程序中获取并索引所有iPod库艺术家,就像音乐应用程序一样.我遇到的问题是我不知道解决这个问题的最佳方法是什么.有帮助吗?

iphone objective-c uitableview uikit ios5

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

如何在应用中授权多个Dropbox帐户?

我想更新我的一个应用程序(这是一个Dropbox客户端)以支持多个帐户,但我似乎找不到办法.

我已多次分析SDK,无论我看多少次,看起来使用官方SDK的帐户一次只能支持一个帐户.虽然我确信它可以支持更多,因为我知道许多应用程序允许您链接多个.

关于这样做的任何指示将受到高度赞赏.我甚至找不到一种方法来获取令牌以便稍后单独存储它们.

cocoa-touch ios dropbox-api ios6

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

如何防止JQuery的val()在空格后丢弃所有内容?

我正在写一些基于选择值动态获取州和城市的东西.例如,如果用户选择"美国"作为国家,则页面通过AJAX向服务器发送查询并填充States"俄亥俄州","阿拉巴马州","佛罗里达州"等.当用户选择"佛罗里达"时,它将Cities使用"奥兰多","迈阿密"等填充下拉列表.

我用它来听取变化$().change.检测到更改时,我从选择字段中获取值$().val().

     País: <select name="country" id="newCompCountry"></select>
 - Estado: <select name="state" id="newCompState"></select>
 - Ciudad: <select name="city" id="newCompCity"></select><br />
Run Code Online (Sandbox Code Playgroud)

选项标签的填充方式如下:

$.get("../process/getCountries.php",  function(data){
        var countries = $("#newCompCountry");
        countries.empty();
        for(var i = 0; i < data.length; i++)
        {
            countries.append("<option value=" + data[i] +">"+ data[i] +"</option>");
        }
    }, "json");

    $.get("../process/getStates.php", {country_name : $("#newCompCountry").val()}, function(data){
        var states = $("#newCompState");
        states.empty();
        for(var i = 0; i < data.length; i++)
        {
            states.append("<option value=" + data[i] +">"+ data[i] +"</option>");
        }
        console.log("ESTADO: …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

如何从URL中删除查询(用于GET参数)?

我正在构建一个小型REST服务来授权用户进入我的应用程序.

有一次,我用来授权用户的UIWebView将转到https://myautholink.com/login.php.此页面使用授权令牌发送JSON响应.关于这个页面的事情是它通过我的授权表格通过GET接收一些数据.我无法使用PHP会话,因为您通过以下方式访问此页面:

header("location:https://myautholink.com/login.php?user_id=1&machine_id=machine_id&machine_name=machine_name&app_id=app_id");
Run Code Online (Sandbox Code Playgroud)

由于标题函数在标题中发送,我不能session_start();同时执行.

我可以使用委托方法获取UIWebView的请求URL而不会出现问题:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSURLRequest *request = [webView request];
    NSLog(@"%@", [[request URL] relativeString]);
    if([[[request URL] absoluteString] isEqualToString:SPAtajosLoginLink])
    {
        //Store auth token and dismiss auth web view.
    }
}
Run Code Online (Sandbox Code Playgroud)

事情是没有NSURL方法似乎没有参数返回"干净"链接.我查看了所有NSURL url-string相关方法:

- (NSString *)absoluteString;
- (NSString *)relativeString; // The relative portion of a URL.  If baseURL is nil, or if the receiver is itself absolute, this is the same as absoluteString
Run Code Online (Sandbox Code Playgroud)

但是absoluteString总是带有GET参数的完整URL,而relativeString总是为零.

我正在摸不着头脑,我似乎无法找到解决方案.任何帮助将不胜感激.

nsurl uiwebview nsurlrequest ios ios7

2
推荐指数
3
解决办法
5359
查看次数

支持旧版iOS

我正在开发一个新的iOS应用程序,它应该支持开箱即用的新拖放功能(iOS 11).但是我希望它在旧的(iOS 10)设备上也可以执行.据我所知,设置Deployment TargetiOS 11会阻止应用程序安装在旧设备上.但是,将其设置为iOS 10.3将导致出现错误,并指出Drag and Drop仅适用于iOS 11.0或更高版本.

我的问题是:有没有办法通过提供两个版本(一个有DnD,一个没有遗留)或者告诉xcode忽略旧版本的DnD行,可以让应用程序可用于旧设备?或者这根本不可能?

所有帮助表示赞赏!

xcode ios ios10.3 ios11

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

新生成的Dropbox令牌立即过期

我在这里有这个奇怪的问题,我立即通过Dropbox获取令牌并尝试测试它,这个消息抛出异常:

HTTP状态401 {"错误":"给定的OAuth 2访问令牌不存在或已过期."}

为什么Dropbox令牌会生成后立即过期?

让我告诉你我的应用程序的流程:

用户看到此屏幕:

表格1

其中包含以下相关的PHP代码:

require "../../includes/dropbox-sdk/Dropbox/autoload.php";
require "../../includes/config.php";
session_start();
session_regenerate_id();
$appInfo = Dropbox\AppInfo::loadFromJsonFile("../../includes/dropbox-sdk/Dropbox/app-info.json");
$webAuth = new Dropbox\WebAuthNoRedirect($appInfo, "Mignori-Box/1.0");

$authorizeUrl = $webAuth->start();
Run Code Online (Sandbox Code Playgroud)

好吧,我们使用官方SDK生成一个Dropbox授权URL,这似乎工作正常,用户看到这个屏幕:

Dropbox的

他们点击允许,Dropbox为他们提供授权令牌,然后他们将其粘贴到我的网站,然后提交.这是处理表单的代码:

      try
      {
          $accessToken = $_POST['authorization_code'];

          $dbxClient = new Dropbox\Client($accessToken, "Mignori-Box/1.0");
          $accountInfo = $dbxClient->getAccountInfo();
      }catch(Exception $e)
      {
          echo "<div class=\"alert alert-danger\">";
          echo "<strong>An error has occurred.</strong><br>" . $e -> getMessage();
          echo "</div>";
      }
Run Code Online (Sandbox Code Playgroud)

但无论令牌有多近,当用户提交令牌时,都会调用catch并显示警告.即使令牌是在几秒钟之前生成的,这种情况也会发生.

有人可以告诉我什么是错的吗?

php dropbox dropbox-api dropbox-php

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

AnyObject没有名为"sort"的成员

我有一个数组var savedDataArray: AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey("savedDataArray")G,我想升序排序

我检查它是否为空,然后解开它,但是我仍然得到"没有名字成员"的错误?

if savedDataArray?.count>0{
            savedDataArray!.sort{$0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }
        }
Run Code Online (Sandbox Code Playgroud)

错误 Any object does not have a member named "sort"

所以,然后我尝试扭转array和大惊喜相同的错误.reverse

我想通过检查数组是否nil,然后强制解包,这些错误不相关

arrays sorting ios swift

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