我已经搜遍了所有但没有找到答案.
在我的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) 所以我正在为 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(用户绘制的),而无需重新创建整个文档。
非常感谢任何链接、提示和其他有用信息。提前致谢
我正在尝试更改工具栏标题的字体。这是我的工具栏布局:
<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
但没有运气
目前,我使用 SpannableString 和TypefaceSpan来完成这项工作。希望它能帮助某人。
我试图在视图中"连接"我的对象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)