我正在写一个连接到Web服务应用程序,我不希望它等待太久,如果它不能得到一个连接.因此,我设置了httpparams的connectionTimeout.但它似乎没有任何影响.
测试我暂时关闭我的WLAN.该应用程序试图连接相当长的一段时间(超过秒3我想办法更多),然后抛出一个UnknownHostException.
这是我的代码:
try{
HttpClient httpclient = new DefaultHttpClient();
HttpParams params = httpclient.getParams();
HttpConnectionParams.setConnectionTimeout(params, 3000);
HttpConnectionParams.setSoTimeout(params, 3000);
httppost = new HttpPost(URL);
StringEntity se = new StringEntity(envelope,HTTP.UTF_8);
httppost.setEntity(se);
//Code stops here until UnknownHostException is thrown.
BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient.execute(httppost);
HttpEntity entity = httpResponse.getEntity();
return entity;
}catch (Exception e){
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
任何人都有我想念的想法吗?
我正在使用SimpleXml来(de)序列化POJO.现在,我有一个大的XML,它有一些不需要的元素.例如,使用此XML:
<Root>
<Element>Used</Element>
<Another>Not used</Another>
<Root>
Run Code Online (Sandbox Code Playgroud)
我想创建一个POJO,它看起来像:
@Root
class Root{
@Element
private String element;
}
Run Code Online (Sandbox Code Playgroud)
问题是我得到了这个例外:
simpleframework.xml.core.ElementException: Element 'Another' does not have a
match in class blah.blah.Blah at line 1
Run Code Online (Sandbox Code Playgroud)
那么......我应该如何配置POJO以便我能正确解析XML?
我希望看到一个用C/C++编写的"Hello world"程序,但可以在Android上运行.
我知道这可以通过使用NDK和JNI调用来实现.但是无法使其发挥作用.没有在线指南是有帮助的.
需要知道才能开始.
我正在使用Windows 7计算机进行开发,并且还使用Eclipse轻松实现.
Android安装路径:C:\ Program Files\Android\android-sdk-windows和NDK我已经提取到:C:\ Program Files\Android\android-ndk-r5
如果我可以帮助运行一个简单的"hello world",我可以使用C++设计大部分敏感代码.
我必须下载一个文件,我正在使用这个代码,这基本上是一个AsyncTask用于更新进度条的代码.但是,因为我不知道文件大小是多少,所以我一直不得不使用微调器进度条.那么,如何在开始下载之前获取文件大小以便我可以使用正常的进度条?
此代码段中的setContentView行中发生此错误:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)
我知道为了解析R.layout.main,必须存在名为res/layout/main.xml的文件.
它存在且有效(即Eclipse将其标记为完美且没有任何错误).那么,还有什么可能导致这个错误?
顺便说一下,我已经尝试过Project> Clean.错误仍然存在.
我正在开发一个Android应用程序,我正在做一些繁重的工作(将来自在线网页的数据并将其解析为存储在数据库中)在服务中.目前,它需要大约20多个分钟,而这一次我的UI被卡住了.我正在考虑在服务中使用一个线程,所以我的UI不会卡住,但它会给出错误.我使用以下代码:
Thread thread = new Thread()
{
@Override
public void run() {
try {
while(true) {
sleep(1000);
Toast.makeText(getBaseContext(), "Running Thread...", Toast.LENGTH_LONG).show();
}
} catch (InterruptedException e) {
Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
}
}
};
thread.start();
Run Code Online (Sandbox Code Playgroud)
这个简单的代码给出了运行时错误.即使我取出while循环,它仍然无法正常工作.拜托,任何人都可以告诉我我在做什么错.显然,我直接从电子书中复制了这段代码.它可以起作用但不是.
我知道从API级别5可以在意图中指定一个标志,以防止在我开始新活动时应用正常动画:
myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是:有没有办法在支持Android 1.6的应用程序中实现相同的功能?
我有一个必须动态创建的大型数学表达式.例如,一旦我解析了"某事",结果将是一个字符串,如:"$foo+$bar/$baz";.
所以,为了计算该表达式的结果,我正在使用eval函数......这样的事情:
eval("\$result = $expresion;");
echo "The result is: $result";
Run Code Online (Sandbox Code Playgroud)
这里的问题是,有时我会得到错误,表示存在除零的错误,而且我不知道如何捕获该异常.我尝试过这样的事情:
eval("try{\$result = $expresion;}catch(Exception \$e){\$result = 0;}");
echo "The result is: $result";
Run Code Online (Sandbox Code Playgroud)
要么:
try{
eval("\$result = $expresion;");
}
catch(Exception $e){
$result = 0;
}
echo "The result is: $result";
Run Code Online (Sandbox Code Playgroud)
但它不起作用.那么,如果存在除零值,我怎么能避免我的应用程序崩溃?
编辑:
首先,我想澄清一下:表达式是动态构建的,所以如果分母为零,我不能只评估它.那么......关于Mark Baker的评论,让我举个例子.我的解析器可以构建这样的东西:
"$foo + $bar * ( $baz / ( $foz - $bak ) )"
Run Code Online (Sandbox Code Playgroud)
解析器逐步构建字符串而不用担心变量的值...所以在这种情况下如果$foz == $bak实际上除以零:$baz / ( 0 ).
另一方面,正如皮特建议的那样,我尝试过:
<?php
$a = 5;
$b = 0;
if(@eval(" …Run Code Online (Sandbox Code Playgroud) 在我的Android应用程序中,我创建了一个名为myList的ListView组件,并用我自己的自定义类型的对象填充它:
class MyClass{
private String displayName;
private String theValue;
... //here constructor, getters, setters and toString() are implemented
}
Run Code Online (Sandbox Code Playgroud)
我使用ArrayAdapter将ArrayList theObjects绑定到myList:
ArrayAdapter<MyClass> adapter=
new ArrayAdapter<MyClass>(this, R.layout.lay_item, theObjects);
myList.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
这工作正常,列表填充等等,但当我尝试访问所选项目时,我收到一个Null对象.我已经完成了这个
myList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
MyClass selItem = (MyClass) myList.getSelectedItem(); //
String value= selItem.getTheValue(); //getter method
}
Run Code Online (Sandbox Code Playgroud)
什么似乎是问题?谢谢