代码:package com.studio.time;import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EncodingUtils;import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.support.v4.app.NavUtils;
import android.view.View.OnClickListener;
import android.app.Activity;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EncodingUtils;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;@SuppressLint({ "ParserError", "ParserError", "ParserError", "ParserError", "ParserError", "ParserError", "ParserError", "ParserError" })
public class MainActivity extends Activity { private String TAG = "chapter8_3";
private Button btnEnd;
private TextView labelTimer;
private Thread clockThread;
private Thread urlThread;
private boolean isRunning = true;
private Handler handler;
private TextView tv;
@SuppressLint({ "ParserError", "ParserError" })
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btnEnd = (Button) findViewById(R.id.btnEnd);
btnEnd.setOnClickListener(new OnClickListener() { public void onClick(View v) {
isRunning = false;
}
});
handler = new Handler() { public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
labelTimer.setText("you have been in this app " + msg.obj + " seconds");
}
} }; labelTimer = (TextView) findViewById(R.id.labelTimer);
tv = (TextView) findViewById(R.id.tv);
/* 线程体是Clock对象本身,线程名字为"Clock" */
clockThread = new Thread(new Runnable() {
@SuppressLint("ParserError")
public void run() {
int timer = 0;
while (isRunning) {
try {
Thread.currentThread();
Thread.sleep(1000);
timer++;
/* labelTimer.setText("you have been in this app " + timer + " seconds"); */
Message msg = new Message();
msg.obj = timer;
msg.what = 0;
handler.sendMessage(msg);
Log.d(TAG, "lost time " + timer);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}); clockThread.start();
urlThread = new Thread(new Runnable(){
public void run() {
String myString = null;
try{
URL myURL = new URL("http://www.baidu.com");
URLConnection ucon = myURL.openConnection();
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while((current = bis.read())!= -1){
baf.append((byte)current);
}
myString = EncodingUtils.getString(baf.toByteArray(),"UTF-8");
}catch(Exception e){
myString = e.getMessage();
}
tv.setText(myString);
}
});
urlThread.start();
}}
上面是main_activity的代码。
提示是意外终止要强行停止。
可是我第一次明明运行成功了呀。。
大家帮帮忙看看吧,我明天就得交作业了,我android才学了一个星期,其实都不懂的。上面的代码也是我硬写的。
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EncodingUtils;import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.support.v4.app.NavUtils;
import android.view.View.OnClickListener;
import android.app.Activity;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import org.apache.http.util.ByteArrayBuffer;
import org.apache.http.util.EncodingUtils;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;@SuppressLint({ "ParserError", "ParserError", "ParserError", "ParserError", "ParserError", "ParserError", "ParserError", "ParserError" })
public class MainActivity extends Activity { private String TAG = "chapter8_3";
private Button btnEnd;
private TextView labelTimer;
private Thread clockThread;
private Thread urlThread;
private boolean isRunning = true;
private Handler handler;
private TextView tv;
@SuppressLint({ "ParserError", "ParserError" })
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btnEnd = (Button) findViewById(R.id.btnEnd);
btnEnd.setOnClickListener(new OnClickListener() { public void onClick(View v) {
isRunning = false;
}
});
handler = new Handler() { public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
labelTimer.setText("you have been in this app " + msg.obj + " seconds");
}
} }; labelTimer = (TextView) findViewById(R.id.labelTimer);
tv = (TextView) findViewById(R.id.tv);
/* 线程体是Clock对象本身,线程名字为"Clock" */
clockThread = new Thread(new Runnable() {
@SuppressLint("ParserError")
public void run() {
int timer = 0;
while (isRunning) {
try {
Thread.currentThread();
Thread.sleep(1000);
timer++;
/* labelTimer.setText("you have been in this app " + timer + " seconds"); */
Message msg = new Message();
msg.obj = timer;
msg.what = 0;
handler.sendMessage(msg);
Log.d(TAG, "lost time " + timer);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}); clockThread.start();
urlThread = new Thread(new Runnable(){
public void run() {
String myString = null;
try{
URL myURL = new URL("http://www.baidu.com");
URLConnection ucon = myURL.openConnection();
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while((current = bis.read())!= -1){
baf.append((byte)current);
}
myString = EncodingUtils.getString(baf.toByteArray(),"UTF-8");
}catch(Exception e){
myString = e.getMessage();
}
tv.setText(myString);
}
});
urlThread.start();
}}
上面是main_activity的代码。
提示是意外终止要强行停止。
可是我第一次明明运行成功了呀。。
大家帮帮忙看看吧,我明天就得交作业了,我android才学了一个星期,其实都不懂的。上面的代码也是我硬写的。
解决方案 »
- Android游戏开发,如何让游戏适配所有的分辨率?
- android的软键盘能修改吗? 也就是能不能操作软键盘的布局?
- 安卓程序中怎么样把变量中的数据 显示在activity界面上?
- activity 不响应ontouch....
- 从assets中加载多个图片出错,求高人解决,急!
- 请问关于query的问题
- android 源码是如何实现搜索全部路径
- ant打包android项目出现No resource found that matches the given name
- 安卓开发界面设计
- 动态设置TextView字体大小问题
- 急。有关Android图库问题。
- 关于Android读写串口的权限问题
myString = EncodingUtils.getString(baf.toByteArray(),"UTF-8");
}catch(Exception e){
myString = e.getMessage();
}
tv.setText(myString);
}
});
urlThread.start();
}}
这个只能在uithread中做,你搞一个handler发message过去,在handler中更新
我现在真心想砸了我的电脑。。真的好卡。
然后我也不知道CSDN的设计为什么这么不人性化。可以的话,,,,麻烦加我280248066 谢谢您!