|
|
做了一个例子,集成网上的内容,实现
1 计算器
2 网络资源获得
3 查询列表
4 应用跳转
package com.firebow.android.hello;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnKeyListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import bsh.EvalError;import bsh.Interpreter;public class HelloAndroid extends Activity {private static EditText et;private static Interpreter i = new Interpreter();HttpURLConnection uc;URL url;private static final String ip = "http://code.google.com/android/images/logo_android.gif";InputStream is;BufferedInputStream bis;ImageView view1;@Overridepublic void onCreate(Bundle icicle) {super.onCreate(icicle);setContentView(R.layout.main);et = (EditText) findViewById(R.id.edittext);et.setKeyListener(etKeyListener);Button go_button = (Button) findViewById(R.id.go);go_button.setOnClickListener(goListener);view1 = (ImageView) findViewById(R.id.icon);Button next_button = (Button) findViewById(R.id.next);next_button.setOnClickListener(nextListener);Button conn_button = (Button) findViewById(R.id.conn);conn_button.setOnClickListener(connListener);}private OnKeyListener etKeyListener = new OnKeyListener() {public boolean onKey(View arg0, int arg1, KeyEvent arg2) {if (arg2.getKeyCode() == KeyEvent.KEYCODE_NEWLINE) {calculator();return true;}return false;}};private OnClickListener goListener = new OnClickListener() {public void onClick(View v) {calculator();}};private void calculator() {String input = et.getText().toString();((EditText) findViewById(R.id.result)).setText(eval(input).toString());}private OnClickListener connListener = new OnClickListener() {public void onClick(View v) {openConn();sendRequest();getRespones();closeConn();}};private OnClickListener nextListener = new OnClickListener() {public void onClick(View v) {Intent intent = new Intent(HelloAndroid.this, AddressTable.class);startActivity(intent);// setContentView(R.layout.address);}};// 用beanshell来做算式计算private Object eval(String input) {try {return i.eval(input);} catch (EvalError e) {return e.getMessage();}}private void openConn() {try {url = new URL(ip);uc = (HttpURLConnection) url.openConnection();uc.setDoInput(true);} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}private void sendRequest() {try {uc.connect();} catch (IOException e) {e.printStackTrace();}}private void getRespones() {try {is = uc.getInputStream();Log.d("lenght", "" + uc.getContentLength());bis = new BufferedInputStream(is);Bitmap bm = BitmapFactory.decodeStream(bis);view1.setImageBitmap(bm);} catch (IOException e1) {e1.printStackTrace();}}private void closeConn() {try {uc.disconnect();bis.close();is.close();} catch (IOException e) {e.printStackTrace();}}}
package com.firebow.android.hello;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnKeyListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import bsh.EvalError;import bsh.Interpreter;public class HelloAndroid extends Activity {private static EditText et;private static Interpreter i = new Interpreter();HttpURLConnection uc;URL url;private static final String ip = "http://code.google.com/android/images/logo_android.gif";InputStream is;BufferedInputStream bis;ImageView view1;@Overridepublic void onCreate(Bundle icicle) {super.onCreate(icicle);setContentView(R.layout.main);et = (EditText) findViewById(R.id.edittext);et.setKeyListener(etKeyListener);Button go_button = (Button) findViewById(R.id.go);go_button.setOnClickListener(goListener);view1 = (ImageView) findViewById(R.id.icon);Button next_button = (Button) findViewById(R.id.next);next_button.setOnClickListener(nextListener);Button conn_button = (Button) findViewById(R.id.conn);conn_button.setOnClickListener(connListener);}private OnKeyListener etKeyListener = new OnKeyListener() {public boolean onKey(View arg0, int arg1, KeyEvent arg2) {if (arg2.getKeyCode() == KeyEvent.KEYCODE_NEWLINE) {calculator();return true;}return false;}};private OnClickListener goListener = new OnClickListener() {public void onClick(View v) {calculator();}};private void calculator() {String input = et.getText().toString();((EditText) findViewById(R.id.result)).setText(eval(input).toString());}private OnClickListener connListener = new OnClickListener() {public void onClick(View v) {openConn();sendRequest();getRespones();closeConn();}};private OnClickListener nextListener = new OnClickListener() {public void onClick(View v) {Intent intent = new Intent(HelloAndroid.this, AddressTable.class);startActivity(intent);// setContentView(R.layout.address);}};// 用beanshell来做算式计算private Object eval(String input) {try {return i.eval(input);} catch (EvalError e) {return e.getMessage();}}private void openConn() {try {url = new URL(ip);uc = (HttpURLConnection) url.openConnection();uc.setDoInput(true);} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}private void sendRequest() {try {uc.connect();} catch (IOException e) {e.printStackTrace();}}private void getRespones() {try {is = uc.getInputStream();Log.d("lenght", "" + uc.getContentLength());bis = new BufferedInputStream(is);Bitmap bm = BitmapFactory.decodeStream(bis);view1.setImageBitmap(bm);} catch (IOException e1) {e1.printStackTrace();}}private void closeConn() {try {uc.disconnect();bis.close();is.close();} catch (IOException e) {e.printStackTrace();}}}
<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText id="@+id/edittext" android:layout_width="200dip" android:layout_height="wrap_content" android:digits="1234567890.+-*/%\n()" android:text="" /> <Button id="@+id/go" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="计算" /> </LinearLayout> <EditText id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" android:digits="1234567890.+-*/%\n()" android:text="" /> <Button id="@+id/next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一个" /> <Button id="@+id/conn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="联网" /> <ImageView id="@+id/icon" android:layout_marginTop="40dip" android:layout_width="wrap_content"android:layout_height="wrap_content" /> </LinearLayout></ScrollView>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"><LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <EditText id="@+id/edittext" android:layout_width="200dip" android:layout_height="wrap_content" android:text="" /> <Button id="@+id/go" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查询" /> </LinearLayout> <ListView id="@id/android:list" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.firebow.android.hello"> <application android:icon="@drawable/icon"> <activity class=".HelloAndroid" android:label="@string/app_name"> <intent-filter> <action android:value="android.intent.action.MAIN" /> <category android:value="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity class=".AddressTable" android:label="@string/app_name"> <intent-filter> <action android:value="android.intent.action.MAIN" /> <category android:value="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest> |
|