小编Jay*_*bal的帖子

哪个是在android中定义常量的最佳方法,静态类,接口或xml资源?

我正在开发一个使用Web服务从服务器获取数据的Android应用程序,因为我有三套不同的URL来指向开发系统,测试服务器和实时服务器.每当我想提供测试/实时应用程序时,很难更改URL.所以我计划将其设置为可配置,以便应用程序可以根据我的构建类型配置常量获取适当的URL.所以,

  • 这是保持这个常量,java静态类或java公共接口或xml资源文件的最佳方法.什么时候?为什么?
  • 哪个性能更好?,什么时候?为什么?

例如:xml资源

<integer name="config_build_type">0</integer>
<string-array name="url_authentication">
    <item >http://development.com/xxxx</item>
    <item >http://test.com/xxx</item>
    <item >http://example.com/xxx</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

Java静态常量

public class Config {
    public static final int BUILD_TYPE = 0; // 0 - development, 1 - test, 2 - live
    public static final String[] URL_AUTHENTICATION = {"http://development.com/", "http://test.com/", "http://example.com"};
}
Run Code Online (Sandbox Code Playgroud)

xml configuration android constants static-members

90
推荐指数
3
解决办法
7万
查看次数

NSURLConnection下载大文件(> 40MB)

我需要从服务器下载大文件(即> 40MB)到我的应用程序,这个文件将是ZIP或PDF.我使用NSURLConnection实现了它,如果文件较小,则可以正常工作,因为它下载了部分填充并且执行已经停止.例如我试图下载36MB PDF文件,但只下载了16MB.请帮我知道原因?怎么解决?

仅供参考:实施档案

#import "ZipHandlerV1ViewController.h"
@implementation ZipHandlerV1ViewController
- (void)dealloc
{
    [super dealloc];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}
 - (void)viewDidLoad
 {
     UIView *mainView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 400, 400)];
     [mainView setBackgroundColor:[UIColor darkGrayColor]];

     UIButton *downloadButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
     [downloadButton setFrame:CGRectMake(50, 50, 150, 50)];
     [downloadButton setTitle:@"Download File" forState:UIControlStateNormal];
     [downloadButton addTarget:self action:@selector(downloadFileFromURL:) forControlEvents:UIControlEventTouchUpInside];
     [mainView addSubview:downloadButton];

     [self setRequestURL:@"http://www.mobileveda.com/r_d/mcps/optimized_av_allpdf.pdf"];
     [self.view addSubview:mainView];

     [super viewDidLoad];
 }

- (void)viewDidUnload
{
    [super viewDidUnload];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


-(void) setRequestURL:(NSString*) …
Run Code Online (Sandbox Code Playgroud)

iphone file download ios

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

ACRA:我如何将ACRA报告写入文件(在SD卡中)?

我可以通过处理未捕获的异常来使用ACRA库来管理强制关闭错误.报告可以成功发送到谷歌文档,电子邮件和自定义Web服务..

但我想要的是什么..

  • 如何将报告写入文件[例如 sdcard/myapp/myLog.txt]?

我为什么要这个..

  • 强制关闭时,我的应用程序用户可能没有互联网连接 ..如果是,那么我将错过报告,如果我将报告写入文件然后我可以在互联网连接可用时发送到我的服务器.

android file crash-reports forceclose

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

如何获取TimePickerDialog AM PM值

我想通过timePickerDialog获取AM/PM值.我的代码是这样的,它通过timepickerdialog通过用户输入并设置警报.在这里我得到用户输入

datetime = Calendar.getInstance();
new TimePickerDialog(this,this,datetime.get(Calendar.HOUR),datetime.get(Calendar.MINUTE),false).show();
Run Code Online (Sandbox Code Playgroud)

现在当onTimeSet函数调用时,我可以获得用户选择的小时和分钟,但无法获得用户选择的AM/PM值.这是其他代码

public void onTimeSet(TimePicker view, int hourOfDay, int minute) { try { Calendar time = Calendar.getInstance();
String am_pm;

if (datetime.get(Calendar.AM_PM) == Calendar.AM)
    am_pm = "AM";
else if (datetime.get(Calendar.AM_PM) == Calendar.PM)
    am_pm = "PM";

time.set(Calendar.HOUR, hourOfDay);
time.set(Calendar.MINUTE, minute);
//time.set(Calendar.SECOND, 0);
//time.set(Calendar.MILLISECOND, 0);
//time.set(Calendar.AM_PM,datetime.PM);

AlarmManager alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);      
alarmMgr.set(AlarmManager.RTC_WAKEUP,time.getTimeInMillis(), pendingIntent);
Toast.makeText(this, "Alarm Set", Toast.LENGTH_long);
Run Code Online (Sandbox Code Playgroud)

android timepicker

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