我正在使用自定义CursorAdapter从SQLite数据库中获取数据并在列表视图中显示它.该数据库包含2列,大约8.000行.所以我正在寻找一种方法来查询和尽快显示所有数据.我用asyncTask完成了这个是代码:
private class PrepareAdapter extends AsyncTask<Void,Void,CustomCursorAdapter > {
@Override
protected void onPreExecute() {
dialog.setMessage("Wait");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
Log.e("TAG","Posle nov mAdapter");
}
@Override
protected CustomCursorAdapter doInBackground(Void... unused) {
Cursor cursor = myDbNamesHelper.getCursorQueryWithAllTheData();
mAdapter.changeCursor(cursor);
startManagingCursor(cursor);
Log.e("TIME","posle start managing Cursor" + String.valueOf(SystemClock.elapsedRealtime()-testTime)+ " ms");
testTime=SystemClock.elapsedRealtime();
mAdapter.initIndexer(cursor);
return mAdapter;
}
protected void onPostExecute(CustomCursorAdapter result) {
TabFirstView.this.getListView().setAdapter(result);
Log.e("TIME","posle adapterSet" + String.valueOf(SystemClock.elapsedRealtime()-testTime)+ " ms");
testTime=SystemClock.elapsedRealtime();
dialog.dismiss();
}
Run Code Online (Sandbox Code Playgroud)
}
除了我需要将结果设置为适配器的部分之外,这个工作正常.我做了一些时间测试,需要大约700毫秒来使它超过startManagingCursor.问题是它需要大约7秒才能超过setAdapter(结果)并且它在UI线程中运行,因此它使我的应用程序无响应(进度对话框冻结,有时会执行应用程序).我如何减少这个时间?我可以使这也在后台运行或以任何方式提高响应能力?
TNX.
public class CustomCursorAdapter extends SimpleCursorAdapter implements OnClickListener,SectionIndexer,Filterable,
android.widget.AdapterView.OnItemClickListener{
private Context context;
private int layout;
private AlphabetIndexer …
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何在python中使用unicode支持; 我想将此字符串转换为unicode:"ABCDE" - >"\ x00A\x00B\x00C\x00D\x00E"
任何内置函数都可以做到,或者我应该使用join()?
谢谢 !
public function getCheckoutForm(){
$arr = array(
'cmd' => '_cart',
'business' => 'some@mail',
'no_shipping' => '1',
'upload' => '1',
'return' => 'url',
'cancel_return' => 'url1',
'no_note' => '1',
'currency_code' => 'url2',
'bn' => 'PP-BuyNowBF');
$cpt=1;
foreach($this->items as $item){
$arr1[] = array(
'item_number_'.$cpt.'' => $item['item_id'],
'item_name_'.$cpt.'' => $item['item_name'],
'quantity_'.$cpt.'' => $item['item_q'],
'amount_'.$cpt.'' => $item['item_price']
);
$cpt++;
}
return array_merge($arr,$arr1[0],$arr1[1]);
}
Run Code Online (Sandbox Code Playgroud)
这将返回这样的数组:
Array
(
[cmd] => _cart
[business] => some@mail
[no_shipping] => 1
[upload] => 1
[return] => url1
[cancel_return] =>url2
[no_note] => …
Run Code Online (Sandbox Code Playgroud) 我有一点菜鸟问题.我想设计重定向到用户访问的最后一页.所以我做了以下......
def after_sign_in_path_for(resource)
request.referer
end
Run Code Online (Sandbox Code Playgroud)
效果很好......除非用户实际通过原始表单登录导致重定向循环.
我试过了
def after_sign_in_path_for(resource)
if (request.referer == "/users/sign_in")
:pages_home
else
request.referer
end
end
Run Code Online (Sandbox Code Playgroud)
但这不起作用,很可能是因为我不知道request.referer在遇到原始用户登录页面时实际返回了什么(www.example.com/users/sign_in).
有任何想法吗?
tldr; 使用devise,我想重定向到从(/ blog/4)登录的页面,除非页面是/ users/sign_in
解决了:
Matchu是对的.request.referer也返回了域名......
http://example.com/users/sign_in
Run Code Online (Sandbox Code Playgroud)
(注意:没有www前缀)
如果它是一种不安全或低效的方式,我仍然对request.referer的替代方案感兴趣.
我有一个我编写的java applet,并且已经运行了很长一段时间.在applet中,我有一堆在其文本内容中使用HTML的JLabel(这是允许的,并且已经工作多年).我使用HTML的主要原因是允许JLabel中的换行符.
问题:最近,其中包含HTML的JLabel(有些没有)停止显示其文本.我认为它可能与最近的Java更新(2010年10月12日的Java SE 6 Update 22)有关,但不是100%肯定,但问题似乎确实在那时开始.也许已经引入了一个bug?或删除功能?
我尝试使用JEditorPane,当内容为HTML时,似乎也有同样的问题.
另外需要注意的是,第一次加载applet时(第一次启动java运行时)它运行起来很精细,但如果刷新网页则会出现上述问题.
有没有人有类似的问题?有谁有任何见解?或者我只是在做一些愚蠢的事情?
我做了一个非常简单的测试applet,我可以100%规律地重现问题(记住第一次运行时加载它会工作正常,只有连续的刷新会导致问题):
[HelloWorldApplet.java]
import javax.swing.*;
public class HelloWorldApplet extends JApplet
{
public void init()
{
this.add(new JLabel("Hello Everybody (Text)"), java.awt.BorderLayout.NORTH);
this.add(new JLabel("<html><body>Hello Everybody (HTML)</body></html>"), java.awt.BorderLayout.SOUTH);
}
}
Run Code Online (Sandbox Code Playgroud)
[HellowWorldApplet.html]
<html>
<title>A Test</title>
<body>
<applet code="HelloWorldApplet.class" width="320" height="120">
You need Java
</applet>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
PS.我一直主要使用Chrome测试,但我也在IE 8中尝试过.此外,我(显然)安装了最新的Java SE 6更新22作为我的运行时间,并具有我的JDK的匹配更新.我使用简单的编译上面的测试applet:"javac HelloWorldApplet.java"
如何将参数从C main函数传递给汇编函数?我知道我的自定义函数必须看起来像:
void function(char *somedata) __attribute__((cdecl));
Run Code Online (Sandbox Code Playgroud)
现在我将如何somedata
在程序集文件中使用.我的操作系统是Linux Ubuntu,我的处理器是x86.
如何查看rspec软件包的版本/标签1.1.4 ?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Run Code Online (Sandbox Code Playgroud) 目前,当这里的用户获得404时,他们会看到以下图像:
polygot-404.png http://sstatic.net/stackoverflow/img/polyglot-404.png
代表文字:
# define v putchar
# define print(x) main(){v(4+v(v(52)-4));return 0;}/*
#>+++++++4+[>++++++<-]> ++++.----.++++.*/
print(202*2);exit();
#define/*>.@*/exit()
Run Code Online (Sandbox Code Playgroud)
这看起来可疑polyglottish.哪些语言有用?
一边想:这只是我,还是我在Prettify中发现了一个错误?
我有以下代码:
String xmldata = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
"<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://www.w3.org/2003/05/soap-envelope\" " +
"xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\" " +
"xmlns:ns1=\"http://org.apache.axis2/xsd\" " +
"xmlns:ns=\"http://tfc\" " +
"xmlns:wsaw=\"http://www.w3.org/2006/05/addressing/wsdl\" " +
"xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" " +
"xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"" +
"xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" " +
"xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" " +
"xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\" " +
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" > " +
"<SOAP-ENV:Body>" +
"<ns:CalFare xmlns:ns=\"http://tfc\">" +
"<ns:nonairport>1</ns:nonairport>" +
"<ns:distance>20</ns:distance>" +
"</ns:CalFare>" +
"</SOAP-ENV:Body>" +
"</SOAP-ENV:Envelope>";
//Create socket
String hostname = "128.196.239.112";
int port = 8080;
InetAddress addr = InetAddress.getByName(hostname);
Socket sock = new Socket(addr, port); …
Run Code Online (Sandbox Code Playgroud) 在一个mercurial repo中,我可以运行hg up {revision}
来更改我的工作目录的修订版,但是我可以运行什么命令来发现我正在查看的修订版本?