小编luk*_*ris的帖子

Android Volley商店离线时请求

我已经搜遍了所有但没有找到答案.

在我的Android应用程序中,用户可以脱机使用该应用程序,并且某些事件会向我的服务器生成http GET请求.我正在使用Volley,当用户在线时,请求正常工作,但是脱机它们会立即失败并从请求队列中删除.

我希望Volley存储这些请求,并在服务器可访问时再试一次,或者至少继续尝试.这种行为可能吗?

这就是我做事的方式:

StringRequest request = new StringRequest(Request.Method.GET, url, listener, listener);
request.setRetryPolicy(new DefaultRetryPolicy(8000, 2, 1.5f));
postToDefaultQueue(request);

private void postToDefaultQueue (StringRequest request) {
    if (sQueue == null) {
        sQueue = Volley.newRequestQueue(mContext.get());
    }
    sQueue.add(request);
}
Run Code Online (Sandbox Code Playgroud)

非常感谢,任何帮助表示赞赏


编辑

所以我设法让请求在失败后返回队列.代码如下:

private class DummyListener implements Response.Listener<String>, Response.ErrorListener {
    String mUrl;
    public DummyListener (String url){
        mUrl = url;
    }
    @Override
    public void onErrorResponse(final VolleyError error) {
        new Timer().schedule(new TimerTask() {
            @Override
            public void run() {
                Log.v(DummyListener.class.getSimpleName(), "ErrorResponse", error);
                offlineStringGetRequest(mUrl);
            }
        }, 5000);
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

android offline http-get request android-volley

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

在特定页面的现有 PDF 文档上绘制内容

所以我正在为 iPad 实现一种特定类型的 PDF 编辑器,供个人使用。我已经实现了PDF查看器,现在我陷入了编辑部分。这是交易:我在 UIView 中显示文档的每一页,然后创建另一个视图,其中的页面大小完全相同。然后我让用户在视图上绘制

现在,假设我想在绘制的 PDF 文件的确切页面中打印该 UIVIiew。我知道有一种方法可以做到这一点,但是对于更大的文档需要太长时间。我是这样做的(为了更好的理解简化了代码):

UIGraphicsBeginPDFContextToFile(file, pageSize, nil);

for (size_t currentPage = 1; currentPage <= pageCount; currentPage++) {

    UIGraphicsBeginPDFPageWithInfo(pageSize, nil);
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    //translates context, copies doc page to the new pdf, translates back
    CGContextTranslateCTM(ctx, 0, pageSize.size.height);
    CGContextScaleCTM(ctx, 1.0, -1.0); 
    CGPDFPageRef page = CGPDFDocumentGetPage (document, currentPage);
    CGContextDrawPDFPage (ctx, page);
    CGContextScaleCTM(ctx, 1.0, -1.0);
    CGContextTranslateCTM(ctx, 0, -pageSize.size.height);
    //custom drawing goes here
    if(currentPage == desiredPage) [imageFromView drawInRect:pageSize];
}
UIGraphicsEndPDFContext();
Run Code Online (Sandbox Code Playgroud)

这里的问题是此过程会重新创建整个 PDF,对于较大的文档,这可能需要几分钟才能完成。

我需要一个解决方案,可以在 PDF 文档的页面中打印 UIView(用户绘制的),而无需重新创建整个文档。

非常感谢任何链接、提示和其他有用信息。提前致谢

pdf cocoa-touch objective-c ipad ios

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

Android 支持 v7 工具栏 setTitleTextAppearance 不起作用

我正在尝试更改工具栏标题的字体。这是我的工具栏布局:

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="#666666"
    app:titleTextAppearance="@style/MyText"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
Run Code Online (Sandbox Code Playgroud)

在我的 styles.xml 中

<style name="MyText">
    <item name="fontPath">fonts/myFont.ttf</item>
</style>
Run Code Online (Sandbox Code Playgroud)

如果我不设置app:titleTextAppearance,工具栏使用系统字体。我设置后,字体变小了,但是还是系统字体。难道我做错了什么?

任何建议、评论或答案都非常感谢。

编辑:

我尝试将样式移至styles-text.xml但没有运气

编辑2:

目前,我使用 SpannableString 和TypefaceSpan来完成这项工作。希望它能帮助某人。

android android-appcompat android-toolbar

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

查看对象无法连接到文件所有者

我试图在视图中"连接"我的对象File's Owner使用interface builder,但蓝线不与它"链接".这是我的代码:

CalculatorViewController.h:

#import <UIKit/UIKit.h>
#import "CalculatorBrain.h"

@interface CalculatorViewController : UIViewController {
    IBOutlet UILabel *display;
    IBOutlet UIButton *button;
    CalculatorBrain *brain;
    BOOL userIsInTheMiddleOfTypingANumber;
}

- (IBAction)digitPressed: (UIButton *)sender;
- (IBAction)operationPressed: (UIButton *)sender;

@end
Run Code Online (Sandbox Code Playgroud)

CalculatorViewController.m:

#import "CalculatorViewController.h"

@implementation CalculatorViewController

- (CalculatorBrain *)brain
{
    if (!brain) {
        brain = [[CalculatorBrain alloc] init];
    }
    return brain;
}


- (IBAction)digitPressed:(UIButton *)sender
{
    NSString *digit = [[sender titleLabel] text];
    if (userIsInTheMiddleOfTypingANumber) {
        [display setText: [[display text] stringByAppendingString:digit]];
    } else …
Run Code Online (Sandbox Code Playgroud)

iphone xcode interface-builder

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