背景:
我最近刚开始使用Android。我想创建一个Android应用程序,它从服务器获取数据并自定义它,显示它然后使用Twitter来发布结果。我正在考虑使用(twitter4j API。)。
最初我在服务器上有一个PERL文件,我需要从我的应用程序界面调用。 (我在(dev.android ..)修改了HelloWorld.java的代码。我存储在服务器上的PERL文件的输出格式为 print“”我将使用集体打印输出并在我的应用程序中解码它们。
现在我的代码如下:
package com.example.helloandroid;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloWorldAndroidActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv=new TextView(this);
/* tv.setText("Hello, World !! This is my First Android App .. Cheers");
setContentView(tv);*/
try {
InputStream is = new URL("http://myserver.com:1941/cgi-bin/myperl.pl").openStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
String str = in.readLine();
in.close();
tv.setText(str);
setContentView("phew");
} catch (MalformedURLException e) {
//FAIL
} catch (IOException e) {
//FAIL
}
}
}
但是我无法使用代码从服务器文件中获取数据,因为Eclipse模拟器显示但除了“shinny android logo”之外没有显示任何内容。
有什么方法可以读取该文件吗?此外,我希望你们老年人建议我一些启动/假人预订Android开发。
答案 0 :(得分:0)
您希望模拟器启动多长时间?启动可能需要两分钟。在这方面它有点慢。试着给它一点时间来实际进入主屏幕。另外,你的logcat有什么有意义的吗?
此外,您正在主UI线程上进行网络操作。永远不要这样做。您需要将网络操作移动到其他线程。有关详细信息,请阅读Painless Threading。